Skip to content

Commit 730d05b

Browse files
committed
[InstCombine] Avoid tmp var conflicts in test (NFC)
1 parent 3e5f1a6 commit 730d05b

File tree

1 file changed

+63
-63
lines changed

1 file changed

+63
-63
lines changed

llvm/test/Transforms/InstCombine/gepphigep.ll

Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -6,124 +6,124 @@
66
%struct3 = type { i32, %struct4, %struct4 }
77
%struct4 = type { %struct2, %struct2 }
88

9-
define i32 @test1(ptr %dm, i1 %tmp4, i64 %tmp9, i64 %tmp19) {
9+
define i32 @test1(ptr %dm, i1 %c, i64 %idx1, i64 %idx2) {
1010
; CHECK-LABEL: @test1(
1111
; CHECK-NEXT: bb:
12-
; CHECK-NEXT: [[TMP1:%.*]] = load ptr, ptr [[DM:%.*]], align 8
13-
; CHECK-NEXT: br i1 [[TMP4:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
12+
; CHECK-NEXT: [[INST1:%.*]] = load ptr, ptr [[DM:%.*]], align 8
13+
; CHECK-NEXT: br i1 [[C:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
1414
; CHECK: bb1:
15-
; CHECK-NEXT: [[TMP10:%.*]] = getelementptr inbounds [[STRUCT2:%.*]], ptr [[TMP1]], i64 [[TMP9:%.*]]
16-
; CHECK-NEXT: store i32 0, ptr [[TMP10]], align 4
15+
; CHECK-NEXT: [[INST10:%.*]] = getelementptr inbounds [[STRUCT2:%.*]], ptr [[INST1]], i64 [[IDX1:%.*]]
16+
; CHECK-NEXT: store i32 0, ptr [[INST10]], align 4
1717
; CHECK-NEXT: br label [[BB3:%.*]]
1818
; CHECK: bb2:
19-
; CHECK-NEXT: [[TMP20:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[TMP1]], i64 [[TMP19:%.*]]
20-
; CHECK-NEXT: store i32 0, ptr [[TMP20]], align 4
19+
; CHECK-NEXT: [[INST20:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[INST1]], i64 [[IDX2:%.*]]
20+
; CHECK-NEXT: store i32 0, ptr [[INST20]], align 4
2121
; CHECK-NEXT: br label [[BB3]]
2222
; CHECK: bb3:
23-
; CHECK-NEXT: [[TMP0:%.*]] = phi i64 [ [[TMP9]], [[BB1]] ], [ [[TMP19]], [[BB2]] ]
24-
; CHECK-NEXT: [[TMP24:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[TMP1]], i64 [[TMP0]], i32 1
25-
; CHECK-NEXT: [[TMP25:%.*]] = load i32, ptr [[TMP24]], align 4
26-
; CHECK-NEXT: ret i32 [[TMP25]]
23+
; CHECK-NEXT: [[TMP0:%.*]] = phi i64 [ [[IDX1]], [[BB1]] ], [ [[IDX2]], [[BB2]] ]
24+
; CHECK-NEXT: [[INST24:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[INST1]], i64 [[TMP0]], i32 1
25+
; CHECK-NEXT: [[INST25:%.*]] = load i32, ptr [[INST24]], align 4
26+
; CHECK-NEXT: ret i32 [[INST25]]
2727
;
2828
bb:
29-
%tmp1 = load ptr, ptr %dm, align 8
30-
br i1 %tmp4, label %bb1, label %bb2
29+
%inst1 = load ptr, ptr %dm, align 8
30+
br i1 %c, label %bb1, label %bb2
3131

3232
bb1:
33-
%tmp10 = getelementptr inbounds %struct2, ptr %tmp1, i64 %tmp9
34-
store i32 0, ptr %tmp10, align 4
33+
%inst10 = getelementptr inbounds %struct2, ptr %inst1, i64 %idx1
34+
store i32 0, ptr %inst10, align 4
3535
br label %bb3
3636

3737
bb2:
38-
%tmp20 = getelementptr inbounds %struct2, ptr %tmp1, i64 %tmp19
39-
store i32 0, ptr %tmp20, align 4
38+
%inst20 = getelementptr inbounds %struct2, ptr %inst1, i64 %idx2
39+
store i32 0, ptr %inst20, align 4
4040
br label %bb3
4141

4242
bb3:
43-
%phi = phi ptr [ %tmp10, %bb1 ], [ %tmp20, %bb2 ]
44-
%tmp24 = getelementptr inbounds %struct2, ptr %phi, i64 0, i32 1
45-
%tmp25 = load i32, ptr %tmp24, align 4
46-
ret i32 %tmp25
43+
%phi = phi ptr [ %inst10, %bb1 ], [ %inst20, %bb2 ]
44+
%inst24 = getelementptr inbounds %struct2, ptr %phi, i64 0, i32 1
45+
%inst25 = load i32, ptr %inst24, align 4
46+
ret i32 %inst25
4747
}
4848

49-
define i32 @test2(ptr %dm, i1 %tmp4, i64 %tmp9, i64 %tmp19) {
49+
define i32 @test2(ptr %dm, i64 %idx1, i64 %idx2) {
5050
; CHECK-LABEL: @test2(
5151
; CHECK-NEXT: bb:
52-
; CHECK-NEXT: [[TMP1:%.*]] = load ptr, ptr [[DM:%.*]], align 8
53-
; CHECK-NEXT: [[TMP10:%.*]] = getelementptr inbounds [[STRUCT2:%.*]], ptr [[TMP1]], i64 [[TMP9:%.*]]
54-
; CHECK-NEXT: store i32 0, ptr [[TMP10]], align 4
55-
; CHECK-NEXT: [[TMP20:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[TMP1]], i64 [[TMP19:%.*]]
56-
; CHECK-NEXT: store i32 0, ptr [[TMP20]], align 4
57-
; CHECK-NEXT: [[TMP24:%.*]] = getelementptr inbounds nuw i8, ptr [[TMP10]], i64 4
58-
; CHECK-NEXT: [[TMP25:%.*]] = load i32, ptr [[TMP24]], align 4
59-
; CHECK-NEXT: ret i32 [[TMP25]]
52+
; CHECK-NEXT: [[INST1:%.*]] = load ptr, ptr [[DM:%.*]], align 8
53+
; CHECK-NEXT: [[INST10:%.*]] = getelementptr inbounds [[STRUCT2:%.*]], ptr [[INST1]], i64 [[IDX1:%.*]]
54+
; CHECK-NEXT: store i32 0, ptr [[INST10]], align 4
55+
; CHECK-NEXT: [[INST20:%.*]] = getelementptr inbounds [[STRUCT2]], ptr [[INST1]], i64 [[IDX2:%.*]]
56+
; CHECK-NEXT: store i32 0, ptr [[INST20]], align 4
57+
; CHECK-NEXT: [[INST24:%.*]] = getelementptr inbounds nuw i8, ptr [[INST10]], i64 4
58+
; CHECK-NEXT: [[INST25:%.*]] = load i32, ptr [[INST24]], align 4
59+
; CHECK-NEXT: ret i32 [[INST25]]
6060
;
6161
bb:
62-
%tmp1 = load ptr, ptr %dm, align 8
63-
%tmp10 = getelementptr inbounds %struct2, ptr %tmp1, i64 %tmp9
64-
store i32 0, ptr %tmp10, align 4
65-
%tmp20 = getelementptr inbounds %struct2, ptr %tmp1, i64 %tmp19
66-
store i32 0, ptr %tmp20, align 4
67-
%tmp24 = getelementptr inbounds %struct2, ptr %tmp10, i64 0, i32 1
68-
%tmp25 = load i32, ptr %tmp24, align 4
69-
ret i32 %tmp25
62+
%inst1 = load ptr, ptr %dm, align 8
63+
%inst10 = getelementptr inbounds %struct2, ptr %inst1, i64 %idx1
64+
store i32 0, ptr %inst10, align 4
65+
%inst20 = getelementptr inbounds %struct2, ptr %inst1, i64 %idx2
66+
store i32 0, ptr %inst20, align 4
67+
%inst24 = getelementptr inbounds %struct2, ptr %inst10, i64 0, i32 1
68+
%inst25 = load i32, ptr %inst24, align 4
69+
ret i32 %inst25
7070
}
7171

7272
; Check that instcombine doesn't insert GEPs before landingpad.
7373

74-
define i32 @test3(ptr %dm, i1 %tmp4, i64 %tmp9, i64 %tmp19, i64 %tmp20, i64 %tmp21) personality ptr @__gxx_personality_v0 {
74+
define i32 @test3(ptr %dm, i1 %c, i64 %idx1, i64 %idx2, i64 %idx3) personality ptr @__gxx_personality_v0 {
7575
; CHECK-LABEL: @test3(
7676
; CHECK-NEXT: bb:
77-
; CHECK-NEXT: br i1 [[TMP4:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
77+
; CHECK-NEXT: br i1 [[C:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
7878
; CHECK: bb1:
79-
; CHECK-NEXT: [[TMP1:%.*]] = getelementptr inbounds [[STRUCT3:%.*]], ptr [[DM:%.*]], i64 [[TMP19:%.*]], i32 1
80-
; CHECK-NEXT: store i32 0, ptr [[TMP1]], align 4
79+
; CHECK-NEXT: [[INST1:%.*]] = getelementptr inbounds [[STRUCT3:%.*]], ptr [[DM:%.*]], i64 [[IDX1:%.*]], i32 1
80+
; CHECK-NEXT: store i32 0, ptr [[INST1]], align 4
8181
; CHECK-NEXT: br label [[BB3:%.*]]
8282
; CHECK: bb2:
83-
; CHECK-NEXT: [[TMP12:%.*]] = getelementptr inbounds [[STRUCT3]], ptr [[DM]], i64 [[TMP20:%.*]], i32 1, i32 0, i32 1
84-
; CHECK-NEXT: store i32 0, ptr [[TMP12]], align 4
83+
; CHECK-NEXT: [[INST12:%.*]] = getelementptr inbounds [[STRUCT3]], ptr [[DM]], i64 [[IDX2:%.*]], i32 1, i32 0, i32 1
84+
; CHECK-NEXT: store i32 0, ptr [[INST12]], align 4
8585
; CHECK-NEXT: br label [[BB3]]
8686
; CHECK: bb3:
87-
; CHECK-NEXT: [[TMP0:%.*]] = phi i64 [ [[TMP19]], [[BB1]] ], [ [[TMP20]], [[BB2]] ]
88-
; CHECK-NEXT: [[TMP22:%.*]] = invoke i32 @foo1(i32 11)
87+
; CHECK-NEXT: [[TMP0:%.*]] = phi i64 [ [[IDX1]], [[BB1]] ], [ [[IDX2]], [[BB2]] ]
88+
; CHECK-NEXT: [[INST22:%.*]] = invoke i32 @foo1(i32 11)
8989
; CHECK-NEXT: to label [[BB4:%.*]] unwind label [[BB5:%.*]]
9090
; CHECK: bb4:
9191
; CHECK-NEXT: ret i32 0
9292
; CHECK: bb5:
93-
; CHECK-NEXT: [[TMP27:%.*]] = landingpad { ptr, i32 }
93+
; CHECK-NEXT: [[INST27:%.*]] = landingpad { ptr, i32 }
9494
; CHECK-NEXT: catch ptr @_ZTIi
9595
; CHECK-NEXT: [[TMP1:%.*]] = getelementptr inbounds [[STRUCT3]], ptr [[DM]], i64 [[TMP0]], i32 1
96-
; CHECK-NEXT: [[TMP35:%.*]] = getelementptr inbounds [[STRUCT4:%.*]], ptr [[TMP1]], i64 [[TMP21:%.*]], i32 1, i32 1
97-
; CHECK-NEXT: [[TMP25:%.*]] = load i32, ptr [[TMP35]], align 4
98-
; CHECK-NEXT: ret i32 [[TMP25]]
96+
; CHECK-NEXT: [[INST35:%.*]] = getelementptr inbounds [[STRUCT4:%.*]], ptr [[TMP1]], i64 [[IDX3:%.*]], i32 1, i32 1
97+
; CHECK-NEXT: [[INST25:%.*]] = load i32, ptr [[INST35]], align 4
98+
; CHECK-NEXT: ret i32 [[INST25]]
9999
;
100100
bb:
101-
br i1 %tmp4, label %bb1, label %bb2
101+
br i1 %c, label %bb1, label %bb2
102102

103103
bb1:
104-
%tmp1 = getelementptr inbounds %struct3, ptr %dm, i64 %tmp19, i32 1
105-
store i32 0, ptr %tmp1, align 4
104+
%inst1 = getelementptr inbounds %struct3, ptr %dm, i64 %idx1, i32 1
105+
store i32 0, ptr %inst1, align 4
106106
br label %bb3
107107

108108
bb2:
109-
%tmp2 = getelementptr inbounds %struct3, ptr %dm, i64 %tmp20, i32 1
110-
%tmp12 = getelementptr inbounds %struct4, ptr %tmp2, i64 0, i32 0, i32 1
111-
store i32 0, ptr %tmp12, align 4
109+
%inst2 = getelementptr inbounds %struct3, ptr %dm, i64 %idx2, i32 1
110+
%inst12 = getelementptr inbounds %struct4, ptr %inst2, i64 0, i32 0, i32 1
111+
store i32 0, ptr %inst12, align 4
112112
br label %bb3
113113

114114
bb3:
115-
%phi = phi ptr [ %tmp1, %bb1 ], [ %tmp2, %bb2 ]
116-
%tmp22 = invoke i32 @foo1(i32 11) to label %bb4 unwind label %bb5
115+
%phi = phi ptr [ %inst1, %bb1 ], [ %inst2, %bb2 ]
116+
%inst22 = invoke i32 @foo1(i32 11) to label %bb4 unwind label %bb5
117117

118118
bb4:
119119
ret i32 0
120120

121121
bb5:
122-
%tmp27 = landingpad { ptr, i32 } catch ptr @_ZTIi
123-
%tmp34 = getelementptr inbounds %struct4, ptr %phi, i64 %tmp21, i32 1
124-
%tmp35 = getelementptr inbounds %struct2, ptr %tmp34, i64 0, i32 1
125-
%tmp25 = load i32, ptr %tmp35, align 4
126-
ret i32 %tmp25
122+
%inst27 = landingpad { ptr, i32 } catch ptr @_ZTIi
123+
%inst34 = getelementptr inbounds %struct4, ptr %phi, i64 %idx3, i32 1
124+
%inst35 = getelementptr inbounds %struct2, ptr %inst34, i64 0, i32 1
125+
%inst25 = load i32, ptr %inst35, align 4
126+
ret i32 %inst25
127127
}
128128

129129
@_ZTIi = external constant ptr

0 commit comments

Comments
 (0)