Skip to content

Commit 550522d

Browse files
authored
[AMDGPU][NFC] Mark GEPs in flat offset folding tests as inbounds (#165426)
This is in preparation for a patch that will only fold offsets into flat instructions if their addition is inbounds. Marking the GEPs inbounds here means that their output won't change with the later patch. Basically a retry of the very similar PR #131994, as part of an updated stack of PRs. For SWDEV-516125.
1 parent 4d4a60c commit 550522d

21 files changed

+1236
-1236
lines changed

llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
6262
; GFX90A-NEXT: successors: %bb.35(0x40000000), %bb.5(0x40000000)
6363
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41
6464
; GFX90A-NEXT: {{ $}}
65-
; GFX90A-NEXT: renamable $vgpr0_vgpr1 = V_LSHLREV_B64_e64 2, $vgpr4_vgpr5, implicit $exec
65+
; GFX90A-NEXT: renamable $vgpr0_vgpr1 = nsw V_LSHLREV_B64_e64 2, $vgpr4_vgpr5, implicit $exec
6666
; GFX90A-NEXT: renamable $vgpr2 = COPY renamable $sgpr25, implicit $exec
6767
; GFX90A-NEXT: renamable $vgpr46, renamable $vcc = V_ADD_CO_U32_e64 $sgpr24, $vgpr0, 0, implicit $exec
6868
; GFX90A-NEXT: renamable $vgpr47, dead renamable $vcc = V_ADDC_U32_e64 killed $vgpr2, killed $vgpr1, killed $vcc, 0, implicit $exec
@@ -958,7 +958,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
958958
; GFX90A-NEXT: successors: %bb.71(0x80000000)
959959
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $agpr0_agpr1:0x0000000000000003, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000C, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x000000000000000C, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000C, $vgpr26_vgpr27:0x000000000000000C, $vgpr28_vgpr29:0x000000000000000C, $vgpr32_vgpr33:0x000000000000000C, $vgpr34_vgpr35:0x0000000000000003, $vgpr36_vgpr37:0x0000000000000003, $vgpr38_vgpr39:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr48_vgpr49:0x0000000000000003, $vgpr50_vgpr51:0x0000000000000003, $vgpr52_vgpr53:0x0000000000000003, $vgpr54_vgpr55:0x0000000000000003, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
960960
; GFX90A-NEXT: {{ $}}
961-
; GFX90A-NEXT: renamable $vgpr4_vgpr5 = V_LSHLREV_B64_e64 3, killed $vgpr4_vgpr5, implicit $exec
961+
; GFX90A-NEXT: renamable $vgpr4_vgpr5 = nsw V_LSHLREV_B64_e64 3, killed $vgpr4_vgpr5, implicit $exec
962962
; GFX90A-NEXT: renamable $vgpr2 = COPY renamable $sgpr27, implicit $exec
963963
; GFX90A-NEXT: renamable $vgpr4, renamable $vcc = V_ADD_CO_U32_e64 killed $sgpr26, $vgpr4, 0, implicit $exec
964964
; GFX90A-NEXT: renamable $vgpr2, dead renamable $vcc = V_ADDC_U32_e64 killed $vgpr2, killed $vgpr5, killed $vcc, 0, implicit $exec
@@ -1006,12 +1006,12 @@ bb:
10061006
%i11 = icmp eq i32 %i, 0
10071007
%i12 = load i32, ptr addrspace(3) null, align 8
10081008
%i13 = zext i32 %i12 to i64
1009-
%i14 = getelementptr i32, ptr addrspace(1) %arg, i64 %i13
1009+
%i14 = getelementptr inbounds i32, ptr addrspace(1) %arg, i64 %i13
10101010
br i1 %arg3, label %bb15, label %bb103
10111011

10121012
bb15:
10131013
%i16 = zext i32 %i to i64
1014-
%i17 = getelementptr i32, ptr addrspace(1) %i14, i64 %i16
1014+
%i17 = getelementptr inbounds i32, ptr addrspace(1) %i14, i64 %i16
10151015
%i18 = ptrtoint ptr addrspace(1) %i17 to i64
10161016
br i1 %arg4, label %bb19, label %bb20
10171017

@@ -1020,7 +1020,7 @@ bb19:
10201020
unreachable
10211021

10221022
bb20:
1023-
%i21 = getelementptr i32, ptr addrspace(1) %i17, i64 256
1023+
%i21 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 256
10241024
%i22 = ptrtoint ptr addrspace(1) %i21 to i64
10251025
%i23 = inttoptr i64 %i22 to ptr
10261026
%i24 = load i8, ptr %i23, align 1
@@ -1032,7 +1032,7 @@ bb26:
10321032
unreachable
10331033

10341034
bb27:
1035-
%i28 = getelementptr i32, ptr addrspace(1) %i17, i64 512
1035+
%i28 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 512
10361036
%i29 = ptrtoint ptr addrspace(1) %i28 to i64
10371037
%i30 = inttoptr i64 %i29 to ptr
10381038
%i31 = load i8, ptr %i30, align 1
@@ -1044,7 +1044,7 @@ bb33:
10441044
unreachable
10451045

10461046
bb34:
1047-
%i35 = getelementptr i32, ptr addrspace(1) %i17, i64 768
1047+
%i35 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 768
10481048
%i36 = ptrtoint ptr addrspace(1) %i35 to i64
10491049
%i37 = inttoptr i64 %i36 to ptr
10501050
%i38 = load i8, ptr %i37, align 1
@@ -1056,7 +1056,7 @@ bb40:
10561056
unreachable
10571057

10581058
bb41:
1059-
%i42 = getelementptr i32, ptr addrspace(1) %i17, i64 1024
1059+
%i42 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 1024
10601060
%i43 = ptrtoint ptr addrspace(1) %i42 to i64
10611061
%i44 = inttoptr i64 %i43 to ptr
10621062
%i45 = load i8, ptr %i44, align 1
@@ -1068,7 +1068,7 @@ bb47:
10681068
unreachable
10691069

10701070
bb48:
1071-
%i49 = getelementptr i32, ptr addrspace(1) %i17, i64 1280
1071+
%i49 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 1280
10721072
%i50 = ptrtoint ptr addrspace(1) %i49 to i64
10731073
%i51 = inttoptr i64 %i50 to ptr
10741074
%i52 = load i8, ptr %i51, align 1
@@ -1080,7 +1080,7 @@ bb54:
10801080
unreachable
10811081

10821082
bb55:
1083-
%i56 = getelementptr i32, ptr addrspace(1) %i17, i64 1536
1083+
%i56 = getelementptr inbounds i32, ptr addrspace(1) %i17, i64 1536
10841084
%i57 = ptrtoint ptr addrspace(1) %i56 to i64
10851085
%i58 = or i64 %i57, 1
10861086
%i59 = inttoptr i64 %i58 to ptr
@@ -1112,7 +1112,7 @@ bb67:
11121112

11131113
bb68:
11141114
%i69 = zext i1 %arg5 to i8
1115-
%i70 = getelementptr [2 x i32], ptr addrspace(1) null, i64 %i16
1115+
%i70 = getelementptr inbounds [2 x i32], ptr addrspace(1) null, i64 %i16
11161116
%i71 = ptrtoint ptr addrspace(1) %i70 to i64
11171117
br i1 %arg5, label %bb72, label %bb73
11181118

@@ -1121,7 +1121,7 @@ bb72:
11211121
unreachable
11221122

11231123
bb73:
1124-
%i74 = getelementptr [2 x i32], ptr addrspace(1) %i70, i64 256
1124+
%i74 = getelementptr inbounds [2 x i32], ptr addrspace(1) %i70, i64 256
11251125
%i75 = ptrtoint ptr addrspace(1) %i74 to i64
11261126
%i76 = inttoptr i64 %i75 to ptr
11271127
%i77 = load i8, ptr %i76, align 1
@@ -1133,7 +1133,7 @@ bb79:
11331133
unreachable
11341134

11351135
bb80:
1136-
%i81 = getelementptr [2 x i32], ptr addrspace(1) %i70, i64 512
1136+
%i81 = getelementptr inbounds [2 x i32], ptr addrspace(1) %i70, i64 512
11371137
%i82 = ptrtoint ptr addrspace(1) %i81 to i64
11381138
%i83 = or i64 %i82, 1
11391139
br i1 %arg6, label %bb84, label %bb85
@@ -1268,7 +1268,7 @@ bb174:
12681268
%i182 = select i1 %arg3, i32 %i181, i32 0
12691269
%i183 = or i32 %i182, %i154
12701270
%i184 = or i32 %i183, %i156
1271-
%i185 = getelementptr [2 x i32], ptr addrspace(1) %arg1, i64 %i13
1271+
%i185 = getelementptr inbounds [2 x i32], ptr addrspace(1) %arg1, i64 %i13
12721272
br i1 %arg3, label %bb186, label %bb196
12731273

12741274
bb186:

0 commit comments

Comments
 (0)