Skip to content

[Comgr][hotswap] Add bare-bones hotswap transpiler scaffolding#2430

Closed
tgymnich wants to merge 1 commit into
ROCm:amd-stagingfrom
martin-luecke:hotswap-pr-01-scaffolding
Closed

[Comgr][hotswap] Add bare-bones hotswap transpiler scaffolding#2430
tgymnich wants to merge 1 commit into
ROCm:amd-stagingfrom
martin-luecke:hotswap-pr-01-scaffolding

Conversation

@tgymnich
Copy link
Copy Markdown

@tgymnich tgymnich commented May 6, 2026

Lands the minimal scaffolding
needed to build a hotswap-transpiler static library:

  • raiser.{hpp,cpp}raiseToIR() entry point. The implementation creates an llvm::Module with a single ret void AMDGPU kernel function for any input. ELF ingestion, MC disassembly and the per-format raise handlers land in subsequent patches.
  • raise_failure.{hpp,cpp} — structured failure values consumed by RaiseResult::failure.
  • code_object_utils.hppKernelMeta struct used in the raiseToIR signature.
  • Minimal CMakeLists.txt linking only LLVMCore, LLVMSupport, LLVMTargetParser. The full library/include surface grows incrementally as later patches need it.
  • tests/raiser_empty_module_test.cpp (gtest) verifies the scaffolding contract: an empty input produces a well-formed module with one AMDGPU_KERNEL function whose body is ret void.

@z1-cciauto
Copy link
Copy Markdown
Collaborator

Lands the minimal scaffolding
needed to build a `hotswap-transpiler` static library:

  * `raiser.{hpp,cpp}` — `raiseToIR()` entry point. The implementation
    creates an `llvm::Module` with a single `ret void` AMDGPU kernel
    function for any input. ELF ingestion, MC disassembly and the
    per-format raise handlers land in subsequent patches.
  * `raise_failure.{hpp,cpp}` — structured failure values consumed by
    `RaiseResult::failure`.
  * `code_object_utils.hpp` — `KernelMeta` struct used in the
    `raiseToIR` signature.
  * Minimal `CMakeLists.txt` linking only `LLVMCore`, `LLVMSupport`,
    `LLVMTargetParser`. The full library/include surface grows
    incrementally as later patches need it.
  * `tests/raiser_empty_module_test.cpp` (gtest) verifies the
    scaffolding contract: an empty input produces a well-formed
    module with one `AMDGPU_KERNEL` function whose body is `ret void`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tgymnich tgymnich force-pushed the hotswap-pr-01-scaffolding branch from d6a0046 to 2675e92 Compare May 7, 2026 12:07
@z1-cciauto
Copy link
Copy Markdown
Collaborator

@chinmaydd chinmaydd added comgr Related to Code Object Manager hotswap Related to the Comgr Hotswap feature labels May 7, 2026
@tgymnich
Copy link
Copy Markdown
Author

tgymnich commented May 7, 2026

replace by #2438 to enable proper PR stacking.

@tgymnich tgymnich closed this May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comgr Related to Code Object Manager hotswap Related to the Comgr Hotswap feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants