[llvm] [SIFoldOperands] Folding immediate into a copy invalidates candidates in the fold list (PR #148187)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 11 03:52:05 PDT 2025
Juan Manuel Martinez =?utf-8?q?Caamaño?= <juamarti at amd.com>,
Juan Manuel Martinez =?utf-8?q?Caamaño?= <juamarti at amd.com>,
Juan Manuel Martinez =?utf-8?q?Caamaño?= <juamarti at amd.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/148187 at github.com>
================
@@ -0,0 +1,60 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
+; RUN: llc -O3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a %s -o - | FileCheck %s
+
+define amdgpu_kernel void @kernel() {
+; CHECK-LABEL: kernel:
+; CHECK: ; %bb.0: ; %entry
+; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: ds_read_b64 v[2:3], v0
+; CHECK-NEXT: ds_write_b32 v0, v0
+; CHECK-NEXT: s_waitcnt lgkmcnt(1)
+; CHECK-NEXT: v_cmp_ne_u32_e32 vcc, 2, v2
+; CHECK-NEXT: s_cbranch_vccnz .LBB0_3
+; CHECK-NEXT: ; %bb.1: ; %land.rhs49
+; CHECK-NEXT: ds_read_b64 v[0:1], v0
+; CHECK-NEXT: s_waitcnt lgkmcnt(0)
+; CHECK-NEXT: v_cmp_ne_u32_e32 vcc, 1, v0
+; CHECK-NEXT: s_cbranch_vccnz .LBB0_3
+; CHECK-NEXT: ; %bb.2: ; %land.rhs57
+; CHECK-NEXT: s_mov_b32 s0, 0
+; CHECK-NEXT: s_mov_b32 s1, s0
+; CHECK-NEXT: v_mov_b32_e32 v2, 0
+; CHECK-NEXT: v_pk_mov_b32 v[0:1], s[0:1], s[0:1] op_sel:[0,1]
+; CHECK-NEXT: s_cmp_lg_u32 s0, 0
+; CHECK-NEXT: ds_write_b64 v2, v[0:1]
+; CHECK-NEXT: .LBB0_3: ; %land.end59
+; CHECK-NEXT: s_endpgm
+entry:
+ %0 = load <2 x i32>, ptr addrspace(3) null, align 8
----------------
arsenm wrote:
Prefer to avoid null use
https://github.com/llvm/llvm-project/pull/148187
More information about the llvm-commits
mailing list