88define double @multiple_fadd (double %a , double %b ) #0 {
99; CHECK-LABEL: @multiple_fadd(
1010; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fadd.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0:[0-9]+]]
11- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
11+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
1212; CHECK-NEXT: ret double [[TMP1]]
1313;
1414 %1 = call double @llvm.experimental.constrained.fadd.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -20,8 +20,8 @@ define double @multiple_fadd(double %a, double %b) #0 {
2020define double @multiple_fadd_split (double %a , double %b ) #0 {
2121; CHECK-LABEL: @multiple_fadd_split(
2222; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fadd.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
23- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
24- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
23+ ; CHECK-NEXT: call void @arbitraryfunc() #0
24+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
2525; CHECK-NEXT: ret double [[TMP1]]
2626;
2727 %1 = call double @llvm.experimental.constrained.fadd.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -34,7 +34,7 @@ define double @multiple_fadd_split(double %a, double %b) #0 {
3434define double @multiple_fsub (double %a , double %b ) #0 {
3535; CHECK-LABEL: @multiple_fsub(
3636; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fsub.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
37- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
37+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
3838; CHECK-NEXT: ret double [[TMP1]]
3939;
4040 %1 = call double @llvm.experimental.constrained.fsub.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -46,8 +46,8 @@ define double @multiple_fsub(double %a, double %b) #0 {
4646define double @multiple_fsub_split (double %a , double %b ) #0 {
4747; CHECK-LABEL: @multiple_fsub_split(
4848; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fsub.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
49- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
50- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
49+ ; CHECK-NEXT: call void @arbitraryfunc() #0
50+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
5151; CHECK-NEXT: ret double [[TMP1]]
5252;
5353 %1 = call double @llvm.experimental.constrained.fsub.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -60,7 +60,7 @@ define double @multiple_fsub_split(double %a, double %b) #0 {
6060define double @multiple_fmul (double %a , double %b ) #0 {
6161; CHECK-LABEL: @multiple_fmul(
6262; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fmul.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
63- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
63+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
6464; CHECK-NEXT: ret double [[TMP1]]
6565;
6666 %1 = call double @llvm.experimental.constrained.fmul.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -72,8 +72,8 @@ define double @multiple_fmul(double %a, double %b) #0 {
7272define double @multiple_fmul_split (double %a , double %b ) #0 {
7373; CHECK-LABEL: @multiple_fmul_split(
7474; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fmul.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
75- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
76- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
75+ ; CHECK-NEXT: call void @arbitraryfunc() #0
76+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
7777; CHECK-NEXT: ret double [[TMP1]]
7878;
7979 %1 = call double @llvm.experimental.constrained.fmul.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -86,7 +86,7 @@ define double @multiple_fmul_split(double %a, double %b) #0 {
8686define double @multiple_fdiv (double %a , double %b ) #0 {
8787; CHECK-LABEL: @multiple_fdiv(
8888; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fdiv.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
89- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
89+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
9090; CHECK-NEXT: ret double [[TMP1]]
9191;
9292 %1 = call double @llvm.experimental.constrained.fdiv.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -98,8 +98,8 @@ define double @multiple_fdiv(double %a, double %b) #0 {
9898define double @multiple_fdiv_split (double %a , double %b ) #0 {
9999; CHECK-LABEL: @multiple_fdiv_split(
100100; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.fdiv.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
101- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
102- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
101+ ; CHECK-NEXT: call void @arbitraryfunc() #0
102+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
103103; CHECK-NEXT: ret double [[TMP1]]
104104;
105105 %1 = call double @llvm.experimental.constrained.fdiv.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -112,7 +112,7 @@ define double @multiple_fdiv_split(double %a, double %b) #0 {
112112define double @multiple_frem (double %a , double %b ) #0 {
113113; CHECK-LABEL: @multiple_frem(
114114; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.frem.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
115- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
115+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
116116; CHECK-NEXT: ret double [[TMP1]]
117117;
118118 %1 = call double @llvm.experimental.constrained.frem.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -124,8 +124,8 @@ define double @multiple_frem(double %a, double %b) #0 {
124124define double @multiple_frem_split (double %a , double %b ) #0 {
125125; CHECK-LABEL: @multiple_frem_split(
126126; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.frem.f64(double [[A:%.*]], double [[B:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
127- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
128- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
127+ ; CHECK-NEXT: call void @arbitraryfunc() #0
128+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
129129; CHECK-NEXT: ret double [[TMP1]]
130130;
131131 %1 = call double @llvm.experimental.constrained.frem.f64 (double %a , double %b , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -138,7 +138,7 @@ define double @multiple_frem_split(double %a, double %b) #0 {
138138define i32 @multiple_fptoui (double %a ) #0 {
139139; CHECK-LABEL: @multiple_fptoui(
140140; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.experimental.constrained.fptoui.i32.f64(double [[A:%.*]], metadata !"fpexcept.ignore") #[[ATTR0]]
141- ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #[[ATTR0]]
141+ ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #0
142142; CHECK-NEXT: ret i32 [[TMP1]]
143143;
144144 %1 = call i32 @llvm.experimental.constrained.fptoui.i32.f64 (double %a , metadata !"fpexcept.ignore" ) #0
@@ -150,8 +150,8 @@ define i32 @multiple_fptoui(double %a) #0 {
150150define i32 @multiple_fptoui_split (double %a , double %b ) #0 {
151151; CHECK-LABEL: @multiple_fptoui_split(
152152; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.experimental.constrained.fptoui.i32.f64(double [[A:%.*]], metadata !"fpexcept.ignore") #[[ATTR0]]
153- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
154- ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #[[ATTR0]]
153+ ; CHECK-NEXT: call void @arbitraryfunc() #0
154+ ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #0
155155; CHECK-NEXT: ret i32 [[TMP1]]
156156;
157157 %1 = call i32 @llvm.experimental.constrained.fptoui.i32.f64 (double %a , metadata !"fpexcept.ignore" ) #0
@@ -164,7 +164,7 @@ define i32 @multiple_fptoui_split(double %a, double %b) #0 {
164164define double @multiple_uitofp (i32 %a ) #0 {
165165; CHECK-LABEL: @multiple_uitofp(
166166; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.uitofp.f64.i32(i32 [[A:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
167- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
167+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
168168; CHECK-NEXT: ret double [[TMP1]]
169169;
170170 %1 = call double @llvm.experimental.constrained.uitofp.f64.i32 (i32 %a , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -176,8 +176,8 @@ define double @multiple_uitofp(i32 %a) #0 {
176176define double @multiple_uitofp_split (i32 %a ) #0 {
177177; CHECK-LABEL: @multiple_uitofp_split(
178178; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.uitofp.f64.i32(i32 [[A:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
179- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
180- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
179+ ; CHECK-NEXT: call void @arbitraryfunc() #0
180+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
181181; CHECK-NEXT: ret double [[TMP1]]
182182;
183183 %1 = call double @llvm.experimental.constrained.uitofp.f64.i32 (i32 %a , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -190,7 +190,7 @@ define double @multiple_uitofp_split(i32 %a) #0 {
190190define i32 @multiple_fptosi (double %a ) #0 {
191191; CHECK-LABEL: @multiple_fptosi(
192192; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.experimental.constrained.fptosi.i32.f64(double [[A:%.*]], metadata !"fpexcept.ignore") #[[ATTR0]]
193- ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #[[ATTR0]]
193+ ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #0
194194; CHECK-NEXT: ret i32 [[TMP1]]
195195;
196196 %1 = call i32 @llvm.experimental.constrained.fptosi.i32.f64 (double %a , metadata !"fpexcept.ignore" ) #0
@@ -202,8 +202,8 @@ define i32 @multiple_fptosi(double %a) #0 {
202202define i32 @multiple_fptosi_split (double %a , double %b ) #0 {
203203; CHECK-LABEL: @multiple_fptosi_split(
204204; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.experimental.constrained.fptosi.i32.f64(double [[A:%.*]], metadata !"fpexcept.ignore") #[[ATTR0]]
205- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
206- ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #[[ATTR0]]
205+ ; CHECK-NEXT: call void @arbitraryfunc() #0
206+ ; CHECK-NEXT: [[TMP2:%.*]] = call i32 @bar.i32(i32 [[TMP1]], i32 [[TMP1]]) #0
207207; CHECK-NEXT: ret i32 [[TMP1]]
208208;
209209 %1 = call i32 @llvm.experimental.constrained.fptosi.i32.f64 (double %a , metadata !"fpexcept.ignore" ) #0
@@ -216,7 +216,7 @@ define i32 @multiple_fptosi_split(double %a, double %b) #0 {
216216define double @multiple_sitofp (i32 %a ) #0 {
217217; CHECK-LABEL: @multiple_sitofp(
218218; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.sitofp.f64.i32(i32 [[A:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
219- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
219+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
220220; CHECK-NEXT: ret double [[TMP1]]
221221;
222222 %1 = call double @llvm.experimental.constrained.sitofp.f64.i32 (i32 %a , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -228,8 +228,8 @@ define double @multiple_sitofp(i32 %a) #0 {
228228define double @multiple_sitofp_split (i32 %a ) #0 {
229229; CHECK-LABEL: @multiple_sitofp_split(
230230; CHECK-NEXT: [[TMP1:%.*]] = call double @llvm.experimental.constrained.sitofp.f64.i32(i32 [[A:%.*]], metadata !"round.tonearest", metadata !"fpexcept.ignore") #[[ATTR0]]
231- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
232- ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #[[ATTR0]]
231+ ; CHECK-NEXT: call void @arbitraryfunc() #0
232+ ; CHECK-NEXT: [[TMP2:%.*]] = call double @foo.f64(double [[TMP1]], double [[TMP1]]) #0
233233; CHECK-NEXT: ret double [[TMP1]]
234234;
235235 %1 = call double @llvm.experimental.constrained.sitofp.f64.i32 (i32 %a , metadata !"round.tonearest" , metadata !"fpexcept.ignore" ) #0
@@ -243,7 +243,7 @@ define i1 @multiple_fcmp(double %a, double %b) #0 {
243243; CHECK-LABEL: @multiple_fcmp(
244244; CHECK-NEXT: [[TMP1:%.*]] = call i1 @llvm.experimental.constrained.fcmp.f64(double [[A:%.*]], double [[B:%.*]], metadata !"oeq", metadata !"fpexcept.ignore") #[[ATTR0]]
245245; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i32
246- ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #[[ATTR0]]
246+ ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #0
247247; CHECK-NEXT: ret i1 [[TMP1]]
248248;
249249 %1 = call i1 @llvm.experimental.constrained.fcmp.f64 (double %a , double %b , metadata !"oeq" , metadata !"fpexcept.ignore" ) #0
@@ -257,9 +257,9 @@ define i1 @multiple_fcmp(double %a, double %b) #0 {
257257define i1 @multiple_fcmp_split (double %a , double %b ) #0 {
258258; CHECK-LABEL: @multiple_fcmp_split(
259259; CHECK-NEXT: [[TMP1:%.*]] = call i1 @llvm.experimental.constrained.fcmp.f64(double [[A:%.*]], double [[B:%.*]], metadata !"oeq", metadata !"fpexcept.ignore") #[[ATTR0]]
260- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
260+ ; CHECK-NEXT: call void @arbitraryfunc() #0
261261; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i32
262- ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #[[ATTR0]]
262+ ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #0
263263; CHECK-NEXT: ret i1 [[TMP1]]
264264;
265265 %1 = call i1 @llvm.experimental.constrained.fcmp.f64 (double %a , double %b , metadata !"oeq" , metadata !"fpexcept.ignore" ) #0
@@ -275,7 +275,7 @@ define i1 @multiple_fcmps(double %a, double %b) #0 {
275275; CHECK-LABEL: @multiple_fcmps(
276276; CHECK-NEXT: [[TMP1:%.*]] = call i1 @llvm.experimental.constrained.fcmps.f64(double [[A:%.*]], double [[B:%.*]], metadata !"oeq", metadata !"fpexcept.ignore") #[[ATTR0]]
277277; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i32
278- ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #[[ATTR0]]
278+ ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #0
279279; CHECK-NEXT: ret i1 [[TMP1]]
280280;
281281 %1 = call i1 @llvm.experimental.constrained.fcmps.f64 (double %a , double %b , metadata !"oeq" , metadata !"fpexcept.ignore" ) #0
@@ -289,9 +289,9 @@ define i1 @multiple_fcmps(double %a, double %b) #0 {
289289define i1 @multiple_fcmps_split (double %a , double %b ) #0 {
290290; CHECK-LABEL: @multiple_fcmps_split(
291291; CHECK-NEXT: [[TMP1:%.*]] = call i1 @llvm.experimental.constrained.fcmps.f64(double [[A:%.*]], double [[B:%.*]], metadata !"oeq", metadata !"fpexcept.ignore") #[[ATTR0]]
292- ; CHECK-NEXT: call void @arbitraryfunc() #[[ATTR0]]
292+ ; CHECK-NEXT: call void @arbitraryfunc() #0
293293; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i32
294- ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #[[ATTR0]]
294+ ; CHECK-NEXT: [[TMP3:%.*]] = call i32 @bar.i32(i32 [[TMP2]], i32 [[TMP2]]) #0
295295; CHECK-NEXT: ret i1 [[TMP1]]
296296;
297297 %1 = call i1 @llvm.experimental.constrained.fcmps.f64 (double %a , double %b , metadata !"oeq" , metadata !"fpexcept.ignore" ) #0
@@ -304,6 +304,7 @@ define i1 @multiple_fcmps_split(double %a, double %b) #0 {
304304}
305305
306306attributes #0 = { strictfp }
307+ ; CHECK: attributes #[[ATTR0]] = { strictfp memory(inaccessiblemem: readwrite) }
307308
308309declare void @arbitraryfunc () #0
309310declare double @foo.f64 (double , double ) #0
0 commit comments