Skip to content

[Fix for Big Fortran SDFGs] Fix/framecode allocation placement - #2640

Merged
acalotoiu merged 5 commits into
mainfrom
fix/framecode-allocation-placement
Oct 3, 2026
Merged

acalotoiu merged 5 commits into
mainfrom
fix/framecode-allocation-placement

Conversation

@ThrudPrimrose

Copy link
Copy Markdown
Collaborator

No description provided.

ThrudPrimrose and others added 5 commits October 2, 2026 13:10
A transient sized by a symbol that an interstate edge assigns is allocated at the dominator of
its accesses. When that dominator only dominates them and its only outgoing edge carries the
assignment and enters a control flow region, the allocation was emitted at the start of the
dominator, before the symbol was assigned, and the array got an undefined size. The block the
edge leads to now allocates the data, and a control flow region allocates on entry what it is
the scope of.

The deallocation at a postdominating region was never emitted, so the array leaked. A region
now deallocates on exit what it is the scope of.
ThrudPrimrose added a commit that referenced this pull request Oct 3, 2026
A size scalar used as an extent is read through a symbol on an interstate edge (one fresh symbol per
shape), and size-1 dimensions are squeezed consistently through matmul, gemm and transpose. Allocation
placement relies on #2640, so no extra bracketing pass is needed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@acalotoiu acalotoiu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@acalotoiu
acalotoiu added this pull request to the merge queue Oct 3, 2026
Merged via the queue into main with commit 89a05d6 Oct 3, 2026
18 of 19 checks passed
@acalotoiu
acalotoiu deleted the fix/framecode-allocation-placement branch October 3, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants