[clang] [llvm] [ObjC][LTO] Propagate constant ivar offsets across ThinLTO and FullLTO (PR #205970)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 8 07:43:17 PDT 2026
================
@@ -0,0 +1,141 @@
+; Test cross-module ThinLTO sliding when Sub's compile-time instanceStart
+; is stale due to Super's hidden extension ivar.
+;
+; Hierarchy:
+; NSObject
+; `- Super
+; int x; // x at offset 8
+; int hidden; // hidden at offset 12 (extension)
+; `- Sub
+; int y; // y compiled at 12, slid to 16
+;
+; RUN: rm -rf %t && split-file %s %t
+; RUN: opt -module-summary %t/sub.ll -o %t/sub.bc
+; RUN: opt -module-summary %t/super.ll -o %t/super.bc
+; RUN: llvm-lto2 run %t/sub.bc %t/super.bc -save-temps -o %t/out \
+; RUN: -r=%t/sub.bc,_OBJC_CLASS_$_Sub,plx \
----------------
arsenm wrote:
This is a lot of inputs
https://github.com/llvm/llvm-project/pull/205970
More information about the cfe-commits
mailing list