[clang] [llvm] [ObjC][LTO] Propagate constant ivar offsets across ThinLTO and FullLTO (PR #205970)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 1 08:51:17 PDT 2026
github-actions[bot] wrote:
<!--LLVM IDS CHECK COMMENT-->
:warning: LLVM ABI annotation checker, ids-check found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
Build idt from compnerd/ids, then for each changed header:
idt -p build/ --main-file <matching-source.cpp> \
--apply-fixits --inplace <header>
``````````
</details>
<details>
<summary>
View the diff from ids-check here.
</summary>
``````````diff
diff --git a/llvm/include/llvm/IR/ObjCClassHierarchy.h b/llvm/include/llvm/IR/ObjCClassHierarchy.h
index e3b56b7e9..a800b29c1 100644
--- a/llvm/include/llvm/IR/ObjCClassHierarchy.h
+++ b/llvm/include/llvm/IR/ObjCClassHierarchy.h
@@ -37,13 +37,13 @@ public:
// Construct the resolved hierarchy from module IR. If ImportSummary is
// provided, use pre-resolved layout from the thin-link (ThinLTO path);
// otherwise resolve locally from the module alone (FullLTO path).
- explicit ObjCClassHierarchy(const Module &M,
+ LLVM_ABI explicit ObjCClassHierarchy(const Module &M,
const ModuleSummaryIndex *ImportSummary);
// Emit per-module ObjC class summary records during module summary analysis.
- static void exportToSummary(const Module &M, ModuleSummaryIndex &Index);
+ LLVM_ABI static void exportToSummary(const Module &M, ModuleSummaryIndex &Index);
// Pre-slide the hierarchy graph materialized in this map; unreachable classes are erased.
- static void resolveHierarchy(DenseMap<GlobalValue::GUID, ObjCClassInfo> &Classes);
+ LLVM_ABI static void resolveHierarchy(DenseMap<GlobalValue::GUID, ObjCClassInfo> &Classes);
ArrayRef<ResolvedClass> getResolvedClasses() const { return Resolved; }
bool empty() const { return Resolved.empty(); }
``````````
</details>
https://github.com/llvm/llvm-project/pull/205970
More information about the cfe-commits
mailing list