Skip to content

Commit 2c062f2

Browse files
committed
[test] Use update_test_checks on llvm/test/Transforms/InstCombine/invariant.group.ll
1 parent 666906a commit 2c062f2

File tree

1 file changed

+63
-44
lines changed

1 file changed

+63
-44
lines changed

llvm/test/Transforms/InstCombine/invariant.group.ll

Lines changed: 63 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,161 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
12
; RUN: opt -instcombine -early-cse -earlycse-debug-hash -S < %s | FileCheck %s
23

3-
4-
; CHECK-LABEL: define i8* @simplifyNullLaunder()
54
define i8* @simplifyNullLaunder() {
6-
; CHECK-NEXT: ret i8* null
5+
; CHECK-LABEL: @simplifyNullLaunder(
6+
; CHECK-NEXT: ret i8* null
7+
;
78
%b2 = call i8* @llvm.launder.invariant.group.p0i8(i8* null)
89
ret i8* %b2
910
}
1011

11-
; CHECK-LABEL: define i8* @dontSimplifyNullLaunderNoNullOpt()
1212
define i8* @dontSimplifyNullLaunderNoNullOpt() #0 {
13-
; CHECK-NEXT: call i8* @llvm.launder.invariant.group.p0i8(i8* null)
13+
; CHECK-LABEL: @dontSimplifyNullLaunderNoNullOpt(
14+
; CHECK-NEXT: [[B2:%.*]] = call i8* @llvm.launder.invariant.group.p0i8(i8* null)
15+
; CHECK-NEXT: ret i8* [[B2]]
16+
;
1417
%b2 = call i8* @llvm.launder.invariant.group.p0i8(i8* null)
1518
ret i8* %b2
1619
}
1720

18-
; CHECK-LABEL: define i8 addrspace(42)* @dontsimplifyNullLaunderForDifferentAddrspace()
1921
define i8 addrspace(42)* @dontsimplifyNullLaunderForDifferentAddrspace() {
20-
; CHECK: %b2 = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* null)
21-
; CHECK: ret i8 addrspace(42)* %b2
22+
; CHECK-LABEL: @dontsimplifyNullLaunderForDifferentAddrspace(
23+
; CHECK-NEXT: [[B2:%.*]] = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* null)
24+
; CHECK-NEXT: ret i8 addrspace(42)* [[B2]]
25+
;
2226
%b2 = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* null)
2327
ret i8 addrspace(42)* %b2
2428
}
2529

