Bump compiler/amd-llvm with hotswap COMGR cherry-picks#5966
Closed
suryajasper wants to merge 2 commits into
Closed
Bump compiler/amd-llvm with hotswap COMGR cherry-picks#5966suryajasper wants to merge 2 commits into
suryajasper wants to merge 2 commits into
Conversation
Update compiler/amd-llvm to users/sujasper/therock-hotswap-cherrypick-v2: TheRock main pin (2abe93d58c8) + 19 cherry-picked hotswap COMGR commits from amd-staging. The LLVM/Clang/LLD compiler baseline is unchanged. Cherry-picked commits (oldest first): 1. fb7d9a433cd9 [Comgr] Guard operand access in bumpNextWaitDscnt (ROCm#2476) 2. 75c6512d6baa [AMDGPU] comgr: WMMA instruction splitting (ROCm#2379) 3. 7587b27c7078 [Comgr][hotswap] Transpiler scaffolding (ROCm#2438) — adds COMGR_ENABLE_HOTSWAP_TRANSPILE option and src/hotswap/ subdir 4. dc693256ad2c [AMDGPU] comgr: Dispatcher vtable + .def registry (ROCm#2491) 5. 7fee2c7f8cc1 [AMDGPU] comgr: Tensor load trampoline patches (ROCm#2370) 6. 3b177f1c39b4 [AMDGPU] comgr: Preserve drain s_wait_dscnt (ROCm#2584) 7. 4e092e80d6ef [AMDGPU] comgr: ElfView::getKernelLdsSize helper (ROCm#2583) 8. aac106b7146e [AMDGPU] comgr: DS_ADDTID trampoline patch (ROCm#2302) 9. 412f238f2435 [AMDGPU] comgr: Split non-stride64 DS 2-addr ops (ROCm#2281) 10. 52000a48805a [AMDGPU] comgr: F32 <-> UE5M3 scratch patches (ROCm#2328) 11. 4299d1f6e6c5 [NFC][Comgr][Hotswap] Use find_last_unset_in (ROCm#2844) 12. 42ece7d0b405 [AMDGPU] comgr: Scaled WMMA scratch patches (ROCm#2731) 13. 1e764caf137a [AMDGPU] comgr: Read SGPR from msgpack metadata (ROCm#2873) 14. da9e9b4749ae [Comgr][hotswap][test] Shared ELF test helper (ROCm#2929) 15. cdc39e017156 [Comgr][hotswap] HSA_TOOLS_LIB runtime tool (ROCm#2936) 16. 19b1bfadeb12 [Comgr][hotswap] Drain after ds_*_2addr split (ROCm#2945) 17. d31eb22b0d18 [Comgr][hotswap] Skip cluster_load SADDR (ROCm#2947) 18. 840a2a0fe321 [Comgr] Add missing deps to hotswap unit-tests (ROCm#2956) 19. 2ad4c8ac0d5d Fix LLVM include paths in RaiserScaffoldingTests (ROCm#2526) All commits are already merged upstream on amd-staging. Only amd/comgr/ files are touched — no LLVM, Clang, or LLD changes. The hotswap patcher is inert on non-gfx1250 targets (gfx942 CI tests are unaffected). Validated locally on MI300X (gfx942): 50/50 hotswap lit tests pass. Co-Authored-By: Claude <noreply@anthropic.com>
lamb-j
approved these changes
Jun 18, 2026
lamb-j
left a comment
Contributor
There was a problem hiding this comment.
This prepares the A0-B0 portion of hotswap.
This is currently flag-gated to OFF by default. A follow-up PR to TheRock will turn things ON
Cherry-pick ROCm/llvm-project#2964 onto the hotswap branch: replaces llvm::StringRef and llvm::ELF usage in comgr-hotswap-tool-detect.h with std::string and raw ELF constants. This ensures the hotswap tool can dlopen cleanly when COMGR is built with fully-hidden static LLVM symbols. Co-Authored-By: Claude <noreply@anthropic.com>
1 task
Closed
5 tasks
Contributor
|
See #5989 |
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.
Summary
Cherry-pick 19 hotswap COMGR commits from
amd-stagingonto TheRock'scurrent
compiler/amd-llvmpin (2abe93d58c8). The LLVM/Clang/LLDcompiler baseline is unchanged — only
amd/comgr/files are modified.The branch
users/sujasper/therock-hotswap-cherrypick-v2onROCm/llvm-projectcontains the cherry-picks. A follow-up PR will bumprocm-systemsand add theTHEROCK_BUILD_COMGR_HOTSWAPoption toactually enable the hotswap build.
What is HotSwap?
HotSwap is an AMDGPU binary translation system in COMGR that rewrites
GPU kernel code objects at load time for gfx1250 B0-to-A0 stepping
compatibility. The patcher is inert on non-gfx1250 targets — gfx942
CI tests are unaffected.
Cherry-picked commits
All 19 commits are already merged upstream on
amd-staging:fb7d9a433cd975c6512d6baa7587b27c7078COMGR_ENABLE_HOTSWAP_TRANSPILEoptiondc693256ad2c.defregistry, Windows support7fee2c7f8cc13b177f1c39b44e092e80d6efaac106b7146e412f238f243552000a48805a4299d1f6e6c5find_last_unset_in42ece7d0b4051e764caf137ada9e9b4749aecdc39e01715619b1bfadeb12d31eb22b0d18840a2a0fe3212ad4c8ac0d5dWhy cherry-pick instead of bumping to amd-staging HEAD?
amd-stagingis ~5800 commits ahead of TheRock's current pin. A previousattempt (PR #5949) showed that the full bump introduces intractable test
regressions (hipRTC
clearLLVMOptions()bug, SPIRV translatorincompatibility) unrelated to hotswap. Cherry-picking keeps the compiler
baseline identical and isolates validation to just the hotswap code.
Local validation (MI300X, gfx942)
COMGR_ENABLE_HOTSWAP_TRANSPILE=ONandHOTSWAP_BUILD_TOOL=ONlibamd_comgr.soandlibamd_comgr_hotswap_tool.soproducedTest plan
compiler-runtimestage builds successfullyruntime-testsstage builds successfully🤖 Generated with Claude Code