[llvm] [llubi] Poison object contents in `llvm.lifetime.end` (PR #206036)

Antonio Frighetto via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 26 04:56:14 PDT 2026


================
@@ -51,6 +51,16 @@ define void @main() {
   %prov_copy = load ptr, ptr %prov_dst, align 8
   store i8 0, ptr %prov_copy, align 1
 
+  %dead_src = alloca [4 x i8], align 1
+  %dead_dst = alloca [4 x i8], align 1
+  call void @llvm.lifetime.start.p0(ptr %dead_src)
+  call void @llvm.memset.p0.i8(ptr %dead_src, i8 51, i8 4, i1 false)
+  call void @llvm.lifetime.end.p0(ptr %dead_src)
+  call void @llvm.memcpy.p0.p0.i8(ptr %dead_dst, ptr %dead_src, i8 4, i1 false)
+  %dead_copy = load i32, ptr %dead_dst, align 1
----------------
antoniofrighetto wrote:

Should we also test GEPs into dead memory (maybe followed by a store)?

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


More information about the llvm-commits mailing list