Umbrella tracker for the comgr HotSwap work that rewrites GFX1250 code objects for B0-to-A0 cross-stepping execution. Collects the open infra/cleanup issues spun out of the HotSwap PR stack, the high-priority in-flight rewrite PRs, foundational landed work, and reference docs. Scope is AMD-fork-specific (amd/comgr); labels: comgr, hotswap.
Foundational PRs (HotSwap infrastructure stack)
High-priority pending PRs
Open infra / cleanup issues
Each carries granular background, a concrete proposal, and the source files / review thread it came from.
Landed work
Merged comgr/hotswap PRs: is:pr is:merged label:comgr label:hotswap
Done when
Umbrella tracker for the comgr HotSwap work that rewrites GFX1250 code objects for B0-to-A0 cross-stepping execution. Collects the open infra/cleanup issues spun out of the HotSwap PR stack, the high-priority in-flight rewrite PRs, foundational landed work, and reference docs. Scope is AMD-fork-specific (
amd/comgr); labels:comgr,hotswap.Foundational PRs (HotSwap infrastructure stack)
High-priority pending PRs
Open infra / cleanup issues
Each carries granular background, a concrete proposal, and the source files / review thread it came from.
comgr-hotswap-b0a0.cpphardcodesGfx1250VgprGranuleSize = 8/Gfx1250SgprGranuleSize = 16; these already exist in LLVM (AMDGPU::IsaInfo::get{VGPR,SGPR}AllocGranule) but only in the target-internalAMDGPUBaseInfo.h. Promote the getters to a public header (or add AMDHSA helpers), then driveRewriteConfig::{Vgpr,Sgpr}GranuleSizefrom the parsed ISA. (from PR [AMDGPU] comgr: add HotSwap B0-to-A0 policy and public API (3/3) #2203 review; cc @chinmaydd @lamb-j)DisassemblyInfoand hotswapLLVMState.comgr-disassembly.cppandcomgr-hotswap-llvm.cppbuild near-identical per-ISAMC*object bundles. Extract a commonComgrMCToolchainstruct both embed (DisassemblyInfo adds MIA+callbacks; LLVMState adds MOFI+MCE). (from PR [AMDGPU] comgr: add HotSwap MC/LLVM infrastructure (2/3) #2202 review; @lamb-j to help on disassembly side)s_branchoffset encoding constants to public LLVM headers. HotSwap locally definesBranchOffsetMin/Max/Maskincomgr-hotswap-internal.h; expose via an inlinellvm::AMDGPU::getSBranchOffsetRange()+SBranchOffsetMask(TargetParser.h or a new BinaryFormat/AMDGPU.h), then drop the locals. (from PR [AMDGPU] comgr: add HotSwap ELF infrastructure (1/3) #2201 review; can combine with comgr: upstream AMDGPU note-owner / ISA-version-note constants to public LLVM headers #2225)comgr-utilsmodule. MoveextractCpu()andencodeSBranch()out ofCOMGR::hotswapinto a newCOMGR::utils(comgr-utils.{h,cpp}, public-LLVM-only deps), update call sites incomgr-hotswap-llvm.cpp/comgr-hotswap-b0a0.cpp, relocate gtests. (from PR [AMDGPU] comgr: add HotSwap ELF infrastructure (1/3) #2201 review)kAmdgpuNoteOwner = "AMDGPU"andkNoteTypeIsaVersion = 27; upstreamNoteNameV3into a public BinaryFormat header and addNT_AMDGPU_ISA_VERSION (27)toELF.h, then drop the duplicates. (from PR [AMDGPU] comgr: add HotSwap ELF infrastructure (1/3) #2201 review; sibling of comgr: upstream AMDGPU SOPP s_branch offset encoding constants to public LLVM headers #2235)Landed work
Merged comgr/hotswap PRs: is:pr is:merged label:comgr label:hotswap
Done when