26-
; CHECK-LABEL: define i8* @simplifyUndefLaunder()
2730
define i8* @simplifyUndefLaunder() {
28-
; CHECK-NEXT: ret i8* undef
31+
; CHECK-LABEL: @simplifyUndefLaunder(
32+
; CHECK-NEXT: ret i8* undef
33+
;
2934
%b2 = call i8* @llvm.launder.invariant.group.p0i8(i8* undef)
3035
ret i8* %b2
3136
}
3237

33-
; CHECK-LABEL: define i8 addrspace(42)* @simplifyUndefLaunder2()
3438
define i8 addrspace(42)* @simplifyUndefLaunder2() {
35-
; CHECK-NEXT: ret i8 addrspace(42)* undef
39+
; CHECK-LABEL: @simplifyUndefLaunder2(
40+
; CHECK-NEXT: ret i8 addrspace(42)* undef
41+
;
3642
%b2 = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* undef)
3743
ret i8 addrspace(42)* %b2
3844
}
3945

40-
; CHECK-LABEL: define i8* @simplifyNullStrip()
4146
define i8* @simplifyNullStrip() {
42-
; CHECK-NEXT: ret i8* null
47+
; CHECK-LABEL: @simplifyNullStrip(
48+
; CHECK-NEXT: ret i8* null
49+
;
4350
%b2 = call i8* @llvm.strip.invariant.group.p0i8(i8* null)
4451
ret i8* %b2
4552
}
4653

47-
; CHECK-LABEL: define i8* @dontSimplifyNullStripNonNullOpt()
4854
define i8* @dontSimplifyNullStripNonNullOpt() #0 {
49-
; CHECK-NEXT: call i8* @llvm.strip.invariant.group.p0i8(i8* null)
55+
; CHECK-LABEL: @dontSimplifyNullStripNonNullOpt(
56+
; CHECK-NEXT: [[B2:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* null)
57+
; CHECK-NEXT: ret i8* [[B2]]
58+
;
5059
%b2 = call i8* @llvm.strip.invariant.group.p0i8(i8* null)
5160
ret i8* %b2
5261
}
5362

54-
; CHECK-LABEL: define i8 addrspace(42)* @dontsimplifyNullStripForDifferentAddrspace()
5563
define i8 addrspace(42)* @dontsimplifyNullStripForDifferentAddrspace() {
56-
; CHECK: %b2 = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* null)
57-
; CHECK: ret i8 addrspace(42)* %b2
64+
; CHECK-LABEL: @dontsimplifyNullStripForDifferentAddrspace(
65+
; CHECK-NEXT: [[B2:%.*]] = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* null)
66+
; CHECK-NEXT: ret i8 addrspace(42)* [[B2]]
67+
;
5868
%b2 = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* null)
5969
ret i8 addrspace(42)* %b2
6070
}
6171

62-
; CHECK-LABEL: define i8* @simplifyUndefStrip()
6372
define i8* @simplifyUndefStrip() {
64-
; CHECK-NEXT: ret i8* undef
73+
; CHECK-LABEL: @simplifyUndefStrip(
74+
; CHECK-NEXT: ret i8* undef
75+
;
6576
%b2 = call i8* @llvm.strip.invariant.group.p0i8(i8* undef)
6677
ret i8* %b2
6778
}
6879

69-
; CHECK-LABEL: define i8 addrspace(42)* @simplifyUndefStrip2()
7080
define i8 addrspace(42)* @simplifyUndefStrip2() {
71-
; CHECK-NEXT: ret i8 addrspace(42)* undef
81+
; CHECK-LABEL: @simplifyUndefStrip2(
82+
; CHECK-NEXT: ret i8 addrspace(42)* undef
83+
;
7284
%b2 = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* undef)
7385
ret i8 addrspace(42)* %b2
7486
}
7587

76-
; CHECK-LABEL: define i8* @simplifyLaunderOfLaunder(
7788
define i8* @simplifyLaunderOfLaunder(i8* %a) {
78-
; CHECK: call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
79-
; CHECK-NOT: llvm.launder.invariant.group
89+
; CHECK-LABEL: @simplifyLaunderOfLaunder(
90+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.launder.invariant.group.p0i8(i8* [[A:%.*]])
91+
; CHECK-NEXT: ret i8* [[TMP1]]
92+
;
8093
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
8194
%a3 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a2)
8295
ret i8* %a3
8396
}
8497

85-
; CHECK-LABEL: define i8* @simplifyStripOfLaunder(
8698
define i8* @simplifyStripOfLaunder(i8* %a) {
87-
; CHECK-NOT: llvm.launder.invariant.group
88-
; CHECK: call i8* @llvm.strip.invariant.group.p0i8(i8* %a)
99+
; CHECK-LABEL: @simplifyStripOfLaunder(
100+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A:%.*]])
101+
; CHECK-NEXT: ret i8* [[TMP1]]
102+
;
89103
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
90104
%a3 = call i8* @llvm.strip.invariant.group.p0i8(i8* %a2)
91105
ret i8* %a3
92106
}
93107

94-
; CHECK-LABEL: define i1 @simplifyForCompare(
95108
define i1 @simplifyForCompare(i8* %a) {
109+
; CHECK-LABEL: @simplifyForCompare(
110+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A:%.*]])
111+
; CHECK-NEXT: ret i1 true
112+
;
96113
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
97114

98115
%a3 = call i8* @llvm.strip.invariant.group.p0i8(i8* %a2)
99116
%b2 = call i8* @llvm.strip.invariant.group.p0i8(i8* %a)
100117
%c = icmp eq i8* %a3, %b2
101-
; CHECK: ret i1 true
102118
ret i1 %c
103119
}
104120

105-
; CHECK-LABEL: define i16* @skipWithDifferentTypes(
106121
define i16* @skipWithDifferentTypes(i8* %a) {
122+
; CHECK-LABEL: @skipWithDifferentTypes(
123+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A:%.*]])
124+
; CHECK-NEXT: [[TMP2:%.*]] = bitcast i8* [[TMP1]] to i16*
125+
; CHECK-NEXT: ret i16* [[TMP2]]
126+
;
107127
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
108128
%c1 = bitcast i8* %a2 to i16*
109129

110-
; CHECK: %[[b:.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* %a)
111130
%a3 = call i16* @llvm.strip.invariant.group.p0i16(i16* %c1)
112-
; CHECK-NEXT: %[[r:.*]] = bitcast i8* %[[b]] to i16*
113-
; CHECK-NEXT: ret i16* %[[r]]
114131
ret i16* %a3
115132
}
116133

117-
; CHECK-LABEL: define i16 addrspace(42)* @skipWithDifferentTypesAddrspace(
118134
define i16 addrspace(42)* @skipWithDifferentTypesAddrspace(i8 addrspace(42)* %a) {
135+
; CHECK-LABEL: @skipWithDifferentTypesAddrspace(
136+
; CHECK-NEXT: [[TMP1:%.*]] = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* [[A:%.*]])
137+
; CHECK-NEXT: [[TMP2:%.*]] = bitcast i8 addrspace(42)* [[TMP1]] to i16 addrspace(42)*
138+
; CHECK-NEXT: ret i16 addrspace(42)* [[TMP2]]
139+
;
119140
%a2 = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* %a)
120141
%c1 = bitcast i8 addrspace(42)* %a2 to i16 addrspace(42)*
121142

122-
; CHECK: %[[b:.*]] = call i8 addrspace(42)* @llvm.strip.invariant.group.p42i8(i8 addrspace(42)* %a)
123143
%a3 = call i16 addrspace(42)* @llvm.strip.invariant.group.p42i16(i16 addrspace(42)* %c1)
124-
; CHECK-NEXT: %[[r:.*]] = bitcast i8 addrspace(42)* %[[b]] to i16 addrspace(42)*
125-
; CHECK-NEXT: ret i16 addrspace(42)* %[[r]]
126144
ret i16 addrspace(42)* %a3
127145
}
128146

129-
; CHECK-LABEL: define i16 addrspace(42)* @skipWithDifferentTypesDifferentAddrspace(
130147
define i16 addrspace(42)* @skipWithDifferentTypesDifferentAddrspace(i8* %a) {
148+
; CHECK-LABEL: @skipWithDifferentTypesDifferentAddrspace(
149+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A:%.*]])
150+
; CHECK-NEXT: [[TMP2:%.*]] = bitcast i8* [[TMP1]] to i16*
151+
; CHECK-NEXT: [[TMP3:%.*]] = addrspacecast i16* [[TMP2]] to i16 addrspace(42)*
152+
; CHECK-NEXT: ret i16 addrspace(42)* [[TMP3]]
153+
;
131154
%cast = addrspacecast i8* %a to i8 addrspace(42)*
132155
%a2 = call i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)* %cast)
133156
%c1 = bitcast i8 addrspace(42)* %a2 to i16 addrspace(42)*
134157

135-
; CHECK: %[[b:.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* %a)
136158
%a3 = call i16 addrspace(42)* @llvm.strip.invariant.group.p42i16(i16 addrspace(42)* %c1)
137-
; CHECK-NEXT: %[[r:.*]] = bitcast i8* %[[b]] to i16*
138-
; CHECK-NEXT: %[[r2:.*]] = addrspacecast i16* %[[r]] to i16 addrspace(42)*
139-
; CHECK-NEXT: ret i16 addrspace(42)* %[[r2]]
140159
ret i16 addrspace(42)* %a3
141160
}
142161

0 commit comments

Comments
 (0)