[llvm] [AMDGPU] Drop noundef when folding update.dpp old operand to poison (PR #223914)

Arseniy Obolenskiy via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 4 21:32:46 PDT 2026


================
@@ -2261,6 +2261,17 @@ define amdgpu_kernel void @update_dpp_drop_old(ptr addrspace(1) %out, i32 %in1,
   ret void
 }
 
+define amdgpu_kernel void @update_dpp_drop_old_noundef(ptr addrspace(1) %out, i32 %in1, i32 %in2) {
+; CHECK-LABEL: @update_dpp_drop_old_noundef(
+; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @llvm.amdgcn.update.dpp.i32(i32 poison, i32 [[IN2:%.*]], i32 3, i32 15, i32 15, i1 true)
+; CHECK-NEXT:    store i32 [[TMP0]], ptr addrspace(1) [[OUT:%.*]], align 4
+; CHECK-NEXT:    ret void
+;
+  %tmp0 = call i32 @llvm.amdgcn.update.dpp.i32(i32 noundef %in1, i32 %in2, i32 3, i32 15, i32 15, i1 1)
----------------
aobolensk wrote:

The intrinsic has no noundef, this one is on the call site

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


More information about the llvm-commits mailing list