[comgr][hotswap] scale hotswap rewrites for large code objects (amd-staging companion)#3374
Merged
Merged
Conversation
harsh-amd
force-pushed
the
users/harsh/comgr-hotswap-large-objects
branch
2 times, most recently
from
July 14, 2026 19:30
5f77163 to
fae9307
Compare
harsh-amd
enabled auto-merge (squash)
July 14, 2026 21:17
harsh-amd
disabled auto-merge
July 14, 2026 21:17
harsh-amd
enabled auto-merge (rebase)
July 14, 2026 21:22
harsh-amd
disabled auto-merge
July 14, 2026 21:23
Route far trampoline edges through SCC-aware set-PC sequences, allocate safe SGPR scratch, coalesce adjacent sites, and synthesize forward branch islands. Add LIT coverage for DS, WMMA, device-function, and island cases plus MC unit coverage that verifies no s_add_pc_i64 return edge is emitted.
Cache ELF metadata, function ranges, descriptor lookups, and SGPR usage; track queued trampoline bytes incrementally so multi-megabyte objects avoid repeated full scans. Extend the large branch-island LIT fixture and ELF/MC unit coverage for cache coherence and layout accounting.
harsh-amd
force-pushed
the
users/harsh/comgr-hotswap-large-objects
branch
from
July 14, 2026 21:32
fae9307 to
67ad8fc
Compare
harsh-amd
enabled auto-merge (rebase)
July 14, 2026 22:16
ronlieb
approved these changes
Jul 15, 2026
ronlieb
disabled auto-merge
July 15, 2026 00:55
ronlieb
approved these changes
Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Direct-to-
amd-stagingcompanion for the focused stacked review in #3348.This PR exists so the full
amd-stagingCI workflows evaluate the cumulativeremaining stack through #3348. #3345 and #3346 are already merged. Please use #3348 for
review of the large-object scaling patch itself; its base is #3347 so that
focused diff contains only one stack entry.
Included stack
This companion should not merge before #3347. When #3347 lands in
amd-staging, GitHub will reduce this PR to the remaining focused change.Local validation
amd-stagingafter [comgr][hotswap] make gfx1250 semantic rewrites fail-safe #3346 was squash-mergedgit range-diffconfirms every reviewed patch is unchanged, and the old andrebased
amd/comgrtrees are identicalgit-clang-format --diffis clean; both rewritten formatter checks pass in CIcheck-comgrat the final rebased stack tip: all unit tests, 97/97supported LIT tests (11 unsupported), and 31/31 CTests passed
tests passed
Resolved external CI issue
The previous
Linux::release / Buildfailure occurred after LLVM and COMGRbuilt successfully, in the separately checked-out rocm-systems
developbranch while compiling libhsakmt:
_GNU_SOURCEwas defined after systemheaders, leaving
secure_getenvundeclared. The approved upstream fix isROCm/rocm-systems#8555, which has now merged. No llvm-project source change was
needed; the newly triggered Linux job includes that upstream fix.