[clang] [llvm] [DSE] Make DSE eliminate stores to objects with a sized dead_on_return (PR #173694)
Aiden Grossman via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 23 07:02:31 PST 2026
================
@@ -886,5 +886,89 @@ define ptr @test_dead_on_return_ptr_returned(ptr dead_on_return %p) {
ret ptr %p
}
+define void @test_dead_on_return_oob(ptr dead_on_return(4) %p) {
+; CHECK-LABEL: @test_dead_on_return_oob(
+; CHECK-NEXT: [[LOCAL_VAR:%.*]] = alloca ptr, align 8
+; CHECK-NEXT: call void @opaque(ptr [[LOCAL_VAR]])
+; CHECK-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i64 8
+; CHECK-NEXT: store ptr [[LOCAL_VAR]], ptr [[P1]], align 8
+; CHECK-NEXT: ret void
+;
+ %local.var = alloca ptr
+ call void @opaque(ptr %local.var)
----------------
boomanaiden154 wrote:
Yes. Updated to just store constant integers (used `i64` since some of the cases were written with types of that bitwidth in mind).
https://github.com/llvm/llvm-project/pull/173694
More information about the cfe-commits
mailing list