Update LLVM again to 2025-08-09 (#5958)

This lets us pick up another API update to creating lifetimes, as well
as the consequent test updates.
This commit is contained in:
Chandler Carruth
2025-08-14 19:19:27 +00:00
committed by GitHub
parent 9feb493680
commit 0a679504a5
75 changed files with 330 additions and 332 deletions
+2 -2
View File
@@ -29,13 +29,13 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !8 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %b.var = alloca {}, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @_CEcho.Main(), !dbg !10
// CHECK:STDOUT: ret void, !dbg !11
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
+2 -2
View File
@@ -29,13 +29,13 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !8 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %b.var = alloca {}, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @_CEcho.Main(), !dbg !10
// CHECK:STDOUT: ret void, !dbg !11
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
+2 -2
View File
@@ -29,14 +29,14 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !8 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %b.var = alloca i32, align 4, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %b.var), !dbg !9
// CHECK:STDOUT: %Echo.call = call i32 @_CEcho.Main(i32 1), !dbg !10
// CHECK:STDOUT: store i32 %Echo.call, ptr %b.var, align 4, !dbg !9
// CHECK:STDOUT: ret void, !dbg !11
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
@@ -36,15 +36,15 @@ fn Main() {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %x.var = alloca {}, align 8, !dbg !11
// CHECK:STDOUT: %.loc19_23.1.temp = alloca {}, align 8, !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %x.var), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !11
// CHECK:STDOUT: call void @_CFoo.Main(), !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %.loc19_23.1.temp), !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc19_23.1.temp), !dbg !12
// CHECK:STDOUT: call void @_CBar.Main(), !dbg !13
// CHECK:STDOUT: ret void, !dbg !14
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: ; uselistorder directives
// CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 1, 0 }
@@ -29,13 +29,13 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !8 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %b.var = alloca {}, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %b.var), !dbg !9
// CHECK:STDOUT: call void @_CMakeImplicitEmptyTuple.Main(), !dbg !10
// CHECK:STDOUT: ret void, !dbg !11
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
@@ -42,13 +42,13 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !12 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %.loc18_21.1.temp = alloca { i32, i32, i32 }, align 8, !dbg !13
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 12, ptr %.loc18_21.1.temp), !dbg !13
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc18_21.1.temp), !dbg !13
// CHECK:STDOUT: call void @_CF.Main(ptr %.loc18_21.1.temp, { i32 } { i32 1 }, ptr @tuple.11a.loc18_20.6), !dbg !13
// CHECK:STDOUT: ret void, !dbg !14
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
+2 -2
View File
@@ -28,7 +28,7 @@ fn Main() {
// CHECK:STDOUT: define void @_CMain.Main() !dbg !8 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %a.var = alloca i32, align 4, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %a.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %a.var), !dbg !9
// CHECK:STDOUT: store i32 0, ptr %a.var, align 4, !dbg !9
// CHECK:STDOUT: %.loc17 = load i32, ptr %a.var, align 4, !dbg !10
// CHECK:STDOUT: call void @_CDoNothing.Main(i32 %.loc17), !dbg !11
@@ -36,7 +36,7 @@ fn Main() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
// CHECK:STDOUT:
+5 -5
View File
@@ -43,13 +43,13 @@ fn G() {
// CHECK:STDOUT: %d.var = alloca {}, align 8, !dbg !8
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !9
// CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !7
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc20_3, i64 0, i1 false), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %d.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %d.var), !dbg !8
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %d.var, ptr align 1 @D.val.loc21_3, i64 0, i1 false), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !9
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !10
// CHECK:STDOUT: store double 0.000000e+00, ptr %m.var, align 8, !dbg !10
// CHECK:STDOUT: call void @_CF.Main.15b1f98bd9cc0c5b(ptr %c.var), !dbg !11
// CHECK:STDOUT: call void @_CF.Main.15b1f98bd9cc0c5b(ptr %d.var), !dbg !12
@@ -62,7 +62,7 @@ fn G() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1
+17 -17
View File
@@ -65,12 +65,12 @@ fn M() {
// CHECK:STDOUT: %m.var = alloca i32, align 4, !dbg !8
// CHECK:STDOUT: %p.var = alloca double, align 8, !dbg !9
// CHECK:STDOUT: %q.var = alloca double, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %p.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !9
// CHECK:STDOUT: store double 1.000000e+00, ptr %p.var, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %q.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %q.var), !dbg !10
// CHECK:STDOUT: %.loc51 = load i32, ptr %n.var, align 4, !dbg !11
// CHECK:STDOUT: call void @_CF.Main.b88d1103f417c6d4(i32 %.loc51), !dbg !12
// CHECK:STDOUT: %.loc52 = load i32, ptr %n.var, align 4, !dbg !13
@@ -85,7 +85,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.b88d1103f417c6d4(i32 %x) !dbg !22 {
// CHECK:STDOUT: entry:
@@ -105,20 +105,20 @@ fn M() {
// CHECK:STDOUT: %H.call.loc27 = call %type @_CH.Main.5754c7a55c7cbe4a(%type zeroinitializer), !dbg !33
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.b88d1103f417c6d4(i32 %x), !dbg !34
// CHECK:STDOUT: %H.call.loc28 = call i32 @_CH.Main.b88d1103f417c6d4(i32 %G.call), !dbg !35
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %var_f64.var), !dbg !25
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !25
// CHECK:STDOUT: %.loc32 = load double, ptr %var_f64.var, align 8, !dbg !36
// CHECK:STDOUT: %H.call.loc32 = call double @_CH.Main.d4b5665541d5d7a8(double %.loc32), !dbg !37
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !26
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !26
// CHECK:STDOUT: %.loc34 = load ptr, ptr %ptr_i32.var, align 8, !dbg !38
// CHECK:STDOUT: %H.call.loc34 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc34), !dbg !39
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !27
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !27
// CHECK:STDOUT: %.loc36 = load ptr, ptr %ptr_f64.var, align 8, !dbg !40
// CHECK:STDOUT: %H.call.loc36 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc36), !dbg !41
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i8.var), !dbg !28
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !28
// CHECK:STDOUT: %.loc38 = load ptr, ptr %ptr_i8.var, align 8, !dbg !42
// CHECK:STDOUT: %H.call.loc38 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc38), !dbg !43
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !29
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %.loc40_6.1.temp), !dbg !30
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !29
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc40_6.1.temp), !dbg !30
// CHECK:STDOUT: call void @_CH.Main.15b1f98bd9cc0c5b(ptr %.loc40_6.1.temp, ptr %c.var), !dbg !30
// CHECK:STDOUT: ret i32 %x, !dbg !44
// CHECK:STDOUT: }
@@ -141,20 +141,20 @@ fn M() {
// CHECK:STDOUT: %H.call.loc27 = call %type @_CH.Main.5754c7a55c7cbe4a(%type zeroinitializer), !dbg !56
// CHECK:STDOUT: %G.call = call double @_CG.Main.d4b5665541d5d7a8(double %x), !dbg !57
// CHECK:STDOUT: %H.call.loc28 = call double @_CH.Main.d4b5665541d5d7a8(double %G.call), !dbg !58
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %var_f64.var), !dbg !48
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !48
// CHECK:STDOUT: %.loc32 = load double, ptr %var_f64.var, align 8, !dbg !59
// CHECK:STDOUT: %H.call.loc32 = call double @_CH.Main.d4b5665541d5d7a8(double %.loc32), !dbg !60
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !49
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !49
// CHECK:STDOUT: %.loc34 = load ptr, ptr %ptr_i32.var, align 8, !dbg !61
// CHECK:STDOUT: %H.call.loc34 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc34), !dbg !62
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !50
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !50
// CHECK:STDOUT: %.loc36 = load ptr, ptr %ptr_f64.var, align 8, !dbg !63
// CHECK:STDOUT: %H.call.loc36 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc36), !dbg !64
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i8.var), !dbg !51
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !51
// CHECK:STDOUT: %.loc38 = load ptr, ptr %ptr_i8.var, align 8, !dbg !65
// CHECK:STDOUT: %H.call.loc38 = call ptr @_CH.Main.e8193710fd35b608(ptr %.loc38), !dbg !66
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !52
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %.loc40_6.1.temp), !dbg !53
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !52
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc40_6.1.temp), !dbg !53
// CHECK:STDOUT: call void @_CH.Main.15b1f98bd9cc0c5b(ptr %.loc40_6.1.temp, ptr %c.var), !dbg !53
// CHECK:STDOUT: ret double %x, !dbg !67
// CHECK:STDOUT: }
@@ -42,9 +42,9 @@ fn M() {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !7
// CHECK:STDOUT: %m.var = alloca i32, align 4, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: %.loc34 = load i32, ptr %n.var, align 4, !dbg !9
// CHECK:STDOUT: call void @_CF.Main.b88d1103f417c6d4(i32 %.loc34), !dbg !10
// CHECK:STDOUT: %.loc35 = load i32, ptr %n.var, align 4, !dbg !11
@@ -54,7 +54,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.b88d1103f417c6d4(i32 %x) !dbg !15 {
// CHECK:STDOUT: entry:
@@ -34,20 +34,20 @@ fn M() {
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !7
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !8
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: %.loc22 = load ptr, ptr %ptr_i32.var, align 8, !dbg !10
// CHECK:STDOUT: %F.call.loc22 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc22), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: %.loc24 = load ptr, ptr %ptr_f64.var, align 8, !dbg !12
// CHECK:STDOUT: %F.call.loc24 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc24), !dbg !13
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i8.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !9
// CHECK:STDOUT: %.loc26 = load ptr, ptr %ptr_i8.var, align 8, !dbg !14
// CHECK:STDOUT: %F.call.loc26 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc26), !dbg !15
// CHECK:STDOUT: ret void, !dbg !16
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.e8193710fd35b608(ptr %x) !dbg !17 {
// CHECK:STDOUT: entry:
@@ -50,8 +50,8 @@ fn M() {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !7
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: %.loc39 = load ptr, ptr %ptr_i32.var, align 8, !dbg !9
// CHECK:STDOUT: call void @_CF.Main.b88d1103f417c6d4(ptr %.loc39), !dbg !10
// CHECK:STDOUT: %.loc40 = load ptr, ptr %ptr_f64.var, align 8, !dbg !11
@@ -60,7 +60,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.b88d1103f417c6d4(ptr %x) !dbg !14 {
// CHECK:STDOUT: entry:
@@ -51,19 +51,19 @@ fn H() {
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.47c020a542e13d96() !dbg !10 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %x.var = alloca i1, align 1, !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 1, ptr %x.var), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !11
// CHECK:STDOUT: ret void, !dbg !12
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.a10ac7cbfa858009() !dbg !13 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %x.var = alloca i32, align 4, !dbg !14
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %x.var), !dbg !14
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !14
// CHECK:STDOUT: ret void, !dbg !15
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: ; uselistorder directives
// CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 1, 0 }
@@ -57,8 +57,8 @@ fn M() {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !7
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: %.loc46 = load ptr, ptr %ptr_i32.var, align 8, !dbg !9
// CHECK:STDOUT: call void @_CF.Main.b88d1103f417c6d4(ptr %.loc46), !dbg !10
// CHECK:STDOUT: %.loc47 = load ptr, ptr %ptr_f64.var, align 8, !dbg !11
@@ -67,7 +67,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.b88d1103f417c6d4(ptr %x) !dbg !14 {
// CHECK:STDOUT: entry:
@@ -31,9 +31,9 @@ fn CallF() -> i32 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !7
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !7
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc20_3, i64 0, i1 false), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !8
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !8
// CHECK:STDOUT: %.loc22_14 = load i32, ptr %n.var, align 4, !dbg !9
// CHECK:STDOUT: %C.F.call = call i32 @_CF.C.Main.b88d1103f417c6d4(ptr %c.var, i32 %.loc22_14), !dbg !10
@@ -41,7 +41,7 @@ fn CallF() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1
@@ -48,12 +48,12 @@ fn M() {
// CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !8
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: store double 1.000000e+00, ptr %m.var, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: %.loc30_5 = load i32, ptr %n.var, align 4, !dbg !11
// CHECK:STDOUT: %F.call.loc30 = call i32 @_CF.Main.b88d1103f417c6d4(i32 %.loc30_5, i32 0), !dbg !12
// CHECK:STDOUT: %.loc31_5 = load double, ptr %m.var, align 8, !dbg !13
@@ -66,7 +66,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.b88d1103f417c6d4(i32 %x, i32 %count) !dbg !20 {
// CHECK:STDOUT: entry:
@@ -67,12 +67,12 @@ fn M() {
// CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !8
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: store double 1.000000e+00, ptr %m.var, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: %.loc53_5 = load i32, ptr %n.var, align 4, !dbg !11
// CHECK:STDOUT: %A.call.loc53 = call i32 @_CA.Main.b88d1103f417c6d4(i32 %.loc53_5, i32 0), !dbg !12
// CHECK:STDOUT: %.loc54_5 = load double, ptr %m.var, align 8, !dbg !13
@@ -85,7 +85,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.b88d1103f417c6d4(i32 %x, i32 %count) !dbg !20 {
// CHECK:STDOUT: entry:
@@ -50,12 +50,12 @@ fn M() {
// CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !8
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: store double 1.000000e+00, ptr %m.var, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: %.loc38_5 = load i32, ptr %n.var, align 4, !dbg !11
// CHECK:STDOUT: %F.call.loc38 = call i32 @_CF.Main.b88d1103f417c6d4(i32 %.loc38_5, i32 0), !dbg !12
// CHECK:STDOUT: %.loc39_5 = load double, ptr %m.var, align 8, !dbg !13
@@ -68,7 +68,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.b88d1103f417c6d4(i32 %x, i32 %count) !dbg !20 {
// CHECK:STDOUT: entry:
@@ -36,9 +36,9 @@ fn M() {
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !7
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !8
// CHECK:STDOUT: %ptr_bool.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_bool.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_bool.var), !dbg !9
// CHECK:STDOUT: %.loc27_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !10
// CHECK:STDOUT: %.loc27_14 = load ptr, ptr %ptr_bool.var, align 8, !dbg !11
// CHECK:STDOUT: %F.call.loc27 = call i32 @_CF.Main.2fe87eb83f5a4614(ptr %.loc27_5, ptr %.loc27_14, i32 0), !dbg !12
@@ -49,7 +49,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.2fe87eb83f5a4614(ptr %x, ptr %y, i32 %count) !dbg !17 {
// CHECK:STDOUT: entry:
@@ -66,15 +66,15 @@ fn M() {
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !13
// CHECK:STDOUT: %ptr_i64.var = alloca ptr, align 8, !dbg !14
// CHECK:STDOUT: %ptr_bool.var = alloca ptr, align 8, !dbg !15
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 2, ptr %val_i16.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %val_i32.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %val_i64.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %val_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 1, ptr %val_bool.var), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i16.var), !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !13
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i64.var), !dbg !14
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_bool.var), !dbg !15
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %val_i16.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %val_i32.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %val_i64.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %val_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %val_bool.var), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i16.var), !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !13
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i64.var), !dbg !14
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_bool.var), !dbg !15
// CHECK:STDOUT: %.loc38_5 = load i16, ptr %val_i16.var, align 2, !dbg !16
// CHECK:STDOUT: %.loc38_14 = load ptr, ptr %ptr_i32.var, align 8, !dbg !17
// CHECK:STDOUT: %.loc38_23 = load ptr, ptr %ptr_bool.var, align 8, !dbg !18
@@ -127,7 +127,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.077d2bb2ab5eee86(i16 %x, ptr %y, ptr %z, i32 %count) !dbg !65 {
// CHECK:STDOUT: entry:
@@ -94,12 +94,12 @@ fn M() {
// CHECK:STDOUT: %m.var = alloca double, align 8, !dbg !8
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !9
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %m.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %m.var), !dbg !8
// CHECK:STDOUT: store double 1.000000e+00, ptr %m.var, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !10
// CHECK:STDOUT: %.loc79_5 = load i32, ptr %n.var, align 4, !dbg !11
// CHECK:STDOUT: %A.call.loc79 = call i32 @_CA.Main.b88d1103f417c6d4(i32 %.loc79_5, i32 0), !dbg !12
// CHECK:STDOUT: %.loc80_5 = load double, ptr %m.var, align 8, !dbg !13
@@ -112,7 +112,7 @@ fn M() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.b88d1103f417c6d4(i32 %x, i32 %count) !dbg !20 {
// CHECK:STDOUT: entry:
@@ -57,30 +57,30 @@ fn M() {
// CHECK:STDOUT: %var_i32.var = alloca i32, align 4, !dbg !10
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !11
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !7
// CHECK:STDOUT: %.loc34 = load ptr, ptr %ptr_i32.var, align 8, !dbg !13
// CHECK:STDOUT: %F.call.loc34 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc34), !dbg !14
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !8
// CHECK:STDOUT: %.loc36 = load ptr, ptr %ptr_f64.var, align 8, !dbg !15
// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc36), !dbg !16
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %ptr_i8.var), !dbg !9
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !9
// CHECK:STDOUT: %.loc38 = load ptr, ptr %ptr_i8.var, align 8, !dbg !17
// CHECK:STDOUT: %F.call.loc38 = call ptr @_CF.Main.e8193710fd35b608(ptr %.loc38), !dbg !18
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %var_i32.var), !dbg !10
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_i32.var), !dbg !10
// CHECK:STDOUT: store i32 0, ptr %var_i32.var, align 4, !dbg !10
// CHECK:STDOUT: %.loc40 = load i32, ptr %var_i32.var, align 4, !dbg !19
// CHECK:STDOUT: %F.call.loc40 = call i32 @_CF.Main.b88d1103f417c6d4(i32 %.loc40), !dbg !20
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %var_f64.var), !dbg !11
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !11
// CHECK:STDOUT: store double 0.000000e+00, ptr %var_f64.var, align 8, !dbg !11
// CHECK:STDOUT: %.loc42 = load double, ptr %var_f64.var, align 8, !dbg !21
// CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.d4b5665541d5d7a8(double %.loc42), !dbg !22
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !12
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !12
// CHECK:STDOUT: %F.call.loc44 = call %type @_CF.Main.5754c7a55c7cbe4a(%type zeroinitializer), !dbg !23
// CHECK:STDOUT: ret void, !dbg !24
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.e8193710fd35b608(ptr %x) !dbg !25 {
// CHECK:STDOUT: entry:
@@ -109,7 +109,7 @@ fn M() {
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.e8193710fd35b608(ptr %x) !dbg !37 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !38
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !38
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !38
// CHECK:STDOUT: %C.Cfn.call = call ptr @_CCfn.C.Main.e8193710fd35b608(ptr %c.var, ptr %x), !dbg !39
// CHECK:STDOUT: ret ptr %C.Cfn.call, !dbg !40
// CHECK:STDOUT: }
@@ -117,7 +117,7 @@ fn M() {
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.b88d1103f417c6d4(i32 %x) !dbg !41 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !42
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !42
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !42
// CHECK:STDOUT: %C.Cfn.call = call i32 @_CCfn.C.Main.b88d1103f417c6d4(ptr %c.var, i32 %x), !dbg !43
// CHECK:STDOUT: ret i32 %C.Cfn.call, !dbg !44
// CHECK:STDOUT: }
@@ -125,7 +125,7 @@ fn M() {
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.d4b5665541d5d7a8(double %x) !dbg !45 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !46
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !46
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !46
// CHECK:STDOUT: %C.Cfn.call = call double @_CCfn.C.Main.d4b5665541d5d7a8(ptr %c.var, double %x), !dbg !47
// CHECK:STDOUT: ret double %C.Cfn.call, !dbg !48
// CHECK:STDOUT: }
@@ -133,7 +133,7 @@ fn M() {
// CHECK:STDOUT: define linkonce_odr %type @_CG.Main.5754c7a55c7cbe4a(%type %x) !dbg !49 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %c.var = alloca {}, align 8, !dbg !50
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 0, ptr %c.var), !dbg !50
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !50
// CHECK:STDOUT: %C.Cfn.call = call %type @_CCfn.C.Main.5754c7a55c7cbe4a(ptr %c.var, %type %x), !dbg !51
// CHECK:STDOUT: ret %type %C.Cfn.call, !dbg !52
// CHECK:STDOUT: }
+3 -3
View File
@@ -105,9 +105,9 @@ fn Call() -> i32 {
// CHECK:STDOUT: entry:
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !7
// CHECK:STDOUT: %p.var = alloca ptr, align 8, !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 4, ptr %n.var), !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !7
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !7
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(i64 8, ptr %p.var), !dbg !8
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !8
// CHECK:STDOUT: %DirectGeneric.call = call ptr @_CDirectGeneric.Main.b88d1103f417c6d4(ptr %n.var), !dbg !9
// CHECK:STDOUT: store ptr %DirectGeneric.call, ptr %p.var, align 8, !dbg !8
// CHECK:STDOUT: %.loc9_11 = load ptr, ptr %p.var, align 8, !dbg !10
@@ -116,7 +116,7 @@ fn Call() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #0
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
// CHECK:STDOUT:
// CHECK:STDOUT: define linkonce_odr ptr @_CDirectGeneric.Main.b88d1103f417c6d4(ptr %y) !dbg !13 {
// CHECK:STDOUT: call void @_CDirectDeclared.Main(), !dbg !15