[llvm] [RFC][ThinLTO][AMDGPU] Add `AMDGPU_SUMMARY` bitcode block for ThinLTO (PR #194545)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 28 18:08:53 PDT 2026


================
@@ -8695,6 +8695,88 @@ Error BitcodeModule::readSummary(
   return R.parseModule();
 }
 
+Expected<bool> BitcodeModule::readAMDGPUSummary(AMDGPU::SummaryMap &Summaries) {
+  BitstreamCursor Stream(Buffer);
+  if (Error JumpFailed = Stream.JumpToBit(ModuleBit))
+    return std::move(JumpFailed);
+
+  if (Error Err = Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID))
+    return std::move(Err);
+
+  // Scan sub-blocks to find AMDGPU_SUMMARY_BLOCK_ID.
+  while (true) {
+    Expected<llvm::BitstreamEntry> MaybeEntry = Stream.advance();
+    if (!MaybeEntry)
+      return MaybeEntry.takeError();
+    BitstreamEntry Entry = MaybeEntry.get();
+
+    switch (Entry.Kind) {
+    case BitstreamEntry::Error:
+      return error("Malformed block");
----------------
shiltian wrote:

I also added this rule to the developer guideline. :-)

https://github.com/llvm/llvm-project/pull/194545


More information about the llvm-commits mailing list