Skip to content

compiler: Remove IET visitor result memoization - #3039

Merged
FabioLuporini merged 1 commit into
mainfrom
fix-memleak
Oct 1, 2026
Merged

FabioLuporini merged 1 commit into
mainfrom
fix-memleak

Conversation

@FabioLuporini

Copy link
Copy Markdown
Contributor

Cached results and cache partitions can keep temporary IET roots alive despite weak cache keys. Remove shared result memoization from FindNodes, FindSymbols and FindApplications, along with the unused helper and the redundant FindWithin.visit override.

Add regression coverage for root and child retention, scope query targets, returned back-references, repeated visits, subclasses and copied Operators.

For a space-order-16 3D TTI Born Operator, six paired runs changed median construction and code generation from 21.18s to 21.24s with identical C.

@codecov

codecov Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.13%. Comparing base (1069c63) to head (eae0039).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3039      +/-   ##
==========================================
+ Coverage   83.99%   84.13%   +0.14%     
==========================================
  Files         258      258              
  Lines       56422    56449      +27     
  Branches     4815     4817       +2     
==========================================
+ Hits        47389    47491     +102     
+ Misses       8203     8135      -68     
+ Partials      830      823       -7     
Flag Coverage Δ
pytest-gpu-aomp-amdgpuX 68.66% <ø> (+<0.01%) ⬆️
pytest-gpu-gcc- 78.83% <100.00%> (+0.01%) ⬆️
pytest-gpu-icx- 78.74% <100.00%> (+0.01%) ⬆️
pytest-gpu-nvc-nvidiaX 69.19% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Cached results and cache partitions can keep temporary IET roots alive
despite weak cache keys. Remove shared result memoization from FindNodes,
FindSymbols and FindApplications, along with the unused helper and the
redundant FindWithin.visit override.

Add regression coverage for root and child retention, scope query targets,
returned back-references, repeated visits, subclasses and copied Operators.

For a space-order-16 3D TTI Born Operator, six paired runs changed median
construction and code generation from 21.18s to 21.24s with identical C.
@FabioLuporini
FabioLuporini merged commit 64d15c5 into main Oct 1, 2026
42 checks passed
@FabioLuporini
FabioLuporini deleted the fix-memleak branch October 1, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants