@@ -1062,10 +1062,10 @@ define { <3 x i32>, i32 } @v3i32_struct_func_void_wasted_reg() #0 {
10621062 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
10631063 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 2
10641064 ; CHECK-NEXT: [[DEF2:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
1065- ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1066- ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1067- ; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1068- ; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1065+ ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1066+ ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1067+ ; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1068+ ; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
10691069 ; CHECK-NEXT: [[IVEC:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[DEF1]], [[LOAD]](s32), [[C]](s32)
10701070 ; CHECK-NEXT: [[IVEC1:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[IVEC]], [[LOAD1]](s32), [[C1]](s32)
10711071 ; CHECK-NEXT: [[IVEC2:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[IVEC1]], [[LOAD2]](s32), [[C2]](s32)
@@ -1075,10 +1075,10 @@ define { <3 x i32>, i32 } @v3i32_struct_func_void_wasted_reg() #0 {
10751075 ; CHECK-NEXT: $vgpr2 = COPY [[UV2]](s32)
10761076 ; CHECK-NEXT: $vgpr3 = COPY [[LOAD3]](s32)
10771077 ; CHECK-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1, implicit $vgpr2, implicit $vgpr3
1078- %load0 = load volatile i32 , ptr addrspace (3 ) undef
1079- %load1 = load volatile i32 , ptr addrspace (3 ) undef
1080- %load2 = load volatile i32 , ptr addrspace (3 ) undef
1081- %load3 = load volatile i32 , ptr addrspace (3 ) undef
1078+ %load0 = load volatile i32 , ptr addrspace (3 ) poison
1079+ %load1 = load volatile i32 , ptr addrspace (3 ) poison
1080+ %load2 = load volatile i32 , ptr addrspace (3 ) poison
1081+ %load3 = load volatile i32 , ptr addrspace (3 ) poison
10821082
10831083 %insert.0 = insertelement <3 x i32 > poison, i32 %load0 , i32 0
10841084 %insert.1 = insertelement <3 x i32 > %insert.0 , i32 %load1 , i32 1
@@ -1097,10 +1097,10 @@ define { <3 x float>, i32 } @v3f32_struct_func_void_wasted_reg() #0 {
10971097 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
10981098 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 2
10991099 ; CHECK-NEXT: [[DEF2:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
1100- ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1101- ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1102- ; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1103- ; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) undef `, addrspace 3)
1100+ ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1101+ ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1102+ ; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
1103+ ; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p3) :: (volatile load (s32) from `ptr addrspace(3) poison `, addrspace 3)
11041104 ; CHECK-NEXT: [[IVEC:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[DEF1]], [[LOAD]](s32), [[C]](s32)
11051105 ; CHECK-NEXT: [[IVEC1:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[IVEC]], [[LOAD1]](s32), [[C1]](s32)
11061106 ; CHECK-NEXT: [[IVEC2:%[0-9]+]]:_(<3 x s32>) = G_INSERT_VECTOR_ELT [[IVEC1]], [[LOAD2]](s32), [[C2]](s32)
@@ -1110,10 +1110,10 @@ define { <3 x float>, i32 } @v3f32_struct_func_void_wasted_reg() #0 {
11101110 ; CHECK-NEXT: $vgpr2 = COPY [[UV2]](s32)
11111111 ; CHECK-NEXT: $vgpr3 = COPY [[LOAD3]](s32)
11121112 ; CHECK-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1, implicit $vgpr2, implicit $vgpr3
1113- %load0 = load volatile float , ptr addrspace (3 ) undef
1114- %load1 = load volatile float , ptr addrspace (3 ) undef
1115- %load2 = load volatile float , ptr addrspace (3 ) undef
1116- %load3 = load volatile i32 , ptr addrspace (3 ) undef
1113+ %load0 = load volatile float , ptr addrspace (3 ) poison
1114+ %load1 = load volatile float , ptr addrspace (3 ) poison
1115+ %load2 = load volatile float , ptr addrspace (3 ) poison
1116+ %load3 = load volatile i32 , ptr addrspace (3 ) poison
11171117
11181118 %insert.0 = insertelement <3 x float > poison, float %load0 , i32 0
11191119 %insert.1 = insertelement <3 x float > %insert.0 , float %load1 , i32 1
@@ -1137,19 +1137,19 @@ define void @void_func_sret_max_known_zero_bits(ptr addrspace(5) sret(i8) %arg0)
11371137 ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[PTRTOINT]], [[C]](s32)
11381138 ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s32) = G_LSHR [[PTRTOINT]], [[C1]](s32)
11391139 ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s32) = G_LSHR [[PTRTOINT]], [[C2]](s32)
1140- ; CHECK-NEXT: G_STORE [[LSHR]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) undef `, addrspace 3)
1141- ; CHECK-NEXT: G_STORE [[LSHR1]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) undef `, addrspace 3)
1142- ; CHECK-NEXT: G_STORE [[LSHR2]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) undef `, addrspace 3)
1140+ ; CHECK-NEXT: G_STORE [[LSHR]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) poison `, addrspace 3)
1141+ ; CHECK-NEXT: G_STORE [[LSHR1]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) poison `, addrspace 3)
1142+ ; CHECK-NEXT: G_STORE [[LSHR2]](s32), [[DEF]](p3) :: (volatile store (s32) into `ptr addrspace(3) poison `, addrspace 3)
11431143 ; CHECK-NEXT: SI_RETURN
11441144 %arg0.int = ptrtoint ptr addrspace (5 ) %arg0 to i32
11451145
11461146 %lshr0 = lshr i32 %arg0.int , 16
11471147 %lshr1 = lshr i32 %arg0.int , 17
11481148 %lshr2 = lshr i32 %arg0.int , 18
11491149
1150- store volatile i32 %lshr0 , ptr addrspace (3 ) undef
1151- store volatile i32 %lshr1 , ptr addrspace (3 ) undef
1152- store volatile i32 %lshr2 , ptr addrspace (3 ) undef
1150+ store volatile i32 %lshr0 , ptr addrspace (3 ) poison
1151+ store volatile i32 %lshr1 , ptr addrspace (3 ) poison
1152+ store volatile i32 %lshr2 , ptr addrspace (3 ) poison
11531153 ret void
11541154}
11551155
0 commit comments