mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Add Destroy.SubobjectDestroy as a temporary replacement for Destroy.Op (#7773)
This change partially implements [PR #7362], which revises how objects are destroyed. It is a partial implementation for two reasons: 1. This change moves `Destroy.Op`'s current behaviour into `Destroy.SubobjectDestroy`, but it doesn't add support for objects with non-trivial destruction. 2. `Destroy.SubobjectDestroy` is a workaround for `require impls SubobjectDestroy`. We aren't able to use the latter until the dependents add their requirements' implementations to their own witness tables. [PR #7362]: https://github.com/carbon-language/carbon-lang/pulls/7362
This commit is contained in:
+114
-40
@@ -60,37 +60,83 @@ fn G() {
|
||||
// CHECK:STDOUT: %.loc28 = load double, ptr %m.var, align 8, !dbg !57
|
||||
// CHECK:STDOUT: call void @_CF.Main.073fbce68be6103e(double %.loc28), !dbg !58
|
||||
// CHECK:STDOUT: call void @_CF.Main.99ea8cc237f84c8d(%type.26 zeroinitializer), !dbg !59
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !49
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !47
|
||||
// CHECK:STDOUT: call void @"_COp.a50fd899f969e609:core.Destroy.Core"(ptr %d.var), !dbg !45
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !43
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !49
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !47
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.a50fd899f969e609:core.Destroy.Core"(ptr %d.var), !dbg !45
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !43
|
||||
// CHECK:STDOUT: ret void, !dbg !60
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !63
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !67
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.a50fd899f969e609:core.Destroy.Core"(ptr %self) #0 !dbg !69 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !69 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !71
|
||||
// CHECK:STDOUT: ret void, !dbg !71
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !73 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !73 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !75
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !77 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !79
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !81 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !83
|
||||
// CHECK:STDOUT: ret void, !dbg !83
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cb8adced19392b99:core.Destroy.Core"(ptr %self) #0 !dbg !85 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !87
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.a50fd899f969e609:core.Destroy.Core"(ptr %self) #0 !dbg !89 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !91
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.a50fd899f969e609:core.Destroy.Core"(ptr %self) #0 !dbg !93 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.a50fd899f969e609:core.Destroy.Core"(ptr %self), !dbg !95
|
||||
// CHECK:STDOUT: ret void, !dbg !95
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !97 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !99
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !101 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self), !dbg !103
|
||||
// CHECK:STDOUT: ret void, !dbg !103
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
@@ -98,27 +144,27 @@ fn G() {
|
||||
// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.9522ff908e97e267(ptr %_) #0 !dbg !77 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.9522ff908e97e267(ptr %_) #0 !dbg !105 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !80
|
||||
// CHECK:STDOUT: ret void, !dbg !108
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !87 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !115 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !90
|
||||
// CHECK:STDOUT: ret void, !dbg !118
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.073fbce68be6103e(double %_) #0 !dbg !92 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.073fbce68be6103e(double %_) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !95
|
||||
// CHECK:STDOUT: ret void, !dbg !123
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.99ea8cc237f84c8d(%type.26 %_) #0 !dbg !97 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.99ea8cc237f84c8d(%type.26 %_) #0 !dbg !125 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !100
|
||||
// CHECK:STDOUT: ret void, !dbg !128
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -157,36 +203,64 @@ fn G() {
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 28, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 29, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 19, column: 1, scope: !42)
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 23, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !32, line: 23, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !61, type: !37)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 23, column: 3, scope: !61)
|
||||
// CHECK:STDOUT: !64 = !{!62}
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !34)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 22, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 23, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !37)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 23, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !68 = !{!66}
|
||||
// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "Op", linkageName: "_COp.a50fd899f969e609:core.Destroy.Core", scope: null, file: !32, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !72)
|
||||
// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 23, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !72)
|
||||
// CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !69, type: !37)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 21, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 23, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !72 = !{!70}
|
||||
// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "Op", linkageName: "_COp.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 20, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !76)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 1, scope: !73, type: !37)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 20, column: 3, scope: !73)
|
||||
// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !32, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !76)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 1, scope: !73, type: !34)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 22, column: 3, scope: !73)
|
||||
// CHECK:STDOUT: !76 = !{!74}
|
||||
// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.9522ff908e97e267", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !81)
|
||||
// CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !77, type: !37)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 13, column: 1, scope: !77)
|
||||
// CHECK:STDOUT: !81 = !{!78}
|
||||
// CHECK:STDOUT: !87 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !32, line: 13, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !91)
|
||||
// CHECK:STDOUT: !88 = !DILocalVariable(arg: 1, scope: !87, type: !34)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 13, column: 1, scope: !87)
|
||||
// CHECK:STDOUT: !91 = !{!88}
|
||||
// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.073fbce68be6103e", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !96)
|
||||
// CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !92, type: !37)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 13, column: 1, scope: !92)
|
||||
// CHECK:STDOUT: !96 = !{!93}
|
||||
// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.99ea8cc237f84c8d", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !101)
|
||||
// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !80)
|
||||
// CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !77, type: !34)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 22, column: 3, scope: !77)
|
||||
// CHECK:STDOUT: !80 = !{!78}
|
||||
// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 22, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !84)
|
||||
// CHECK:STDOUT: !82 = !DILocalVariable(arg: 1, scope: !81, type: !34)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 22, column: 3, scope: !81)
|
||||
// CHECK:STDOUT: !84 = !{!82}
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cb8adced19392b99:core.Destroy.Core", scope: null, file: !32, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !88)
|
||||
// CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !85, type: !37)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 21, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !88 = !{!86}
|
||||
// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.a50fd899f969e609:core.Destroy.Core", scope: null, file: !32, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !92)
|
||||
// CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !89, type: !37)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 21, column: 3, scope: !89)
|
||||
// CHECK:STDOUT: !92 = !{!90}
|
||||
// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.a50fd899f969e609:core.Destroy.Core", scope: null, file: !32, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !96)
|
||||
// CHECK:STDOUT: !94 = !DILocalVariable(arg: 1, scope: !93, type: !37)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 21, column: 3, scope: !93)
|
||||
// CHECK:STDOUT: !96 = !{!94}
|
||||
// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 20, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !100)
|
||||
// CHECK:STDOUT: !98 = !DILocalVariable(arg: 1, scope: !97, type: !37)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 13, column: 1, scope: !97)
|
||||
// CHECK:STDOUT: !101 = !{!98}
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 20, column: 3, scope: !97)
|
||||
// CHECK:STDOUT: !100 = !{!98}
|
||||
// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 20, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !104)
|
||||
// CHECK:STDOUT: !102 = !DILocalVariable(arg: 1, scope: !101, type: !37)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 20, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !104 = !{!102}
|
||||
// CHECK:STDOUT: !105 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.9522ff908e97e267", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !109)
|
||||
// CHECK:STDOUT: !106 = !DILocalVariable(arg: 1, scope: !105, type: !37)
|
||||
// CHECK:STDOUT: !108 = !DILocation(line: 13, column: 1, scope: !105)
|
||||
// CHECK:STDOUT: !109 = !{!106}
|
||||
// CHECK:STDOUT: !115 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !32, line: 13, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !116 = !DILocalVariable(arg: 1, scope: !115, type: !34)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 13, column: 1, scope: !115)
|
||||
// CHECK:STDOUT: !119 = !{!116}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.073fbce68be6103e", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !124)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !37)
|
||||
// CHECK:STDOUT: !123 = !DILocation(line: 13, column: 1, scope: !120)
|
||||
// CHECK:STDOUT: !124 = !{!121}
|
||||
// CHECK:STDOUT: !125 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.99ea8cc237f84c8d", scope: null, file: !32, line: 13, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !129)
|
||||
// CHECK:STDOUT: !126 = !DILocalVariable(arg: 1, scope: !125, type: !37)
|
||||
// CHECK:STDOUT: !128 = !DILocation(line: 13, column: 1, scope: !125)
|
||||
// CHECK:STDOUT: !129 = !{!126}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+322
-223
@@ -71,45 +71,102 @@ fn M() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !51 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cb8adced19392b99:core.Destroy.Core"(ptr %self) #0 !dbg !51 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !53
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !55 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !55 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !57
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !59 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !59 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !60
|
||||
// CHECK:STDOUT: %p.var = alloca double, align 8, !dbg !62
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !60
|
||||
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !60
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !62
|
||||
// CHECK:STDOUT: store double 1.000000e+00, ptr %p.var, align 8, !dbg !62
|
||||
// CHECK:STDOUT: %.loc52 = load i32, ptr %n.var, align 4, !dbg !64
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc52), !dbg !65
|
||||
// CHECK:STDOUT: %.loc53_18 = load i32, ptr %n.var, align 4, !dbg !66
|
||||
// CHECK:STDOUT: %G.call.loc53 = call i32 @_CG.Main.89a3e87df6fdafe1(i32 %.loc53_18), !dbg !67
|
||||
// CHECK:STDOUT: %.loc54 = load double, ptr %p.var, align 8, !dbg !72
|
||||
// CHECK:STDOUT: call void @_CF.Main.073fbce68be6103e(double %.loc54), !dbg !73
|
||||
// CHECK:STDOUT: %.loc55_18 = load double, ptr %p.var, align 8, !dbg !74
|
||||
// CHECK:STDOUT: %G.call.loc55 = call double @_CG.Main.38241ddc2cd9d74d(double %.loc55_18), !dbg !75
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %p.var), !dbg !62
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !60
|
||||
// CHECK:STDOUT: ret void, !dbg !78
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self), !dbg !61
|
||||
// CHECK:STDOUT: ret void, !dbg !61
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !79 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %self) #0 !dbg !63 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !65
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !67 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !69
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !71 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !73
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !75 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !77
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !79 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !81
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !83 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !85
|
||||
// CHECK:STDOUT: ret void, !dbg !85
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !87 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !88
|
||||
// CHECK:STDOUT: %p.var = alloca double, align 8, !dbg !90
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !88
|
||||
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !88
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !90
|
||||
// CHECK:STDOUT: store double 1.000000e+00, ptr %p.var, align 8, !dbg !90
|
||||
// CHECK:STDOUT: %.loc52 = load i32, ptr %n.var, align 4, !dbg !92
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc52), !dbg !93
|
||||
// CHECK:STDOUT: %.loc53_18 = load i32, ptr %n.var, align 4, !dbg !94
|
||||
// CHECK:STDOUT: %G.call.loc53 = call i32 @_CG.Main.4d9f279dbc2b9f6f(i32 %.loc53_18), !dbg !95
|
||||
// CHECK:STDOUT: %.loc54 = load double, ptr %p.var, align 8, !dbg !100
|
||||
// CHECK:STDOUT: call void @_CF.Main.073fbce68be6103e(double %.loc54), !dbg !101
|
||||
// CHECK:STDOUT: %.loc55_18 = load double, ptr %p.var, align 8, !dbg !102
|
||||
// CHECK:STDOUT: %G.call.loc55 = call double @_CG.Main.cfa50e0c7743522e(double %.loc55_18), !dbg !103
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %p.var), !dbg !90
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !88
|
||||
// CHECK:STDOUT: ret void, !dbg !106
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !107 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !109
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !111 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !113
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !115 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !117
|
||||
// CHECK:STDOUT: ret void, !dbg !117
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync 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
|
||||
// CHECK:STDOUT:
|
||||
@@ -117,148 +174,154 @@ fn M() {
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !83 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !119 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !86
|
||||
// CHECK:STDOUT: ret void, !dbg !122
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.89a3e87df6fdafe1(i32 %x) #0 !dbg !88 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d9f279dbc2b9f6f(i32 %x) #0 !dbg !124 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc29_6.3.temp = alloca i32, align 4, !dbg !94
|
||||
// CHECK:STDOUT: %.loc31_8.3.temp = alloca i32, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %.loc31_9.3.temp = alloca i32, align 4, !dbg !98
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !99
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !103
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !107
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !111
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !115
|
||||
// CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !118
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !94
|
||||
// CHECK:STDOUT: %H.call.loc29 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !94
|
||||
// CHECK:STDOUT: store i32 %H.call.loc29, ptr %.loc29_6.3.temp, align 4, !dbg !94
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !94
|
||||
// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !95
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !97
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.89a3e87df6fdafe1(i32 %x), !dbg !97
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !98
|
||||
// CHECK:STDOUT: store i32 %G.call, ptr %.loc31_8.3.temp, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %.loc31_8.5 = load i32, ptr %.loc31_8.3.temp, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %H.call.loc31 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %.loc31_8.5), !dbg !98
|
||||
// CHECK:STDOUT: store i32 %H.call.loc31, ptr %.loc31_9.3.temp, align 4, !dbg !98
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !98
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !97
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !99
|
||||
// CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !99
|
||||
// CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !101
|
||||
// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !102
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !103
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !103
|
||||
// CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !105
|
||||
// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !106
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !107
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !107
|
||||
// CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !109
|
||||
// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !110
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !111
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !111
|
||||
// CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !113
|
||||
// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !114
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !115
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !118
|
||||
// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !118
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !118
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !115
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !99
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !120
|
||||
// CHECK:STDOUT: %.loc29_6.3.temp = alloca i32, align 4, !dbg !130
|
||||
// CHECK:STDOUT: %.loc31_8.3.temp = alloca i32, align 4, !dbg !133
|
||||
// CHECK:STDOUT: %.loc31_9.3.temp = alloca i32, align 4, !dbg !134
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !135
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !139
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !143
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !147
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !151
|
||||
// CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !154
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !130
|
||||
// CHECK:STDOUT: %H.call.loc29 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !130
|
||||
// CHECK:STDOUT: store i32 %H.call.loc29, ptr %.loc29_6.3.temp, align 4, !dbg !130
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !130
|
||||
// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !131
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !133
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d9f279dbc2b9f6f(i32 %x), !dbg !133
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !134
|
||||
// CHECK:STDOUT: store i32 %G.call, ptr %.loc31_8.3.temp, align 4, !dbg !133
|
||||
// CHECK:STDOUT: %.loc31_8.5 = load i32, ptr %.loc31_8.3.temp, align 4, !dbg !133
|
||||
// CHECK:STDOUT: %H.call.loc31 = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %.loc31_8.5), !dbg !134
|
||||
// CHECK:STDOUT: store i32 %H.call.loc31, ptr %.loc31_9.3.temp, align 4, !dbg !134
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !134
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !133
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !135
|
||||
// CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !135
|
||||
// CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !137
|
||||
// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !138
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !139
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !139
|
||||
// CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !141
|
||||
// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !142
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !143
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !143
|
||||
// CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !145
|
||||
// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !146
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !147
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !147
|
||||
// CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !149
|
||||
// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !150
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !151
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !154
|
||||
// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !154
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !154
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !151
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %ptr_i8.var), !dbg !147
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !143
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !139
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !135
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !156
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.073fbce68be6103e(double %_) #0 !dbg !122 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.073fbce68be6103e(double %_) #0 !dbg !158 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !125
|
||||
// CHECK:STDOUT: ret void, !dbg !161
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.38241ddc2cd9d74d(double %x) #0 !dbg !127 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.cfa50e0c7743522e(double %x) #0 !dbg !163 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc29_6.3.temp = alloca double, align 8, !dbg !133
|
||||
// CHECK:STDOUT: %.loc31_8.3.temp = alloca double, align 8, !dbg !136
|
||||
// CHECK:STDOUT: %.loc31_9.3.temp = alloca double, align 8, !dbg !137
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !138
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !142
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !146
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !150
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !154
|
||||
// CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !157
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !133
|
||||
// CHECK:STDOUT: %H.call.loc29 = call double @_CH.Main.c5e4ba542a56b71f(double %x), !dbg !133
|
||||
// CHECK:STDOUT: store double %H.call.loc29, ptr %.loc29_6.3.temp, align 8, !dbg !133
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !133
|
||||
// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !134
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !136
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.38241ddc2cd9d74d(double %x), !dbg !136
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !137
|
||||
// CHECK:STDOUT: store double %G.call, ptr %.loc31_8.3.temp, align 8, !dbg !136
|
||||
// CHECK:STDOUT: %.loc31_8.5 = load double, ptr %.loc31_8.3.temp, align 8, !dbg !136
|
||||
// CHECK:STDOUT: %H.call.loc31 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc31_8.5), !dbg !137
|
||||
// CHECK:STDOUT: store double %H.call.loc31, ptr %.loc31_9.3.temp, align 8, !dbg !137
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !137
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !136
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !138
|
||||
// CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !138
|
||||
// CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !140
|
||||
// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !141
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !142
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !142
|
||||
// CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !144
|
||||
// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !145
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !146
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !146
|
||||
// CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !148
|
||||
// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !149
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !150
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !150
|
||||
// CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !152
|
||||
// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !153
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !154
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !157
|
||||
// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !157
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !157
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !154
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !138
|
||||
// CHECK:STDOUT: ret double %x, !dbg !159
|
||||
// CHECK:STDOUT: %.loc29_6.3.temp = alloca double, align 8, !dbg !169
|
||||
// CHECK:STDOUT: %.loc31_8.3.temp = alloca double, align 8, !dbg !172
|
||||
// CHECK:STDOUT: %.loc31_9.3.temp = alloca double, align 8, !dbg !173
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !174
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !178
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !182
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !186
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !190
|
||||
// CHECK:STDOUT: %.loc43_6.3.temp = alloca {}, align 1, !dbg !193
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc29_6.3.temp), !dbg !169
|
||||
// CHECK:STDOUT: %H.call.loc29 = call double @_CH.Main.c5e4ba542a56b71f(double %x), !dbg !169
|
||||
// CHECK:STDOUT: store double %H.call.loc29, ptr %.loc29_6.3.temp, align 8, !dbg !169
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc29_6.3.temp), !dbg !169
|
||||
// CHECK:STDOUT: %H.call.loc30 = call %type.26 @_CH.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !170
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_8.3.temp), !dbg !172
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.cfa50e0c7743522e(double %x), !dbg !172
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc31_9.3.temp), !dbg !173
|
||||
// CHECK:STDOUT: store double %G.call, ptr %.loc31_8.3.temp, align 8, !dbg !172
|
||||
// CHECK:STDOUT: %.loc31_8.5 = load double, ptr %.loc31_8.3.temp, align 8, !dbg !172
|
||||
// CHECK:STDOUT: %H.call.loc31 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc31_8.5), !dbg !173
|
||||
// CHECK:STDOUT: store double %H.call.loc31, ptr %.loc31_9.3.temp, align 8, !dbg !173
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc31_9.3.temp), !dbg !173
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc31_8.3.temp), !dbg !172
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !174
|
||||
// CHECK:STDOUT: store double poison, ptr %var_f64.var, align 8, !dbg !174
|
||||
// CHECK:STDOUT: %.loc35_5 = load double, ptr %var_f64.var, align 8, !dbg !176
|
||||
// CHECK:STDOUT: %H.call.loc35 = call double @_CH.Main.c5e4ba542a56b71f(double %.loc35_5), !dbg !177
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !178
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !178
|
||||
// CHECK:STDOUT: %.loc37_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !180
|
||||
// CHECK:STDOUT: %H.call.loc37 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc37_5), !dbg !181
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !182
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !182
|
||||
// CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !184
|
||||
// CHECK:STDOUT: %H.call.loc39 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc39_5), !dbg !185
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !186
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !186
|
||||
// CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !188
|
||||
// CHECK:STDOUT: %H.call.loc41 = call ptr @_CH.Main.a76b78461416b4a8(ptr %.loc41_5), !dbg !189
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !190
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc43_6.3.temp), !dbg !193
|
||||
// CHECK:STDOUT: call void @_CH.Main.42513763e01cba2c(ptr %.loc43_6.3.temp, ptr %c.var), !dbg !193
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc43_6.3.temp), !dbg !193
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !190
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %ptr_i8.var), !dbg !186
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !182
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !178
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !174
|
||||
// CHECK:STDOUT: ret double %x, !dbg !195
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !161 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !197 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !167
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !203
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !169 {
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CH.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !205 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !175
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !211
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CH.Main.c5e4ba542a56b71f(double %x) #0 !dbg !177 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CH.Main.c5e4ba542a56b71f(double %x) #0 !dbg !213 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret double %x, !dbg !183
|
||||
// CHECK:STDOUT: ret double %x, !dbg !219
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CH.Main.a76b78461416b4a8(ptr %x) #0 !dbg !185 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CH.Main.a76b78461416b4a8(ptr %x) #0 !dbg !221 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !191
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !227
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CH.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x) #0 !dbg !209 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CH.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x) #0 !dbg !245 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_COp.C.Main:Copy.Core"(ptr %return, ptr %x), !dbg !214
|
||||
// CHECK:STDOUT: ret void, !dbg !215
|
||||
// CHECK:STDOUT: call void @"_COp.C.Main:Copy.Core"(ptr %return, ptr %x), !dbg !250
|
||||
// CHECK:STDOUT: ret void, !dbg !251
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -293,103 +356,139 @@ fn M() {
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !35)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 15, column: 34, scope: !44)
|
||||
// CHECK:STDOUT: !50 = !{!45}
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "Op", linkageName: "_COp.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 43, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !54)
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cb8adced19392b99:core.Destroy.Core", scope: null, file: !32, line: 43, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !54)
|
||||
// CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !51, type: !35)
|
||||
// CHECK:STDOUT: !53 = !DILocation(line: 43, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !54 = !{!52}
|
||||
// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 34, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !58)
|
||||
// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 43, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !58)
|
||||
// CHECK:STDOUT: !56 = !DILocalVariable(arg: 1, scope: !55, type: !35)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 34, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 43, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !58 = !{!56}
|
||||
// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 48, type: !41, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 49, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 50, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 52, column: 5, scope: !59)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 52, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 53, column: 18, scope: !59)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 53, column: 16, scope: !59)
|
||||
// CHECK:STDOUT: !68 = !{!34, !34}
|
||||
// CHECK:STDOUT: !69 = !DISubroutineType(types: !68)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 54, column: 5, scope: !59)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 54, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 55, column: 18, scope: !59)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 55, column: 16, scope: !59)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 48, column: 1, scope: !59)
|
||||
// CHECK:STDOUT: !79 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 53, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !82)
|
||||
// CHECK:STDOUT: !80 = !DILocalVariable(arg: 1, scope: !79, type: !34)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 53, column: 16, scope: !79)
|
||||
// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 43, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !62)
|
||||
// CHECK:STDOUT: !60 = !DILocalVariable(arg: 1, scope: !59, type: !35)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 43, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !62 = !{!60}
|
||||
// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core", scope: null, file: !32, line: 40, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !66)
|
||||
// CHECK:STDOUT: !64 = !DILocalVariable(arg: 1, scope: !63, type: !35)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 40, column: 3, scope: !63)
|
||||
// CHECK:STDOUT: !66 = !{!64}
|
||||
// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !32, line: 38, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !70)
|
||||
// CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !67, type: !35)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 38, column: 3, scope: !67)
|
||||
// CHECK:STDOUT: !70 = !{!68}
|
||||
// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !32, line: 36, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !74)
|
||||
// CHECK:STDOUT: !72 = !DILocalVariable(arg: 1, scope: !71, type: !35)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 36, column: 3, scope: !71)
|
||||
// CHECK:STDOUT: !74 = !{!72}
|
||||
// CHECK:STDOUT: !75 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !32, line: 34, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !78)
|
||||
// CHECK:STDOUT: !76 = !DILocalVariable(arg: 1, scope: !75, type: !35)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 34, column: 3, scope: !75)
|
||||
// CHECK:STDOUT: !78 = !{!76}
|
||||
// CHECK:STDOUT: !79 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 34, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !82)
|
||||
// CHECK:STDOUT: !80 = !DILocalVariable(arg: 1, scope: !79, type: !35)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 34, column: 3, scope: !79)
|
||||
// CHECK:STDOUT: !82 = !{!80}
|
||||
// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !32, line: 19, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !87)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 1, scope: !83, type: !34)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 19, column: 1, scope: !83)
|
||||
// CHECK:STDOUT: !87 = !{!84}
|
||||
// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.89a3e87df6fdafe1", scope: null, file: !32, line: 28, type: !69, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !121)
|
||||
// CHECK:STDOUT: !89 = !DILocalVariable(arg: 1, scope: !88, type: !34)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 29, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 30, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 31, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 31, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 34, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 35, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 35, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 36, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !105 = !DILocation(line: 37, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 37, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 38, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !109 = !DILocation(line: 39, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 39, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !111 = !DILocation(line: 40, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !113 = !DILocation(line: 41, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 41, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !115 = !DILocation(line: 42, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 43, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !120 = !DILocation(line: 45, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !121 = !{!89}
|
||||
// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.073fbce68be6103e", scope: null, file: !32, line: 19, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !126)
|
||||
// CHECK:STDOUT: !123 = !DILocalVariable(arg: 1, scope: !122, type: !35)
|
||||
// CHECK:STDOUT: !125 = !DILocation(line: 19, column: 1, scope: !122)
|
||||
// CHECK:STDOUT: !126 = !{!123}
|
||||
// CHECK:STDOUT: !127 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.38241ddc2cd9d74d", scope: null, file: !32, line: 28, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !160)
|
||||
// CHECK:STDOUT: !128 = !DILocalVariable(arg: 1, scope: !127, type: !35)
|
||||
// CHECK:STDOUT: !133 = !DILocation(line: 29, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 30, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !136 = !DILocation(line: 31, column: 5, scope: !127)
|
||||
// CHECK:STDOUT: !137 = !DILocation(line: 31, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 34, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !140 = !DILocation(line: 35, column: 5, scope: !127)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 35, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 36, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 37, column: 5, scope: !127)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 37, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !146 = !DILocation(line: 38, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !148 = !DILocation(line: 39, column: 5, scope: !127)
|
||||
// CHECK:STDOUT: !149 = !DILocation(line: 39, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !150 = !DILocation(line: 40, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !152 = !DILocation(line: 41, column: 5, scope: !127)
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 41, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 42, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !157 = !DILocation(line: 43, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !159 = !DILocation(line: 45, column: 3, scope: !127)
|
||||
// CHECK:STDOUT: !160 = !{!128}
|
||||
// CHECK:STDOUT: !161 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 22, type: !69, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !168)
|
||||
// CHECK:STDOUT: !162 = !DILocalVariable(arg: 1, scope: !161, type: !34)
|
||||
// CHECK:STDOUT: !167 = !DILocation(line: 23, column: 3, scope: !161)
|
||||
// CHECK:STDOUT: !168 = !{!162}
|
||||
// CHECK:STDOUT: !169 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c3359c2c217ad593", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !176)
|
||||
// CHECK:STDOUT: !170 = !DILocalVariable(arg: 1, scope: !169, type: !35)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 23, column: 3, scope: !169)
|
||||
// CHECK:STDOUT: !176 = !{!170}
|
||||
// CHECK:STDOUT: !177 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !184)
|
||||
// CHECK:STDOUT: !178 = !DILocalVariable(arg: 1, scope: !177, type: !35)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 23, column: 3, scope: !177)
|
||||
// CHECK:STDOUT: !184 = !{!178}
|
||||
// CHECK:STDOUT: !185 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.a76b78461416b4a8", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !192)
|
||||
// CHECK:STDOUT: !186 = !DILocalVariable(arg: 1, scope: !185, type: !35)
|
||||
// CHECK:STDOUT: !191 = !DILocation(line: 23, column: 3, scope: !185)
|
||||
// CHECK:STDOUT: !192 = !{!186}
|
||||
// CHECK:STDOUT: !209 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.42513763e01cba2c", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !216)
|
||||
// CHECK:STDOUT: !210 = !DILocalVariable(arg: 1, scope: !209, type: !35)
|
||||
// CHECK:STDOUT: !214 = !DILocation(line: 23, column: 10, scope: !209)
|
||||
// CHECK:STDOUT: !215 = !DILocation(line: 23, column: 3, scope: !209)
|
||||
// CHECK:STDOUT: !216 = !{!210}
|
||||
// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 34, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !86)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 1, scope: !83, type: !35)
|
||||
// CHECK:STDOUT: !85 = !DILocation(line: 34, column: 3, scope: !83)
|
||||
// CHECK:STDOUT: !86 = !{!84}
|
||||
// CHECK:STDOUT: !87 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 48, type: !41, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !88 = !DILocation(line: 49, column: 3, scope: !87)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 50, column: 3, scope: !87)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 52, column: 5, scope: !87)
|
||||
// CHECK:STDOUT: !93 = !DILocation(line: 52, column: 3, scope: !87)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 53, column: 18, scope: !87)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 53, column: 16, scope: !87)
|
||||
// CHECK:STDOUT: !96 = !{!34, !34}
|
||||
// CHECK:STDOUT: !97 = !DISubroutineType(types: !96)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 54, column: 5, scope: !87)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 54, column: 3, scope: !87)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 55, column: 18, scope: !87)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 55, column: 16, scope: !87)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 48, column: 1, scope: !87)
|
||||
// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !32, line: 53, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !110)
|
||||
// CHECK:STDOUT: !108 = !DILocalVariable(arg: 1, scope: !107, type: !34)
|
||||
// CHECK:STDOUT: !109 = !DILocation(line: 53, column: 16, scope: !107)
|
||||
// CHECK:STDOUT: !110 = !{!108}
|
||||
// CHECK:STDOUT: !111 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 53, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !114)
|
||||
// CHECK:STDOUT: !112 = !DILocalVariable(arg: 1, scope: !111, type: !34)
|
||||
// CHECK:STDOUT: !113 = !DILocation(line: 53, column: 16, scope: !111)
|
||||
// CHECK:STDOUT: !114 = !{!112}
|
||||
// CHECK:STDOUT: !115 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 53, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !118)
|
||||
// CHECK:STDOUT: !116 = !DILocalVariable(arg: 1, scope: !115, type: !34)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 53, column: 16, scope: !115)
|
||||
// CHECK:STDOUT: !118 = !{!116}
|
||||
// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !32, line: 19, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !123)
|
||||
// CHECK:STDOUT: !120 = !DILocalVariable(arg: 1, scope: !119, type: !34)
|
||||
// CHECK:STDOUT: !122 = !DILocation(line: 19, column: 1, scope: !119)
|
||||
// CHECK:STDOUT: !123 = !{!120}
|
||||
// CHECK:STDOUT: !124 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d9f279dbc2b9f6f", scope: null, file: !32, line: 28, type: !97, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !157)
|
||||
// CHECK:STDOUT: !125 = !DILocalVariable(arg: 1, scope: !124, type: !34)
|
||||
// CHECK:STDOUT: !130 = !DILocation(line: 29, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !131 = !DILocation(line: 30, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !133 = !DILocation(line: 31, column: 5, scope: !124)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 31, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 34, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !137 = !DILocation(line: 35, column: 5, scope: !124)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 35, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !139 = !DILocation(line: 36, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 37, column: 5, scope: !124)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 37, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 38, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 39, column: 5, scope: !124)
|
||||
// CHECK:STDOUT: !146 = !DILocation(line: 39, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !147 = !DILocation(line: 40, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !149 = !DILocation(line: 41, column: 5, scope: !124)
|
||||
// CHECK:STDOUT: !150 = !DILocation(line: 41, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !151 = !DILocation(line: 42, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 43, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 45, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !157 = !{!125}
|
||||
// CHECK:STDOUT: !158 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.073fbce68be6103e", scope: null, file: !32, line: 19, type: !39, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !162)
|
||||
// CHECK:STDOUT: !159 = !DILocalVariable(arg: 1, scope: !158, type: !35)
|
||||
// CHECK:STDOUT: !161 = !DILocation(line: 19, column: 1, scope: !158)
|
||||
// CHECK:STDOUT: !162 = !{!159}
|
||||
// CHECK:STDOUT: !163 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.cfa50e0c7743522e", scope: null, file: !32, line: 28, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !196)
|
||||
// CHECK:STDOUT: !164 = !DILocalVariable(arg: 1, scope: !163, type: !35)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 29, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 30, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !172 = !DILocation(line: 31, column: 5, scope: !163)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 31, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !174 = !DILocation(line: 34, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 35, column: 5, scope: !163)
|
||||
// CHECK:STDOUT: !177 = !DILocation(line: 35, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 36, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 37, column: 5, scope: !163)
|
||||
// CHECK:STDOUT: !181 = !DILocation(line: 37, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !182 = !DILocation(line: 38, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 39, column: 5, scope: !163)
|
||||
// CHECK:STDOUT: !185 = !DILocation(line: 39, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !186 = !DILocation(line: 40, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !188 = !DILocation(line: 41, column: 5, scope: !163)
|
||||
// CHECK:STDOUT: !189 = !DILocation(line: 41, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !190 = !DILocation(line: 42, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !193 = !DILocation(line: 43, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !195 = !DILocation(line: 45, column: 3, scope: !163)
|
||||
// CHECK:STDOUT: !196 = !{!164}
|
||||
// CHECK:STDOUT: !197 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 22, type: !97, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !204)
|
||||
// CHECK:STDOUT: !198 = !DILocalVariable(arg: 1, scope: !197, type: !34)
|
||||
// CHECK:STDOUT: !203 = !DILocation(line: 23, column: 3, scope: !197)
|
||||
// CHECK:STDOUT: !204 = !{!198}
|
||||
// CHECK:STDOUT: !205 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c3359c2c217ad593", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !212)
|
||||
// CHECK:STDOUT: !206 = !DILocalVariable(arg: 1, scope: !205, type: !35)
|
||||
// CHECK:STDOUT: !211 = !DILocation(line: 23, column: 3, scope: !205)
|
||||
// CHECK:STDOUT: !212 = !{!206}
|
||||
// CHECK:STDOUT: !213 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !220)
|
||||
// CHECK:STDOUT: !214 = !DILocalVariable(arg: 1, scope: !213, type: !35)
|
||||
// CHECK:STDOUT: !219 = !DILocation(line: 23, column: 3, scope: !213)
|
||||
// CHECK:STDOUT: !220 = !{!214}
|
||||
// CHECK:STDOUT: !221 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.a76b78461416b4a8", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !228)
|
||||
// CHECK:STDOUT: !222 = !DILocalVariable(arg: 1, scope: !221, type: !35)
|
||||
// CHECK:STDOUT: !227 = !DILocation(line: 23, column: 3, scope: !221)
|
||||
// CHECK:STDOUT: !228 = !{!222}
|
||||
// CHECK:STDOUT: !245 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.42513763e01cba2c", scope: null, file: !32, line: 22, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !252)
|
||||
// CHECK:STDOUT: !246 = !DILocalVariable(arg: 1, scope: !245, type: !35)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 23, column: 10, scope: !245)
|
||||
// CHECK:STDOUT: !251 = !DILocation(line: 23, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !252 = !{!246}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -52,50 +52,63 @@ fn M() -> i32 {
|
||||
// CHECK:STDOUT: %.loc34 = load i32, ptr %n.var, align 4, !dbg !32
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %.loc34), !dbg !33
|
||||
// CHECK:STDOUT: %.loc35_9 = load i32, ptr %n.var, align 4, !dbg !35
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.89a3e87df6fdafe1(i32 %.loc35_9), !dbg !36
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d9f279dbc2b9f6f(i32 %.loc35_9), !dbg !36
|
||||
// CHECK:STDOUT: store i32 %G.call, ptr %m.var, align 4, !dbg !34
|
||||
// CHECK:STDOUT: %.loc36 = load i32, ptr %m.var, align 4, !dbg !39
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %m.var), !dbg !30
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !28
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %m.var), !dbg !30
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !28
|
||||
// CHECK:STDOUT: ret i32 %.loc36, !dbg !40
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !41 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !41 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !43
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !45 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !47
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !49 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !51
|
||||
// CHECK:STDOUT: ret void, !dbg !51
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !45 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.84588f41d61dafba(i32 %_) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !48
|
||||
// CHECK:STDOUT: ret void, !dbg !56
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.89a3e87df6fdafe1(i32 %x) #0 !dbg !50 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d9f279dbc2b9f6f(i32 %x) #0 !dbg !58 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc25_6.3.temp = alloca i32, align 4, !dbg !56
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc25_6.3.temp), !dbg !56
|
||||
// CHECK:STDOUT: %H.call = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !56
|
||||
// CHECK:STDOUT: store i32 %H.call, ptr %.loc25_6.3.temp, align 4, !dbg !56
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc25_6.3.temp), !dbg !56
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !58
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !60
|
||||
// CHECK:STDOUT: %.loc25_6.3.temp = alloca i32, align 4, !dbg !64
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc25_6.3.temp), !dbg !64
|
||||
// CHECK:STDOUT: %H.call = call i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x), !dbg !64
|
||||
// CHECK:STDOUT: store i32 %H.call, ptr %.loc25_6.3.temp, align 4, !dbg !64
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc25_6.3.temp), !dbg !64
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !66
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !68
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !62 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CH.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !70 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !68
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !70
|
||||
// CHECK:STDOUT: call void @_CF.Main.84588f41d61dafba(i32 %x), !dbg !76
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !78
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
// CHECK:STDOUT: uselistorder ptr @"_COp.f58524831c37807e:core.Destroy.Core", { 0, 2, 1 }
|
||||
// CHECK:STDOUT: uselistorder ptr @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core", { 0, 2, 1 }
|
||||
// CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 0, 2, 1 }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: attributes #0 = { nounwind }
|
||||
@@ -125,23 +138,31 @@ fn M() -> i32 {
|
||||
// CHECK:STDOUT: !38 = !DISubroutineType(types: !37)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 36, column: 10, scope: !25)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 36, column: 3, scope: !25)
|
||||
// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 35, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !44)
|
||||
// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !18, line: 35, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !44)
|
||||
// CHECK:STDOUT: !42 = !DILocalVariable(arg: 1, scope: !41, type: !20)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 35, column: 7, scope: !41)
|
||||
// CHECK:STDOUT: !44 = !{!42}
|
||||
// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !18, line: 16, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !49)
|
||||
// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 35, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !48)
|
||||
// CHECK:STDOUT: !46 = !DILocalVariable(arg: 1, scope: !45, type: !20)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 16, column: 1, scope: !45)
|
||||
// CHECK:STDOUT: !49 = !{!46}
|
||||
// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.89a3e87df6fdafe1", scope: null, file: !18, line: 24, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !61)
|
||||
// CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !50, type: !20)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 25, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 26, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 27, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !61 = !{!51}
|
||||
// CHECK:STDOUT: !62 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !18, line: 19, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !63 = !DILocalVariable(arg: 1, scope: !62, type: !20)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 20, column: 3, scope: !62)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 21, column: 3, scope: !62)
|
||||
// CHECK:STDOUT: !71 = !{!63}
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 35, column: 7, scope: !45)
|
||||
// CHECK:STDOUT: !48 = !{!46}
|
||||
// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 35, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !52)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 1, scope: !49, type: !20)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 35, column: 7, scope: !49)
|
||||
// CHECK:STDOUT: !52 = !{!50}
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.84588f41d61dafba", scope: null, file: !18, line: 16, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !57)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !20)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 16, column: 1, scope: !53)
|
||||
// CHECK:STDOUT: !57 = !{!54}
|
||||
// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d9f279dbc2b9f6f", scope: null, file: !18, line: 24, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !69)
|
||||
// CHECK:STDOUT: !59 = !DILocalVariable(arg: 1, scope: !58, type: !20)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 25, column: 3, scope: !58)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 26, column: 3, scope: !58)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 27, column: 3, scope: !58)
|
||||
// CHECK:STDOUT: !69 = !{!59}
|
||||
// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main.4d6ceefeb7f772f4", scope: null, file: !18, line: 19, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !71 = !DILocalVariable(arg: 1, scope: !70, type: !20)
|
||||
// CHECK:STDOUT: !76 = !DILocation(line: 20, column: 3, scope: !70)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 21, column: 3, scope: !70)
|
||||
// CHECK:STDOUT: !79 = !{!71}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+72
-37
@@ -28,33 +28,54 @@ fn M() {
|
||||
// CHECK:STDOUT: source_filename = "call_dedup_ptr.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !36 {
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !39 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !37
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !44
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !48
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !37
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !37
|
||||
// CHECK:STDOUT: %.loc19_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !39
|
||||
// CHECK:STDOUT: %F.call.loc19 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc19_5), !dbg !40
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !44
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !44
|
||||
// CHECK:STDOUT: %.loc21_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !46
|
||||
// CHECK:STDOUT: %F.call.loc21 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc21_5), !dbg !47
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !48
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !48
|
||||
// CHECK:STDOUT: %.loc23_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !50
|
||||
// CHECK:STDOUT: %F.call.loc23 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc23_5), !dbg !51
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !40
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !46
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !50
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !40
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !40
|
||||
// CHECK:STDOUT: %.loc19_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !42
|
||||
// CHECK:STDOUT: %F.call.loc19 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc19_5), !dbg !43
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !46
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !46
|
||||
// CHECK:STDOUT: %.loc21_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !48
|
||||
// CHECK:STDOUT: %F.call.loc21 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc21_5), !dbg !49
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !50
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !50
|
||||
// CHECK:STDOUT: %.loc23_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !52
|
||||
// CHECK:STDOUT: %F.call.loc23 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc23_5), !dbg !53
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %ptr_i8.var), !dbg !50
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !46
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !40
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %self) #0 !dbg !55 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !57
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !59 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !61
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !63 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !65
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !67 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !59
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !73
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -73,22 +94,36 @@ fn M() {
|
||||
// CHECK:STDOUT: !33 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !32, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !34 = !{null}
|
||||
// CHECK:STDOUT: !35 = !DISubroutineType(types: !34)
|
||||
// CHECK:STDOUT: !36 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 17, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 18, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 19, column: 5, scope: !36)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 19, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !41 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !42 = !{!41, !41}
|
||||
// CHECK:STDOUT: !43 = !DISubroutineType(types: !42)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 20, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 21, column: 5, scope: !36)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 21, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 22, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 23, column: 5, scope: !36)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 23, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 17, column: 1, scope: !36)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !32, line: 13, type: !43, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !60)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !41)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 14, column: 3, scope: !53)
|
||||
// CHECK:STDOUT: !60 = !{!54}
|
||||
// CHECK:STDOUT: !36 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !37 = !{null, !36}
|
||||
// CHECK:STDOUT: !38 = !DISubroutineType(types: !37)
|
||||
// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 17, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 18, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 19, column: 5, scope: !39)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 19, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !44 = !{!36, !36}
|
||||
// CHECK:STDOUT: !45 = !DISubroutineType(types: !44)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 20, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 21, column: 5, scope: !39)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 21, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 22, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 23, column: 5, scope: !39)
|
||||
// CHECK:STDOUT: !53 = !DILocation(line: 23, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 17, column: 1, scope: !39)
|
||||
// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core", scope: null, file: !32, line: 22, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !58)
|
||||
// CHECK:STDOUT: !56 = !DILocalVariable(arg: 1, scope: !55, type: !36)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 22, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !58 = !{!56}
|
||||
// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !32, line: 20, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !62)
|
||||
// CHECK:STDOUT: !60 = !DILocalVariable(arg: 1, scope: !59, type: !36)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 20, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !62 = !{!60}
|
||||
// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !32, line: 18, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !66)
|
||||
// CHECK:STDOUT: !64 = !DILocalVariable(arg: 1, scope: !63, type: !36)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 18, column: 3, scope: !63)
|
||||
// CHECK:STDOUT: !66 = !{!64}
|
||||
// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !32, line: 13, type: !45, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !74)
|
||||
// CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !67, type: !36)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 14, column: 3, scope: !67)
|
||||
// CHECK:STDOUT: !74 = !{!68}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+142
-78
@@ -56,83 +56,123 @@ fn M() {
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !45
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !45
|
||||
// CHECK:STDOUT: %.loc39_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !47
|
||||
// CHECK:STDOUT: call void @_CF.Main.89a3e87df6fdafe1(ptr %.loc39_5), !dbg !48
|
||||
// CHECK:STDOUT: call void @_CF.Main.4d9f279dbc2b9f6f(ptr %.loc39_5), !dbg !48
|
||||
// CHECK:STDOUT: %.loc40_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !49
|
||||
// CHECK:STDOUT: call void @_CF.Main.38241ddc2cd9d74d(ptr %.loc40_5), !dbg !50
|
||||
// CHECK:STDOUT: call void @_CF.Main.cfa50e0c7743522e(ptr %.loc40_5), !dbg !50
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !45
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !43
|
||||
// CHECK:STDOUT: ret void, !dbg !51
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !62
|
||||
// CHECK:STDOUT: ret void, !dbg !62
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !66
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !68 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !70
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !72 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !74
|
||||
// CHECK:STDOUT: ret void, !dbg !74
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !76 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !78
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !80 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !82
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.4d9f279dbc2b9f6f(ptr %x) #0 !dbg !84 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !63
|
||||
// CHECK:STDOUT: call void @_CB.Main.89a3e87df6fdafe1(ptr %x), !dbg !67
|
||||
// CHECK:STDOUT: ret void, !dbg !68
|
||||
// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !87
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d9f279dbc2b9f6f(ptr %x), !dbg !91
|
||||
// CHECK:STDOUT: ret void, !dbg !92
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !70 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.cfa50e0c7743522e(ptr %x) #0 !dbg !94 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !73
|
||||
// CHECK:STDOUT: call void @_CB.Main.38241ddc2cd9d74d(ptr %x), !dbg !75
|
||||
// CHECK:STDOUT: ret void, !dbg !76
|
||||
// CHECK:STDOUT: %A.call = call %type.26 @_CA.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !97
|
||||
// CHECK:STDOUT: call void @_CB.Main.cfa50e0c7743522e(ptr %x), !dbg !99
|
||||
// CHECK:STDOUT: ret void, !dbg !100
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !78 {
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CA.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !102 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !84
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !108
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !86 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.4d9f279dbc2b9f6f(ptr %x) #0 !dbg !110 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc27_7.3.temp = alloca i32, align 4, !dbg !91
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !91
|
||||
// CHECK:STDOUT: %.loc27_5.2 = load i32, ptr %x, align 4, !dbg !90
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc27_5.2), !dbg !91
|
||||
// CHECK:STDOUT: store i32 %D.call, ptr %.loc27_7.3.temp, align 4, !dbg !91
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !91
|
||||
// CHECK:STDOUT: ret void, !dbg !94
|
||||
// CHECK:STDOUT: %.loc27_7.3.temp = alloca i32, align 4, !dbg !115
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !115
|
||||
// CHECK:STDOUT: %.loc27_5.2 = load i32, ptr %x, align 4, !dbg !114
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc27_5.2), !dbg !115
|
||||
// CHECK:STDOUT: store i32 %D.call, ptr %.loc27_7.3.temp, align 4, !dbg !115
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !115
|
||||
// CHECK:STDOUT: ret void, !dbg !118
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !96 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.cfa50e0c7743522e(ptr %x) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc27_7.3.temp = alloca double, align 8, !dbg !101
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !101
|
||||
// CHECK:STDOUT: %.loc27_5.2 = load double, ptr %x, align 8, !dbg !100
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc27_5.2), !dbg !101
|
||||
// CHECK:STDOUT: store double %D.call, ptr %.loc27_7.3.temp, align 8, !dbg !101
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !101
|
||||
// CHECK:STDOUT: ret void, !dbg !102
|
||||
// CHECK:STDOUT: %.loc27_7.3.temp = alloca double, align 8, !dbg !125
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc27_7.3.temp), !dbg !125
|
||||
// CHECK:STDOUT: %.loc27_5.2 = load double, ptr %x, align 8, !dbg !124
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc27_5.2), !dbg !125
|
||||
// CHECK:STDOUT: store double %D.call, ptr %.loc27_7.3.temp, align 8, !dbg !125
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc27_7.3.temp), !dbg !125
|
||||
// CHECK:STDOUT: ret void, !dbg !126
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !104 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !128 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !110
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !134
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret double %x, !dbg !118
|
||||
// CHECK:STDOUT: ret double %x, !dbg !142
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -165,52 +205,76 @@ fn M() {
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 40, column: 5, scope: !42)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 40, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 35, column: 1, scope: !42)
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !32, line: 39, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !34)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 39, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !55 = !{!53}
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !39)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 40, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !34)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 39, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !59 = !{!57}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.89a3e87df6fdafe1", scope: null, file: !32, line: 30, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !69)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !39)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 31, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !64 = !{!39, !39}
|
||||
// CHECK:STDOUT: !65 = !DISubroutineType(types: !64)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 32, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 30, column: 1, scope: !60)
|
||||
// CHECK:STDOUT: !69 = !{!61}
|
||||
// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.38241ddc2cd9d74d", scope: null, file: !32, line: 30, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !77)
|
||||
// CHECK:STDOUT: !71 = !DILocalVariable(arg: 1, scope: !70, type: !39)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 31, column: 3, scope: !70)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 32, column: 3, scope: !70)
|
||||
// CHECK:STDOUT: !76 = !DILocation(line: 30, column: 1, scope: !70)
|
||||
// CHECK:STDOUT: !77 = !{!71}
|
||||
// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !65, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !85)
|
||||
// CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !78, type: !39)
|
||||
// CHECK:STDOUT: !84 = !DILocation(line: 19, column: 3, scope: !78)
|
||||
// CHECK:STDOUT: !85 = !{!79}
|
||||
// CHECK:STDOUT: !86 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.89a3e87df6fdafe1", scope: null, file: !32, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !95)
|
||||
// CHECK:STDOUT: !87 = !DILocalVariable(arg: 1, scope: !86, type: !39)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 27, column: 5, scope: !86)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 27, column: 3, scope: !86)
|
||||
// CHECK:STDOUT: !92 = !{!34, !34}
|
||||
// CHECK:STDOUT: !93 = !DISubroutineType(types: !92)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 26, column: 1, scope: !86)
|
||||
// CHECK:STDOUT: !95 = !{!87}
|
||||
// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.38241ddc2cd9d74d", scope: null, file: !32, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !103)
|
||||
// CHECK:STDOUT: !97 = !DILocalVariable(arg: 1, scope: !96, type: !39)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 27, column: 5, scope: !96)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 27, column: 3, scope: !96)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 26, column: 1, scope: !96)
|
||||
// CHECK:STDOUT: !103 = !{!97}
|
||||
// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 22, type: !93, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !111)
|
||||
// CHECK:STDOUT: !105 = !DILocalVariable(arg: 1, scope: !104, type: !34)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 23, column: 3, scope: !104)
|
||||
// CHECK:STDOUT: !111 = !{!105}
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 22, type: !65, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !39)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 23, column: 3, scope: !112)
|
||||
// CHECK:STDOUT: !119 = !{!113}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !34)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 39, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !63 = !{!61}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !32, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !67)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !39)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 40, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !67 = !{!65}
|
||||
// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !68, type: !39)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 40, column: 3, scope: !68)
|
||||
// CHECK:STDOUT: !71 = !{!69}
|
||||
// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !75)
|
||||
// CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !72, type: !39)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 40, column: 3, scope: !72)
|
||||
// CHECK:STDOUT: !75 = !{!73}
|
||||
// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !32, line: 37, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !77 = !DILocalVariable(arg: 1, scope: !76, type: !39)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 37, column: 3, scope: !76)
|
||||
// CHECK:STDOUT: !79 = !{!77}
|
||||
// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !32, line: 36, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !83)
|
||||
// CHECK:STDOUT: !81 = !DILocalVariable(arg: 1, scope: !80, type: !39)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 36, column: 3, scope: !80)
|
||||
// CHECK:STDOUT: !83 = !{!81}
|
||||
// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d9f279dbc2b9f6f", scope: null, file: !32, line: 30, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !93)
|
||||
// CHECK:STDOUT: !85 = !DILocalVariable(arg: 1, scope: !84, type: !39)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 31, column: 3, scope: !84)
|
||||
// CHECK:STDOUT: !88 = !{!39, !39}
|
||||
// CHECK:STDOUT: !89 = !DISubroutineType(types: !88)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 32, column: 3, scope: !84)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 30, column: 1, scope: !84)
|
||||
// CHECK:STDOUT: !93 = !{!85}
|
||||
// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.cfa50e0c7743522e", scope: null, file: !32, line: 30, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !101)
|
||||
// CHECK:STDOUT: !95 = !DILocalVariable(arg: 1, scope: !94, type: !39)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 31, column: 3, scope: !94)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 32, column: 3, scope: !94)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 30, column: 1, scope: !94)
|
||||
// CHECK:STDOUT: !101 = !{!95}
|
||||
// CHECK:STDOUT: !102 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !89, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !109)
|
||||
// CHECK:STDOUT: !103 = !DILocalVariable(arg: 1, scope: !102, type: !39)
|
||||
// CHECK:STDOUT: !108 = !DILocation(line: 19, column: 3, scope: !102)
|
||||
// CHECK:STDOUT: !109 = !{!103}
|
||||
// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d9f279dbc2b9f6f", scope: null, file: !32, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !111 = !DILocalVariable(arg: 1, scope: !110, type: !39)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 27, column: 5, scope: !110)
|
||||
// CHECK:STDOUT: !115 = !DILocation(line: 27, column: 3, scope: !110)
|
||||
// CHECK:STDOUT: !116 = !{!34, !34}
|
||||
// CHECK:STDOUT: !117 = !DISubroutineType(types: !116)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 26, column: 1, scope: !110)
|
||||
// CHECK:STDOUT: !119 = !{!111}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.cfa50e0c7743522e", scope: null, file: !32, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !127)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !39)
|
||||
// CHECK:STDOUT: !124 = !DILocation(line: 27, column: 5, scope: !120)
|
||||
// CHECK:STDOUT: !125 = !DILocation(line: 27, column: 3, scope: !120)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 26, column: 1, scope: !120)
|
||||
// CHECK:STDOUT: !127 = !{!121}
|
||||
// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 22, type: !117, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !135)
|
||||
// CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !128, type: !34)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 23, column: 3, scope: !128)
|
||||
// CHECK:STDOUT: !135 = !{!129}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 22, type: !89, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !143)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !39)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 23, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !143 = !{!137}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+49
-24
@@ -42,29 +42,43 @@ fn H() {
|
||||
// CHECK:STDOUT: source_filename = "call_different_associated_const.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CH.Main() #0 !dbg !36 {
|
||||
// CHECK:STDOUT: define void @_CH.Main() #0 !dbg !39 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.0676fa98bb7dbd66(), !dbg !37
|
||||
// CHECK:STDOUT: call void @_CG.Main.3e979ea3a37f4bf1(), !dbg !38
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: call void @_CG.Main.0676fa98bb7dbd66(), !dbg !40
|
||||
// CHECK:STDOUT: call void @_CG.Main.3e979ea3a37f4bf1(), !dbg !41
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.0676fa98bb7dbd66() #0 !dbg !40 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %self) #0 !dbg !43 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !41
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !41
|
||||
// CHECK:STDOUT: store ptr poison, ptr %_.var, align 8, !dbg !41
|
||||
// CHECK:STDOUT: ret void, !dbg !43
|
||||
// CHECK:STDOUT: ret void, !dbg !45
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.3e979ea3a37f4bf1() #0 !dbg !44 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !47 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !45
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !45
|
||||
// CHECK:STDOUT: store ptr poison, ptr %_.var, align 8, !dbg !45
|
||||
// CHECK:STDOUT: ret void, !dbg !47
|
||||
// CHECK:STDOUT: ret void, !dbg !49
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.0676fa98bb7dbd66() #0 !dbg !51 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !52
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !52
|
||||
// CHECK:STDOUT: store ptr poison, ptr %_.var, align 8, !dbg !52
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %_.var), !dbg !52
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.3e979ea3a37f4bf1() #0 !dbg !55 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca ptr, align 8, !dbg !56
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !56
|
||||
// CHECK:STDOUT: store ptr poison, ptr %_.var, align 8, !dbg !56
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %_.var), !dbg !56
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
@@ -85,14 +99,25 @@ fn H() {
|
||||
// CHECK:STDOUT: !33 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !32, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !34 = !{null}
|
||||
// CHECK:STDOUT: !35 = !DISubroutineType(types: !34)
|
||||
// CHECK:STDOUT: !36 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main", scope: null, file: !32, line: 35, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 36, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 37, column: 3, scope: !36)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 35, column: 1, scope: !36)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.0676fa98bb7dbd66", scope: null, file: !32, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 23, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 22, column: 1, scope: !40)
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.3e979ea3a37f4bf1", scope: null, file: !32, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !45 = !DILocation(line: 23, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 22, column: 1, scope: !44)
|
||||
// CHECK:STDOUT: !36 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !37 = !{null, !36}
|
||||
// CHECK:STDOUT: !38 = !DISubroutineType(types: !37)
|
||||
// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "H", linkageName: "_CH.Main", scope: null, file: !32, line: 35, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 36, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 37, column: 3, scope: !39)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 35, column: 1, scope: !39)
|
||||
// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core", scope: null, file: !32, line: 23, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !46)
|
||||
// CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !43, type: !36)
|
||||
// CHECK:STDOUT: !45 = !DILocation(line: 23, column: 3, scope: !43)
|
||||
// CHECK:STDOUT: !46 = !{!44}
|
||||
// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !32, line: 23, type: !38, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !50)
|
||||
// CHECK:STDOUT: !48 = !DILocalVariable(arg: 1, scope: !47, type: !36)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 23, column: 3, scope: !47)
|
||||
// CHECK:STDOUT: !50 = !{!48}
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.0676fa98bb7dbd66", scope: null, file: !32, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 23, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 22, column: 1, scope: !51)
|
||||
// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.3e979ea3a37f4bf1", scope: null, file: !32, line: 22, type: !35, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 23, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 22, column: 1, scope: !55)
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+88
-54
@@ -50,58 +50,78 @@ fn Run() {
|
||||
// CHECK:STDOUT: @printf.int.format = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i1 @"_CF.X.Main:I.Main"() #0 !dbg !14 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %self) #0 !dbg !16 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !17
|
||||
// CHECK:STDOUT: ret i1 false, !dbg !18
|
||||
// CHECK:STDOUT: ret void, !dbg !18
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !19 {
|
||||
// CHECK:STDOUT: define i1 @"_CF.X.Main:I.Main"() #0 !dbg !20 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !21
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !23
|
||||
// CHECK:STDOUT: ret i1 false, !dbg !24
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @"_CF.Y.Main:I.Main"() #0 !dbg !23 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !25 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !26
|
||||
// CHECK:STDOUT: ret i32 2, !dbg !27
|
||||
// CHECK:STDOUT: ret void, !dbg !27
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @main() #0 !dbg !28 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !29 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.d0cc85b6c89517e3(), !dbg !29
|
||||
// CHECK:STDOUT: call void @_CG.Main.e8d4d639bae9ba40(), !dbg !32
|
||||
// CHECK:STDOUT: ret i32 0, !dbg !33
|
||||
// CHECK:STDOUT: ret void, !dbg !31
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !33 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !35
|
||||
// CHECK:STDOUT: ret void, !dbg !35
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @"_CF.Y.Main:I.Main"() #0 !dbg !37 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !40
|
||||
// CHECK:STDOUT: ret i32 2, !dbg !41
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @main() #0 !dbg !42 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.d0cc85b6c89517e3(), !dbg !43
|
||||
// CHECK:STDOUT: call void @_CG.Main.e8d4d639bae9ba40(), !dbg !46
|
||||
// CHECK:STDOUT: ret i32 0, !dbg !47
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.d0cc85b6c89517e3() #0 !dbg !34 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.d0cc85b6c89517e3() #0 !dbg !48 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc38_20.1.temp = alloca i1, align 1, !dbg !35
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !35
|
||||
// CHECK:STDOUT: %I.WithSelf.F.call = call i1 @"_CF.X.Main:I.Main"(), !dbg !35
|
||||
// CHECK:STDOUT: %.loc38_20.2 = zext i1 %I.WithSelf.F.call to i8, !dbg !35
|
||||
// CHECK:STDOUT: store i8 %.loc38_20.2, ptr %.loc38_20.1.temp, align 1, !dbg !35
|
||||
// CHECK:STDOUT: %.loc38_20.3 = load i8, ptr %.loc38_20.1.temp, align 1, !dbg !35
|
||||
// CHECK:STDOUT: %.loc38_20.31 = trunc i8 %.loc38_20.3 to i1, !dbg !35
|
||||
// CHECK:STDOUT: ret void, !dbg !38
|
||||
// CHECK:STDOUT: %.loc38_20.1.temp = alloca i1, align 1, !dbg !49
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !49
|
||||
// CHECK:STDOUT: %I.WithSelf.F.call = call i1 @"_CF.X.Main:I.Main"(), !dbg !49
|
||||
// CHECK:STDOUT: %.loc38_20.2 = zext i1 %I.WithSelf.F.call to i8, !dbg !49
|
||||
// CHECK:STDOUT: store i8 %.loc38_20.2, ptr %.loc38_20.1.temp, align 1, !dbg !49
|
||||
// CHECK:STDOUT: %.loc38_20.3 = load i8, ptr %.loc38_20.1.temp, align 1, !dbg !49
|
||||
// CHECK:STDOUT: %.loc38_20.31 = trunc i8 %.loc38_20.3 to i1, !dbg !49
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %.loc38_20.1.temp), !dbg !49
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.e8d4d639bae9ba40() #0 !dbg !39 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.e8d4d639bae9ba40() #0 !dbg !53 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc38_20.1.temp = alloca i32, align 4, !dbg !40
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !40
|
||||
// CHECK:STDOUT: %I.WithSelf.F.call = call i32 @"_CF.Y.Main:I.Main"(), !dbg !40
|
||||
// CHECK:STDOUT: store i32 %I.WithSelf.F.call, ptr %.loc38_20.1.temp, align 4, !dbg !40
|
||||
// CHECK:STDOUT: %.loc38_20.3 = load i32, ptr %.loc38_20.1.temp, align 4, !dbg !40
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc38_20.1.temp), !dbg !40
|
||||
// CHECK:STDOUT: ret void, !dbg !43
|
||||
// CHECK:STDOUT: %.loc38_20.1.temp = alloca i32, align 4, !dbg !54
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc38_20.1.temp), !dbg !54
|
||||
// CHECK:STDOUT: %I.WithSelf.F.call = call i32 @"_CF.Y.Main:I.Main"(), !dbg !54
|
||||
// CHECK:STDOUT: store i32 %I.WithSelf.F.call, ptr %.loc38_20.1.temp, align 4, !dbg !54
|
||||
// CHECK:STDOUT: %.loc38_20.3 = load i32, ptr %.loc38_20.1.temp, align 4, !dbg !54
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc38_20.1.temp), !dbg !54
|
||||
// CHECK:STDOUT: ret void, !dbg !57
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
@@ -123,32 +143,46 @@ fn Run() {
|
||||
// CHECK:STDOUT: !5 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !4, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
||||
// CHECK:STDOUT: !7 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !8 = !{!7}
|
||||
// CHECK:STDOUT: !8 = !{null, !7}
|
||||
// CHECK:STDOUT: !9 = !DISubroutineType(types: !8)
|
||||
// CHECK:STDOUT: !10 = !{null, !6}
|
||||
// CHECK:STDOUT: !10 = !{!7}
|
||||
// CHECK:STDOUT: !11 = !DISubroutineType(types: !10)
|
||||
// CHECK:STDOUT: !12 = !{!6}
|
||||
// CHECK:STDOUT: !12 = !{null, !6}
|
||||
// CHECK:STDOUT: !13 = !DISubroutineType(types: !12)
|
||||
// CHECK:STDOUT: !14 = distinct !DISubprogram(name: "F", linkageName: "_CF.X.Main:I.Main", scope: null, file: !4, line: 22, type: !9, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !17 = !DILocation(line: 23, column: 5, scope: !14)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 24, column: 5, scope: !14)
|
||||
// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 28, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !22)
|
||||
// CHECK:STDOUT: !20 = !DILocalVariable(arg: 1, scope: !19, type: !6)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 28, column: 24, scope: !19)
|
||||
// CHECK:STDOUT: !22 = !{!20}
|
||||
// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "F", linkageName: "_CF.Y.Main:I.Main", scope: null, file: !4, line: 29, type: !13, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !26 = !DILocation(line: 30, column: 5, scope: !23)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 31, column: 5, scope: !23)
|
||||
// CHECK:STDOUT: !28 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !4, line: 41, type: !13, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !29 = !DILocation(line: 42, column: 3, scope: !28)
|
||||
// CHECK:STDOUT: !30 = !{null}
|
||||
// CHECK:STDOUT: !31 = !DISubroutineType(types: !30)
|
||||
// CHECK:STDOUT: !32 = !DILocation(line: 43, column: 3, scope: !28)
|
||||
// CHECK:STDOUT: !33 = !DILocation(line: 41, column: 1, scope: !28)
|
||||
// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.d0cc85b6c89517e3", scope: null, file: !4, line: 37, type: !31, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !35 = !DILocation(line: 38, column: 16, scope: !34)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 37, column: 1, scope: !34)
|
||||
// CHECK:STDOUT: !39 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.e8d4d639bae9ba40", scope: null, file: !4, line: 37, type: !31, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 38, column: 16, scope: !39)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 37, column: 1, scope: !39)
|
||||
// CHECK:STDOUT: !14 = !{!6}
|
||||
// CHECK:STDOUT: !15 = !DISubroutineType(types: !14)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core", scope: null, file: !4, line: 21, type: !9, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !19)
|
||||
// CHECK:STDOUT: !17 = !DILocalVariable(arg: 1, scope: !16, type: !7)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 21, column: 24, scope: !16)
|
||||
// CHECK:STDOUT: !19 = !{!17}
|
||||
// CHECK:STDOUT: !20 = distinct !DISubprogram(name: "F", linkageName: "_CF.X.Main:I.Main", scope: null, file: !4, line: 22, type: !11, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 23, column: 5, scope: !20)
|
||||
// CHECK:STDOUT: !24 = !DILocation(line: 24, column: 5, scope: !20)
|
||||
// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 28, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !28)
|
||||
// CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !25, type: !6)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 28, column: 24, scope: !25)
|
||||
// CHECK:STDOUT: !28 = !{!26}
|
||||
// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 28, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !32)
|
||||
// CHECK:STDOUT: !30 = !DILocalVariable(arg: 1, scope: !29, type: !6)
|
||||
// CHECK:STDOUT: !31 = !DILocation(line: 28, column: 24, scope: !29)
|
||||
// CHECK:STDOUT: !32 = !{!30}
|
||||
// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 28, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !36)
|
||||
// CHECK:STDOUT: !34 = !DILocalVariable(arg: 1, scope: !33, type: !6)
|
||||
// CHECK:STDOUT: !35 = !DILocation(line: 28, column: 24, scope: !33)
|
||||
// CHECK:STDOUT: !36 = !{!34}
|
||||
// CHECK:STDOUT: !37 = distinct !DISubprogram(name: "F", linkageName: "_CF.Y.Main:I.Main", scope: null, file: !4, line: 29, type: !15, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 30, column: 5, scope: !37)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 31, column: 5, scope: !37)
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !4, line: 41, type: !15, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 42, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !44 = !{null}
|
||||
// CHECK:STDOUT: !45 = !DISubroutineType(types: !44)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 43, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 41, column: 1, scope: !42)
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.d0cc85b6c89517e3", scope: null, file: !4, line: 37, type: !45, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 38, column: 16, scope: !48)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 37, column: 1, scope: !48)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.e8d4d639bae9ba40", scope: null, file: !4, line: 37, type: !45, spFlags: DISPFlagDefinition, unit: !5)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 38, column: 16, scope: !53)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 37, column: 1, scope: !53)
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+117
-75
@@ -53,82 +53,108 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) {
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CM.Main(ptr %ptr_i32, ptr %ptr_f64) #0 !dbg !14 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.89a3e87df6fdafe1(ptr %ptr_i32), !dbg !20
|
||||
// CHECK:STDOUT: call void @_CF.Main.38241ddc2cd9d74d(ptr %ptr_f64), !dbg !22
|
||||
// CHECK:STDOUT: call void @_CF.Main.4d9f279dbc2b9f6f(ptr %ptr_i32), !dbg !20
|
||||
// CHECK:STDOUT: call void @_CF.Main.cfa50e0c7743522e(ptr %ptr_f64), !dbg !22
|
||||
// CHECK:STDOUT: ret void, !dbg !23
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !25 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !25 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !27
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !29 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !29 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !31
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !33 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !33 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !36
|
||||
// CHECK:STDOUT: call void @_CB.Main.89a3e87df6fdafe1(ptr %x), !dbg !40
|
||||
// CHECK:STDOUT: ret void, !dbg !41
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !35
|
||||
// CHECK:STDOUT: ret void, !dbg !35
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !43 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !37 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !46
|
||||
// CHECK:STDOUT: call void @_CB.Main.38241ddc2cd9d74d(ptr %x), !dbg !48
|
||||
// CHECK:STDOUT: ret void, !dbg !49
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.c3359c2c217ad593(%type.0 %x) #0 !dbg !51 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !41 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret %type.0 %x, !dbg !57
|
||||
// CHECK:STDOUT: ret void, !dbg !43
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.89a3e87df6fdafe1(ptr %x) #0 !dbg !59 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !45 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc34_7.3.temp = alloca i32, align 4, !dbg !64
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !64
|
||||
// CHECK:STDOUT: %.loc34_5.2 = load i32, ptr %x, align 4, !dbg !63
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc34_5.2), !dbg !64
|
||||
// CHECK:STDOUT: store i32 %D.call, ptr %.loc34_7.3.temp, align 4, !dbg !64
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !64
|
||||
// CHECK:STDOUT: ret void, !dbg !67
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !47
|
||||
// CHECK:STDOUT: ret void, !dbg !47
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.38241ddc2cd9d74d(ptr %x) #0 !dbg !69 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.4d9f279dbc2b9f6f(ptr %x) #0 !dbg !49 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc34_7.3.temp = alloca double, align 8, !dbg !74
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !74
|
||||
// CHECK:STDOUT: %.loc34_5.2 = load double, ptr %x, align 8, !dbg !73
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc34_5.2), !dbg !74
|
||||
// CHECK:STDOUT: store double %D.call, ptr %.loc34_7.3.temp, align 8, !dbg !74
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !74
|
||||
// CHECK:STDOUT: ret void, !dbg !75
|
||||
// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !52
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d9f279dbc2b9f6f(ptr %x), !dbg !56
|
||||
// CHECK:STDOUT: ret void, !dbg !57
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.cfa50e0c7743522e(ptr %x) #0 !dbg !59 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %A.call = call %type.0 @_CA.Main.c3359c2c217ad593(%type.0 zeroinitializer), !dbg !62
|
||||
// CHECK:STDOUT: call void @_CB.Main.cfa50e0c7743522e(ptr %x), !dbg !64
|
||||
// CHECK:STDOUT: ret void, !dbg !65
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.0 @_CA.Main.c3359c2c217ad593(%type.0 %x) #0 !dbg !67 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret %type.0 %x, !dbg !73
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.4d9f279dbc2b9f6f(ptr %x) #0 !dbg !75 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc34_7.3.temp = alloca i32, align 4, !dbg !80
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !80
|
||||
// CHECK:STDOUT: %.loc34_5.2 = load i32, ptr %x, align 4, !dbg !79
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %.loc34_5.2), !dbg !80
|
||||
// CHECK:STDOUT: store i32 %D.call, ptr %.loc34_7.3.temp, align 4, !dbg !80
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !80
|
||||
// CHECK:STDOUT: ret void, !dbg !83
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.cfa50e0c7743522e(ptr %x) #0 !dbg !85 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc34_7.3.temp = alloca double, align 8, !dbg !90
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc34_7.3.temp), !dbg !90
|
||||
// CHECK:STDOUT: %.loc34_5.2 = load double, ptr %x, align 8, !dbg !89
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %.loc34_5.2), !dbg !90
|
||||
// CHECK:STDOUT: store double %D.call, ptr %.loc34_7.3.temp, align 8, !dbg !90
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %.loc34_7.3.temp), !dbg !90
|
||||
// CHECK:STDOUT: ret void, !dbg !91
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !77 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !93 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !83
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !99
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !85 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x) #0 !dbg !101 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret double %x, !dbg !91
|
||||
// CHECK:STDOUT: ret double %x, !dbg !107
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -160,52 +186,68 @@ fn M(ptr_i32: i32*, ptr_f64: f64*) {
|
||||
// CHECK:STDOUT: !22 = !DILocation(line: 44, column: 3, scope: !14)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 42, column: 1, scope: !14)
|
||||
// CHECK:STDOUT: !24 = !{!15, !16}
|
||||
// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 43, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !28)
|
||||
// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 43, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !28)
|
||||
// CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !25, type: !6)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 43, column: 3, scope: !25)
|
||||
// CHECK:STDOUT: !28 = !{!26}
|
||||
// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 44, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !32)
|
||||
// CHECK:STDOUT: !30 = !DILocalVariable(arg: 1, scope: !29, type: !7)
|
||||
// CHECK:STDOUT: !31 = !DILocation(line: 44, column: 3, scope: !29)
|
||||
// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 43, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !32)
|
||||
// CHECK:STDOUT: !30 = !DILocalVariable(arg: 1, scope: !29, type: !6)
|
||||
// CHECK:STDOUT: !31 = !DILocation(line: 43, column: 3, scope: !29)
|
||||
// CHECK:STDOUT: !32 = !{!30}
|
||||
// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.89a3e87df6fdafe1", scope: null, file: !4, line: 37, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !42)
|
||||
// CHECK:STDOUT: !34 = !DILocalVariable(arg: 1, scope: !33, type: !7)
|
||||
// CHECK:STDOUT: !36 = !DILocation(line: 38, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !37 = !{!7, !7}
|
||||
// CHECK:STDOUT: !38 = !DISubroutineType(types: !37)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 39, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 37, column: 1, scope: !33)
|
||||
// CHECK:STDOUT: !42 = !{!34}
|
||||
// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.38241ddc2cd9d74d", scope: null, file: !4, line: 37, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !50)
|
||||
// CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !43, type: !7)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 38, column: 3, scope: !43)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 39, column: 3, scope: !43)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 37, column: 1, scope: !43)
|
||||
// CHECK:STDOUT: !50 = !{!44}
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !4, line: 25, type: !38, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !58)
|
||||
// CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !51, type: !7)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 26, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !58 = !{!52}
|
||||
// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.89a3e87df6fdafe1", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 43, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !36)
|
||||
// CHECK:STDOUT: !34 = !DILocalVariable(arg: 1, scope: !33, type: !6)
|
||||
// CHECK:STDOUT: !35 = !DILocation(line: 43, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !36 = !{!34}
|
||||
// CHECK:STDOUT: !37 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 44, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !40)
|
||||
// CHECK:STDOUT: !38 = !DILocalVariable(arg: 1, scope: !37, type: !7)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 44, column: 3, scope: !37)
|
||||
// CHECK:STDOUT: !40 = !{!38}
|
||||
// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 44, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !44)
|
||||
// CHECK:STDOUT: !42 = !DILocalVariable(arg: 1, scope: !41, type: !7)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 44, column: 3, scope: !41)
|
||||
// CHECK:STDOUT: !44 = !{!42}
|
||||
// CHECK:STDOUT: !45 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 44, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !48)
|
||||
// CHECK:STDOUT: !46 = !DILocalVariable(arg: 1, scope: !45, type: !7)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 44, column: 3, scope: !45)
|
||||
// CHECK:STDOUT: !48 = !{!46}
|
||||
// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d9f279dbc2b9f6f", scope: null, file: !4, line: 37, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !58)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 1, scope: !49, type: !7)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 38, column: 3, scope: !49)
|
||||
// CHECK:STDOUT: !53 = !{!7, !7}
|
||||
// CHECK:STDOUT: !54 = !DISubroutineType(types: !53)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 39, column: 3, scope: !49)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 37, column: 1, scope: !49)
|
||||
// CHECK:STDOUT: !58 = !{!50}
|
||||
// CHECK:STDOUT: !59 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.cfa50e0c7743522e", scope: null, file: !4, line: 37, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !66)
|
||||
// CHECK:STDOUT: !60 = !DILocalVariable(arg: 1, scope: !59, type: !7)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 34, column: 5, scope: !59)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 34, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !65 = !{!6, !6}
|
||||
// CHECK:STDOUT: !66 = !DISubroutineType(types: !65)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 33, column: 1, scope: !59)
|
||||
// CHECK:STDOUT: !68 = !{!60}
|
||||
// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.38241ddc2cd9d74d", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !76)
|
||||
// CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !69, type: !7)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 34, column: 5, scope: !69)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 34, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 33, column: 1, scope: !69)
|
||||
// CHECK:STDOUT: !76 = !{!70}
|
||||
// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 29, type: !66, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !84)
|
||||
// CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !77, type: !6)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 30, column: 3, scope: !77)
|
||||
// CHECK:STDOUT: !84 = !{!78}
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 29, type: !38, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !92)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 38, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 39, column: 3, scope: !59)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 37, column: 1, scope: !59)
|
||||
// CHECK:STDOUT: !66 = !{!60}
|
||||
// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c3359c2c217ad593", scope: null, file: !4, line: 25, type: !54, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !74)
|
||||
// CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !67, type: !7)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 26, column: 3, scope: !67)
|
||||
// CHECK:STDOUT: !74 = !{!68}
|
||||
// CHECK:STDOUT: !75 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d9f279dbc2b9f6f", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !84)
|
||||
// CHECK:STDOUT: !76 = !DILocalVariable(arg: 1, scope: !75, type: !7)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 34, column: 5, scope: !75)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 34, column: 3, scope: !75)
|
||||
// CHECK:STDOUT: !81 = !{!6, !6}
|
||||
// CHECK:STDOUT: !82 = !DISubroutineType(types: !81)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 33, column: 1, scope: !75)
|
||||
// CHECK:STDOUT: !84 = !{!76}
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.cfa50e0c7743522e", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !92)
|
||||
// CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !85, type: !7)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 30, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 34, column: 5, scope: !85)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 34, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 33, column: 1, scope: !85)
|
||||
// CHECK:STDOUT: !92 = !{!86}
|
||||
// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 29, type: !82, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !100)
|
||||
// CHECK:STDOUT: !94 = !DILocalVariable(arg: 1, scope: !93, type: !6)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 30, column: 3, scope: !93)
|
||||
// CHECK:STDOUT: !100 = !{!94}
|
||||
// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 29, type: !54, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !108)
|
||||
// CHECK:STDOUT: !102 = !DILocalVariable(arg: 1, scope: !101, type: !7)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 30, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !108 = !{!102}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+57
-15
@@ -39,23 +39,49 @@ fn CallF() -> i32 {
|
||||
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !33
|
||||
// CHECK:STDOUT: %.loc22_14 = load i32, ptr %n.var, align 4, !dbg !36
|
||||
// CHECK:STDOUT: %C.F.call = call i32 @_CF.C.Main.4d6ceefeb7f772f4(ptr %c.var, i32 %.loc22_14), !dbg !35
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !33
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !31
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !33
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !31
|
||||
// CHECK:STDOUT: ret i32 %C.F.call, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !50
|
||||
// CHECK:STDOUT: ret void, !dbg !50
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cb8adced19392b99:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self), !dbg !62
|
||||
// CHECK:STDOUT: ret void, !dbg !62
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
@@ -63,9 +89,9 @@ fn CallF() -> i32 {
|
||||
// CHECK:STDOUT: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !56
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !72
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -97,17 +123,33 @@ fn CallF() -> i32 {
|
||||
// CHECK:STDOUT: !37 = !{!20, !25, !20}
|
||||
// CHECK:STDOUT: !38 = !DISubroutineType(types: !37)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 22, column: 3, scope: !28)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 21, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !18, line: 21, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !40, type: !20)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 21, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !43 = !{!41}
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "Op", linkageName: "_COp.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !18, line: 20, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !25)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 20, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 21, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !20)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 21, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !47 = !{!45}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main.4d6ceefeb7f772f4", scope: null, file: !18, line: 14, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !57)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !25)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !48, type: !20)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 15, column: 5, scope: !48)
|
||||
// CHECK:STDOUT: !57 = !{!49, !50}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 21, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !51)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !20)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 21, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !51 = !{!49}
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cb8adced19392b99:core.Destroy.Core", scope: null, file: !18, line: 20, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !25)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 20, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !55 = !{!53}
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !18, line: 20, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !25)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 20, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !59 = !{!57}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !18, line: 20, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !25)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 20, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !63 = !{!61}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "F", linkageName: "_CF.C.Main.4d6ceefeb7f772f4", scope: null, file: !18, line: 14, type: !38, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !73)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !25)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 2, scope: !64, type: !20)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 15, column: 5, scope: !64)
|
||||
// CHECK:STDOUT: !73 = !{!65, !66}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -82,31 +82,84 @@ fn M() {
|
||||
// CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 1 %c.var, ptr align 1 @C.val.loc15_43, i64 0, i1 false), !dbg !48
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %.loc40_9.3.temp), !dbg !51
|
||||
// CHECK:STDOUT: call void @_CF.Main.42513763e01cba2c(ptr %.loc40_9.3.temp, ptr %c.var, i32 0), !dbg !51
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc40_9.3.temp), !dbg !51
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !48
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !26
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !24
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %.loc40_9.3.temp), !dbg !51
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !48
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !32
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !28
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !26
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !24
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cb8adced19392b99:core.Destroy.Core"(ptr %self) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !55
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !57 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !57 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !59
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self), !dbg !63
|
||||
// CHECK:STDOUT: ret void, !dbg !63
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !67
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !69 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !71
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !73 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !75
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !77 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !79
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !81 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !83
|
||||
// CHECK:STDOUT: ret void, !dbg !83
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !85 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !87
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !89 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !91
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !93 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !95
|
||||
// CHECK:STDOUT: ret void, !dbg !95
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync 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
|
||||
// CHECK:STDOUT:
|
||||
@@ -114,68 +167,68 @@ fn M() {
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !72
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !73
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !75
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !77
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !78
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !79
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !81 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !88
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !89
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !91
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !93
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !94
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !95
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !97 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !97 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !104
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !105
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !107
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !107
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !109
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !110
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !111
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !110
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !111
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x, i32 %count) #0 !dbg !129 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !113 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !120
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !121
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !123
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !125
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !126
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !127
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !129 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !136
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !137
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: call void @"_COp.C.Main:Copy.Core"(ptr %return, ptr %x), !dbg !138
|
||||
// CHECK:STDOUT: ret void, !dbg !139
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !139
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !141
|
||||
// CHECK:STDOUT: call void @_CF.Main.42513763e01cba2c(ptr %return, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !142
|
||||
// CHECK:STDOUT: ret void, !dbg !143
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !142
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !143
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.42513763e01cba2c(ptr sret({}) %return, ptr %x, i32 %count) #0 !dbg !161 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !168
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !169
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: call void @"_COp.C.Main:Copy.Core"(ptr %return, ptr %x), !dbg !170
|
||||
// CHECK:STDOUT: ret void, !dbg !171
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !173
|
||||
// CHECK:STDOUT: call void @_CF.Main.42513763e01cba2c(ptr %return, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !174
|
||||
// CHECK:STDOUT: ret void, !dbg !175
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
// CHECK:STDOUT: uselistorder ptr @"_COp.08d9e38b928ba575:core.Destroy.Core", { 1, 0 }
|
||||
// CHECK:STDOUT: uselistorder ptr @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", { 1, 0 }
|
||||
// CHECK:STDOUT: uselistorder ptr @llvm.memcpy.p0.p0.i64, { 1, 0 }
|
||||
// CHECK:STDOUT: uselistorder ptr @llvm.lifetime.start.p0, { 5, 4, 3, 2, 1, 0 }
|
||||
// CHECK:STDOUT: uselistorder ptr @_CF.Main.a76b78461416b4a8, { 1, 2, 0 }
|
||||
@@ -224,40 +277,52 @@ fn M() {
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 39, column: 3, scope: !23)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 40, column: 3, scope: !23)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 28, column: 1, scope: !23)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Op", linkageName: "_COp.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !4, line: 40, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !56)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cb8adced19392b99:core.Destroy.Core", scope: null, file: !4, line: 40, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !56)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !7)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 40, column: 3, scope: !53)
|
||||
// CHECK:STDOUT: !56 = !{!54}
|
||||
// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 30, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !60)
|
||||
// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !4, line: 40, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !60)
|
||||
// CHECK:STDOUT: !58 = !DILocalVariable(arg: 1, scope: !57, type: !7)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 30, column: 3, scope: !57)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 40, column: 3, scope: !57)
|
||||
// CHECK:STDOUT: !60 = !{!58}
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 29, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !61, type: !6)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 29, column: 3, scope: !61)
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !4, line: 40, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !61, type: !7)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 40, column: 3, scope: !61)
|
||||
// CHECK:STDOUT: !64 = !{!62}
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !80)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !6)
|
||||
// CHECK:STDOUT: !67 = !DILocalVariable(arg: 2, scope: !65, type: !6)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 22, column: 7, scope: !65)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 22, column: 6, scope: !65)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 23, column: 5, scope: !65)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 25, column: 15, scope: !65)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 25, column: 10, scope: !65)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 25, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !80 = !{!66, !67}
|
||||
// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !96)
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !4, line: 32, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !7)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 32, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !68 = !{!66}
|
||||
// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 31, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !72)
|
||||
// CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !69, type: !7)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 31, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !72 = !{!70}
|
||||
// CHECK:STDOUT: !73 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 30, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !76)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 1, scope: !73, type: !7)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 30, column: 3, scope: !73)
|
||||
// CHECK:STDOUT: !76 = !{!74}
|
||||
// CHECK:STDOUT: !77 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 30, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !80)
|
||||
// CHECK:STDOUT: !78 = !DILocalVariable(arg: 1, scope: !77, type: !7)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 30, column: 3, scope: !77)
|
||||
// CHECK:STDOUT: !80 = !{!78}
|
||||
// CHECK:STDOUT: !81 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 30, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !84)
|
||||
// CHECK:STDOUT: !82 = !DILocalVariable(arg: 1, scope: !81, type: !7)
|
||||
// CHECK:STDOUT: !83 = !DILocalVariable(arg: 2, scope: !81, type: !6)
|
||||
// CHECK:STDOUT: !88 = !DILocation(line: 22, column: 7, scope: !81)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 22, column: 6, scope: !81)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 23, column: 5, scope: !81)
|
||||
// CHECK:STDOUT: !93 = !DILocation(line: 25, column: 15, scope: !81)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 25, column: 10, scope: !81)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 25, column: 3, scope: !81)
|
||||
// CHECK:STDOUT: !96 = !{!82, !83}
|
||||
// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !112)
|
||||
// CHECK:STDOUT: !98 = !DILocalVariable(arg: 1, scope: !97, type: !7)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 30, column: 3, scope: !81)
|
||||
// CHECK:STDOUT: !84 = !{!82}
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 29, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !88)
|
||||
// CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !85, type: !6)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 29, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !88 = !{!86}
|
||||
// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 29, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !92)
|
||||
// CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !89, type: !6)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 29, column: 3, scope: !89)
|
||||
// CHECK:STDOUT: !92 = !{!90}
|
||||
// CHECK:STDOUT: !93 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 29, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !96)
|
||||
// CHECK:STDOUT: !94 = !DILocalVariable(arg: 1, scope: !93, type: !6)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 29, column: 3, scope: !93)
|
||||
// CHECK:STDOUT: !96 = !{!94}
|
||||
// CHECK:STDOUT: !97 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 21, type: !39, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !112)
|
||||
// CHECK:STDOUT: !98 = !DILocalVariable(arg: 1, scope: !97, type: !6)
|
||||
// CHECK:STDOUT: !99 = !DILocalVariable(arg: 2, scope: !97, type: !6)
|
||||
// CHECK:STDOUT: !104 = !DILocation(line: 22, column: 7, scope: !97)
|
||||
// CHECK:STDOUT: !105 = !DILocation(line: 22, column: 6, scope: !97)
|
||||
@@ -266,15 +331,35 @@ fn M() {
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 25, column: 10, scope: !97)
|
||||
// CHECK:STDOUT: !111 = !DILocation(line: 25, column: 3, scope: !97)
|
||||
// CHECK:STDOUT: !112 = !{!98, !99}
|
||||
// CHECK:STDOUT: !129 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.42513763e01cba2c", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !144)
|
||||
// CHECK:STDOUT: !113 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !128)
|
||||
// CHECK:STDOUT: !114 = !DILocalVariable(arg: 1, scope: !113, type: !7)
|
||||
// CHECK:STDOUT: !115 = !DILocalVariable(arg: 2, scope: !113, type: !6)
|
||||
// CHECK:STDOUT: !120 = !DILocation(line: 22, column: 7, scope: !113)
|
||||
// CHECK:STDOUT: !121 = !DILocation(line: 22, column: 6, scope: !113)
|
||||
// CHECK:STDOUT: !123 = !DILocation(line: 23, column: 5, scope: !113)
|
||||
// CHECK:STDOUT: !125 = !DILocation(line: 25, column: 15, scope: !113)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 25, column: 10, scope: !113)
|
||||
// CHECK:STDOUT: !127 = !DILocation(line: 25, column: 3, scope: !113)
|
||||
// CHECK:STDOUT: !128 = !{!114, !115}
|
||||
// CHECK:STDOUT: !129 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !144)
|
||||
// CHECK:STDOUT: !130 = !DILocalVariable(arg: 1, scope: !129, type: !7)
|
||||
// CHECK:STDOUT: !131 = !DILocalVariable(arg: 2, scope: !129, type: !6)
|
||||
// CHECK:STDOUT: !136 = !DILocation(line: 22, column: 7, scope: !129)
|
||||
// CHECK:STDOUT: !137 = !DILocation(line: 22, column: 6, scope: !129)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 23, column: 12, scope: !129)
|
||||
// CHECK:STDOUT: !139 = !DILocation(line: 23, column: 5, scope: !129)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 25, column: 15, scope: !129)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 25, column: 10, scope: !129)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 25, column: 3, scope: !129)
|
||||
// CHECK:STDOUT: !144 = !{!130, !131}
|
||||
// CHECK:STDOUT: !161 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.42513763e01cba2c", scope: null, file: !4, line: 21, type: !43, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !176)
|
||||
// CHECK:STDOUT: !162 = !DILocalVariable(arg: 1, scope: !161, type: !7)
|
||||
// CHECK:STDOUT: !163 = !DILocalVariable(arg: 2, scope: !161, type: !6)
|
||||
// CHECK:STDOUT: !168 = !DILocation(line: 22, column: 7, scope: !161)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 22, column: 6, scope: !161)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 23, column: 12, scope: !161)
|
||||
// CHECK:STDOUT: !171 = !DILocation(line: 23, column: 5, scope: !161)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 25, column: 15, scope: !161)
|
||||
// CHECK:STDOUT: !174 = !DILocation(line: 25, column: 10, scope: !161)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 25, column: 3, scope: !161)
|
||||
// CHECK:STDOUT: !176 = !{!162, !163}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+246
-182
@@ -86,167 +86,207 @@ fn M() {
|
||||
// CHECK:STDOUT: %A.call.loc56 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc56_5, i32 0), !dbg !36
|
||||
// CHECK:STDOUT: %.loc57_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !37
|
||||
// CHECK:STDOUT: %A.call.loc57 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc57_5, i32 0), !dbg !38
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !23
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !19
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !50
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !58
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !62
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !66
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !68 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !70
|
||||
// CHECK:STDOUT: ret void, !dbg !70
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !72 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !55
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !56
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !79
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !80
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !58
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !82
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !59
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !59
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !60
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !83
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !83
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !84
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %B.call = call i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !63
|
||||
// CHECK:STDOUT: ret i32 %B.call, !dbg !64
|
||||
// CHECK:STDOUT: %B.call = call i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !87
|
||||
// CHECK:STDOUT: ret i32 %B.call, !dbg !88
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %C.call = call i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !67
|
||||
// CHECK:STDOUT: ret i32 %C.call, !dbg !68
|
||||
// CHECK:STDOUT: %C.call = call i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !91
|
||||
// CHECK:STDOUT: ret i32 %C.call, !dbg !92
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !70 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !94 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !77
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !78
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !101
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !102
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !80
|
||||
// CHECK:STDOUT: ret double %x, !dbg !104
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !81
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !81
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !82
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !105
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !105
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !106
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %B.call = call double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !85
|
||||
// CHECK:STDOUT: ret double %B.call, !dbg !86
|
||||
// CHECK:STDOUT: %B.call = call double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !109
|
||||
// CHECK:STDOUT: ret double %B.call, !dbg !110
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %C.call = call double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !89
|
||||
// CHECK:STDOUT: ret double %C.call, !dbg !90
|
||||
// CHECK:STDOUT: %C.call = call double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !113
|
||||
// CHECK:STDOUT: ret double %C.call, !dbg !114
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !92 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !116 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !99
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !100
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !123
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc23, label %if.else.loc23, !dbg !124
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !102
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !126
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc23: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !103
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !103
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !104
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !127
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !127
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc26, label %if.else.loc26, !dbg !128
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %B.call = call ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !107
|
||||
// CHECK:STDOUT: ret ptr %B.call, !dbg !108
|
||||
// CHECK:STDOUT: %B.call = call ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !131
|
||||
// CHECK:STDOUT: ret ptr %B.call, !dbg !132
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc26: ; preds = %if.else.loc23
|
||||
// CHECK:STDOUT: %C.call = call ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !111
|
||||
// CHECK:STDOUT: ret ptr %C.call, !dbg !112
|
||||
// CHECK:STDOUT: %C.call = call ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !135
|
||||
// CHECK:STDOUT: ret ptr %C.call, !dbg !136
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !160 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !143
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !146
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !147
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !167
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !170
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !171
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !149 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !173 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !156
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !159
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !160
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !180
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !183
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !184
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !162 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !186 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !169
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !172
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !173
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !193
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !196
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !197
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !175 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !199 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !182
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !185
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !186
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !206
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !209
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !210
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !188 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !212 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !195
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !198
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !199
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 1), !dbg !219
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !222
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !223
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !201 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !225 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !208
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !211
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !212
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 2), !dbg !232
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !235
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !236
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !240 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !248
|
||||
// CHECK:STDOUT: %A.call = call i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !249
|
||||
// CHECK:STDOUT: ret i32 %A.call, !dbg !250
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !252 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !260
|
||||
// CHECK:STDOUT: %A.call = call double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !261
|
||||
// CHECK:STDOUT: ret double %A.call, !dbg !262
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !264 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !264 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !272
|
||||
// CHECK:STDOUT: %A.call = call ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !273
|
||||
// CHECK:STDOUT: ret ptr %A.call, !dbg !274
|
||||
// CHECK:STDOUT: %A.call = call i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !273
|
||||
// CHECK:STDOUT: ret i32 %A.call, !dbg !274
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !276 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !284
|
||||
// CHECK:STDOUT: %A.call = call double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !285
|
||||
// CHECK:STDOUT: ret double %A.call, !dbg !286
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !288 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !296
|
||||
// CHECK:STDOUT: %A.call = call ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !297
|
||||
// CHECK:STDOUT: ret ptr %A.call, !dbg !298
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -293,114 +333,138 @@ fn M() {
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 57, column: 5, scope: !14)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 57, column: 3, scope: !14)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 48, column: 1, scope: !14)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 50, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !4, line: 52, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !40, type: !9)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 50, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 52, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !43 = !{!41}
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 49, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !6)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 49, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 51, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !9)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 51, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !47 = !{!45}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 22, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !69)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 23, column: 7, scope: !48)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 23, column: 6, scope: !48)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 24, column: 5, scope: !48)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 26, column: 7, scope: !48)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 26, column: 6, scope: !48)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 27, column: 12, scope: !48)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 27, column: 5, scope: !48)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 29, column: 12, scope: !48)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 29, column: 5, scope: !48)
|
||||
// CHECK:STDOUT: !69 = !{!49, !50}
|
||||
// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 22, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !91)
|
||||
// CHECK:STDOUT: !71 = !DILocalVariable(arg: 1, scope: !70, type: !9)
|
||||
// CHECK:STDOUT: !72 = !DILocalVariable(arg: 2, scope: !70, type: !6)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 23, column: 7, scope: !70)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 23, column: 6, scope: !70)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 24, column: 5, scope: !70)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 26, column: 7, scope: !70)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 26, column: 6, scope: !70)
|
||||
// CHECK:STDOUT: !85 = !DILocation(line: 27, column: 12, scope: !70)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 27, column: 5, scope: !70)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 29, column: 12, scope: !70)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 29, column: 5, scope: !70)
|
||||
// CHECK:STDOUT: !91 = !{!71, !72}
|
||||
// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !4, line: 22, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !113)
|
||||
// CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !92, type: !9)
|
||||
// CHECK:STDOUT: !94 = !DILocalVariable(arg: 2, scope: !92, type: !6)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 23, column: 7, scope: !92)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 23, column: 6, scope: !92)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 24, column: 5, scope: !92)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 26, column: 7, scope: !92)
|
||||
// CHECK:STDOUT: !104 = !DILocation(line: 26, column: 6, scope: !92)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 27, column: 12, scope: !92)
|
||||
// CHECK:STDOUT: !108 = !DILocation(line: 27, column: 5, scope: !92)
|
||||
// CHECK:STDOUT: !111 = !DILocation(line: 29, column: 12, scope: !92)
|
||||
// CHECK:STDOUT: !112 = !DILocation(line: 29, column: 5, scope: !92)
|
||||
// CHECK:STDOUT: !113 = !{!93, !94}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 34, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !148)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !138 = !DILocalVariable(arg: 2, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 35, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !146 = !DILocation(line: 36, column: 10, scope: !136)
|
||||
// CHECK:STDOUT: !147 = !DILocation(line: 36, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !148 = !{!137, !138}
|
||||
// CHECK:STDOUT: !149 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 39, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !161)
|
||||
// CHECK:STDOUT: !150 = !DILocalVariable(arg: 1, scope: !149, type: !6)
|
||||
// CHECK:STDOUT: !151 = !DILocalVariable(arg: 2, scope: !149, type: !6)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 40, column: 3, scope: !149)
|
||||
// CHECK:STDOUT: !159 = !DILocation(line: 41, column: 10, scope: !149)
|
||||
// CHECK:STDOUT: !160 = !DILocation(line: 41, column: 3, scope: !149)
|
||||
// CHECK:STDOUT: !161 = !{!150, !151}
|
||||
// CHECK:STDOUT: !162 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 34, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !174)
|
||||
// CHECK:STDOUT: !163 = !DILocalVariable(arg: 1, scope: !162, type: !9)
|
||||
// CHECK:STDOUT: !164 = !DILocalVariable(arg: 2, scope: !162, type: !6)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 35, column: 3, scope: !162)
|
||||
// CHECK:STDOUT: !172 = !DILocation(line: 36, column: 10, scope: !162)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 36, column: 3, scope: !162)
|
||||
// CHECK:STDOUT: !174 = !{!163, !164}
|
||||
// CHECK:STDOUT: !175 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 39, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !187)
|
||||
// CHECK:STDOUT: !176 = !DILocalVariable(arg: 1, scope: !175, type: !9)
|
||||
// CHECK:STDOUT: !177 = !DILocalVariable(arg: 2, scope: !175, type: !6)
|
||||
// CHECK:STDOUT: !182 = !DILocation(line: 40, column: 3, scope: !175)
|
||||
// CHECK:STDOUT: !185 = !DILocation(line: 41, column: 10, scope: !175)
|
||||
// CHECK:STDOUT: !186 = !DILocation(line: 41, column: 3, scope: !175)
|
||||
// CHECK:STDOUT: !187 = !{!176, !177}
|
||||
// CHECK:STDOUT: !188 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !4, line: 34, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !200)
|
||||
// CHECK:STDOUT: !189 = !DILocalVariable(arg: 1, scope: !188, type: !9)
|
||||
// CHECK:STDOUT: !190 = !DILocalVariable(arg: 2, scope: !188, type: !6)
|
||||
// CHECK:STDOUT: !195 = !DILocation(line: 35, column: 3, scope: !188)
|
||||
// CHECK:STDOUT: !198 = !DILocation(line: 36, column: 10, scope: !188)
|
||||
// CHECK:STDOUT: !199 = !DILocation(line: 36, column: 3, scope: !188)
|
||||
// CHECK:STDOUT: !200 = !{!189, !190}
|
||||
// CHECK:STDOUT: !201 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !4, line: 39, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !213)
|
||||
// CHECK:STDOUT: !202 = !DILocalVariable(arg: 1, scope: !201, type: !9)
|
||||
// CHECK:STDOUT: !203 = !DILocalVariable(arg: 2, scope: !201, type: !6)
|
||||
// CHECK:STDOUT: !208 = !DILocation(line: 40, column: 3, scope: !201)
|
||||
// CHECK:STDOUT: !211 = !DILocation(line: 41, column: 10, scope: !201)
|
||||
// CHECK:STDOUT: !212 = !DILocation(line: 41, column: 3, scope: !201)
|
||||
// CHECK:STDOUT: !213 = !{!202, !203}
|
||||
// CHECK:STDOUT: !240 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 44, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !251)
|
||||
// CHECK:STDOUT: !241 = !DILocalVariable(arg: 1, scope: !240, type: !6)
|
||||
// CHECK:STDOUT: !242 = !DILocalVariable(arg: 2, scope: !240, type: !6)
|
||||
// CHECK:STDOUT: !248 = !DILocation(line: 45, column: 15, scope: !240)
|
||||
// CHECK:STDOUT: !249 = !DILocation(line: 45, column: 10, scope: !240)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 45, column: 3, scope: !240)
|
||||
// CHECK:STDOUT: !251 = !{!241, !242}
|
||||
// CHECK:STDOUT: !252 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 44, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !263)
|
||||
// CHECK:STDOUT: !253 = !DILocalVariable(arg: 1, scope: !252, type: !9)
|
||||
// CHECK:STDOUT: !254 = !DILocalVariable(arg: 2, scope: !252, type: !6)
|
||||
// CHECK:STDOUT: !260 = !DILocation(line: 45, column: 15, scope: !252)
|
||||
// CHECK:STDOUT: !261 = !DILocation(line: 45, column: 10, scope: !252)
|
||||
// CHECK:STDOUT: !262 = !DILocation(line: 45, column: 3, scope: !252)
|
||||
// CHECK:STDOUT: !263 = !{!253, !254}
|
||||
// CHECK:STDOUT: !264 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !4, line: 44, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !275)
|
||||
// CHECK:STDOUT: !265 = !DILocalVariable(arg: 1, scope: !264, type: !9)
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 50, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !51)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !9)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 50, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !51 = !{!49}
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 50, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !9)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 50, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !55 = !{!53}
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 50, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !9)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 50, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !59 = !{!57}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 49, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !6)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 49, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !63 = !{!61}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 49, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !67)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !6)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 49, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !67 = !{!65}
|
||||
// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 49, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !68, type: !6)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 49, column: 3, scope: !68)
|
||||
// CHECK:STDOUT: !71 = !{!69}
|
||||
// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 22, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !93)
|
||||
// CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 2, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 23, column: 7, scope: !72)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 23, column: 6, scope: !72)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 24, column: 5, scope: !72)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 26, column: 7, scope: !72)
|
||||
// CHECK:STDOUT: !84 = !DILocation(line: 26, column: 6, scope: !72)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 27, column: 12, scope: !72)
|
||||
// CHECK:STDOUT: !88 = !DILocation(line: 27, column: 5, scope: !72)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 29, column: 12, scope: !72)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 29, column: 5, scope: !72)
|
||||
// CHECK:STDOUT: !93 = !{!73, !74}
|
||||
// CHECK:STDOUT: !94 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 22, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !115)
|
||||
// CHECK:STDOUT: !95 = !DILocalVariable(arg: 1, scope: !94, type: !9)
|
||||
// CHECK:STDOUT: !96 = !DILocalVariable(arg: 2, scope: !94, type: !6)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 23, column: 7, scope: !94)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 23, column: 6, scope: !94)
|
||||
// CHECK:STDOUT: !104 = !DILocation(line: 24, column: 5, scope: !94)
|
||||
// CHECK:STDOUT: !105 = !DILocation(line: 26, column: 7, scope: !94)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 26, column: 6, scope: !94)
|
||||
// CHECK:STDOUT: !109 = !DILocation(line: 27, column: 12, scope: !94)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 27, column: 5, scope: !94)
|
||||
// CHECK:STDOUT: !113 = !DILocation(line: 29, column: 12, scope: !94)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 29, column: 5, scope: !94)
|
||||
// CHECK:STDOUT: !115 = !{!95, !96}
|
||||
// CHECK:STDOUT: !116 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !4, line: 22, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !137)
|
||||
// CHECK:STDOUT: !117 = !DILocalVariable(arg: 1, scope: !116, type: !9)
|
||||
// CHECK:STDOUT: !118 = !DILocalVariable(arg: 2, scope: !116, type: !6)
|
||||
// CHECK:STDOUT: !123 = !DILocation(line: 23, column: 7, scope: !116)
|
||||
// CHECK:STDOUT: !124 = !DILocation(line: 23, column: 6, scope: !116)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 24, column: 5, scope: !116)
|
||||
// CHECK:STDOUT: !127 = !DILocation(line: 26, column: 7, scope: !116)
|
||||
// CHECK:STDOUT: !128 = !DILocation(line: 26, column: 6, scope: !116)
|
||||
// CHECK:STDOUT: !131 = !DILocation(line: 27, column: 12, scope: !116)
|
||||
// CHECK:STDOUT: !132 = !DILocation(line: 27, column: 5, scope: !116)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 29, column: 12, scope: !116)
|
||||
// CHECK:STDOUT: !136 = !DILocation(line: 29, column: 5, scope: !116)
|
||||
// CHECK:STDOUT: !137 = !{!117, !118}
|
||||
// CHECK:STDOUT: !160 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 34, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !172)
|
||||
// CHECK:STDOUT: !161 = !DILocalVariable(arg: 1, scope: !160, type: !6)
|
||||
// CHECK:STDOUT: !162 = !DILocalVariable(arg: 2, scope: !160, type: !6)
|
||||
// CHECK:STDOUT: !167 = !DILocation(line: 35, column: 3, scope: !160)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 36, column: 10, scope: !160)
|
||||
// CHECK:STDOUT: !171 = !DILocation(line: 36, column: 3, scope: !160)
|
||||
// CHECK:STDOUT: !172 = !{!161, !162}
|
||||
// CHECK:STDOUT: !173 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 39, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !185)
|
||||
// CHECK:STDOUT: !174 = !DILocalVariable(arg: 1, scope: !173, type: !6)
|
||||
// CHECK:STDOUT: !175 = !DILocalVariable(arg: 2, scope: !173, type: !6)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 40, column: 3, scope: !173)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 41, column: 10, scope: !173)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 41, column: 3, scope: !173)
|
||||
// CHECK:STDOUT: !185 = !{!174, !175}
|
||||
// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 34, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !198)
|
||||
// CHECK:STDOUT: !187 = !DILocalVariable(arg: 1, scope: !186, type: !9)
|
||||
// CHECK:STDOUT: !188 = !DILocalVariable(arg: 2, scope: !186, type: !6)
|
||||
// CHECK:STDOUT: !193 = !DILocation(line: 35, column: 3, scope: !186)
|
||||
// CHECK:STDOUT: !196 = !DILocation(line: 36, column: 10, scope: !186)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 36, column: 3, scope: !186)
|
||||
// CHECK:STDOUT: !198 = !{!187, !188}
|
||||
// CHECK:STDOUT: !199 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 39, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !211)
|
||||
// CHECK:STDOUT: !200 = !DILocalVariable(arg: 1, scope: !199, type: !9)
|
||||
// CHECK:STDOUT: !201 = !DILocalVariable(arg: 2, scope: !199, type: !6)
|
||||
// CHECK:STDOUT: !206 = !DILocation(line: 40, column: 3, scope: !199)
|
||||
// CHECK:STDOUT: !209 = !DILocation(line: 41, column: 10, scope: !199)
|
||||
// CHECK:STDOUT: !210 = !DILocation(line: 41, column: 3, scope: !199)
|
||||
// CHECK:STDOUT: !211 = !{!200, !201}
|
||||
// CHECK:STDOUT: !212 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !4, line: 34, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !224)
|
||||
// CHECK:STDOUT: !213 = !DILocalVariable(arg: 1, scope: !212, type: !9)
|
||||
// CHECK:STDOUT: !214 = !DILocalVariable(arg: 2, scope: !212, type: !6)
|
||||
// CHECK:STDOUT: !219 = !DILocation(line: 35, column: 3, scope: !212)
|
||||
// CHECK:STDOUT: !222 = !DILocation(line: 36, column: 10, scope: !212)
|
||||
// CHECK:STDOUT: !223 = !DILocation(line: 36, column: 3, scope: !212)
|
||||
// CHECK:STDOUT: !224 = !{!213, !214}
|
||||
// CHECK:STDOUT: !225 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !4, line: 39, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !237)
|
||||
// CHECK:STDOUT: !226 = !DILocalVariable(arg: 1, scope: !225, type: !9)
|
||||
// CHECK:STDOUT: !227 = !DILocalVariable(arg: 2, scope: !225, type: !6)
|
||||
// CHECK:STDOUT: !232 = !DILocation(line: 40, column: 3, scope: !225)
|
||||
// CHECK:STDOUT: !235 = !DILocation(line: 41, column: 10, scope: !225)
|
||||
// CHECK:STDOUT: !236 = !DILocation(line: 41, column: 3, scope: !225)
|
||||
// CHECK:STDOUT: !237 = !{!226, !227}
|
||||
// CHECK:STDOUT: !264 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 44, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !275)
|
||||
// CHECK:STDOUT: !265 = !DILocalVariable(arg: 1, scope: !264, type: !6)
|
||||
// CHECK:STDOUT: !266 = !DILocalVariable(arg: 2, scope: !264, type: !6)
|
||||
// CHECK:STDOUT: !272 = !DILocation(line: 45, column: 15, scope: !264)
|
||||
// CHECK:STDOUT: !273 = !DILocation(line: 45, column: 10, scope: !264)
|
||||
// CHECK:STDOUT: !274 = !DILocation(line: 45, column: 3, scope: !264)
|
||||
// CHECK:STDOUT: !275 = !{!265, !266}
|
||||
// CHECK:STDOUT: !276 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 44, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !287)
|
||||
// CHECK:STDOUT: !277 = !DILocalVariable(arg: 1, scope: !276, type: !9)
|
||||
// CHECK:STDOUT: !278 = !DILocalVariable(arg: 2, scope: !276, type: !6)
|
||||
// CHECK:STDOUT: !284 = !DILocation(line: 45, column: 15, scope: !276)
|
||||
// CHECK:STDOUT: !285 = !DILocation(line: 45, column: 10, scope: !276)
|
||||
// CHECK:STDOUT: !286 = !DILocation(line: 45, column: 3, scope: !276)
|
||||
// CHECK:STDOUT: !287 = !{!277, !278}
|
||||
// CHECK:STDOUT: !288 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !4, line: 44, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !299)
|
||||
// CHECK:STDOUT: !289 = !DILocalVariable(arg: 1, scope: !288, type: !9)
|
||||
// CHECK:STDOUT: !290 = !DILocalVariable(arg: 2, scope: !288, type: !6)
|
||||
// CHECK:STDOUT: !296 = !DILocation(line: 45, column: 15, scope: !288)
|
||||
// CHECK:STDOUT: !297 = !DILocation(line: 45, column: 10, scope: !288)
|
||||
// CHECK:STDOUT: !298 = !DILocation(line: 45, column: 3, scope: !288)
|
||||
// CHECK:STDOUT: !299 = !{!289, !290}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+175
-111
@@ -68,114 +68,154 @@ fn M() {
|
||||
// CHECK:STDOUT: %F.call.loc40 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc40_5, i32 0), !dbg !36
|
||||
// CHECK:STDOUT: %.loc41_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !37
|
||||
// CHECK:STDOUT: %F.call.loc41 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc41_5, i32 0), !dbg !38
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !23
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !19
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !50
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !58
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !62
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !66
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !68 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !70
|
||||
// CHECK:STDOUT: ret void, !dbg !70
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !72 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !55
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !56
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !79
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !80
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !58
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !82
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !60
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !61
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !62
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !84
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !85
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !86
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !88 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !71
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !72
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !95
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !96
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !74
|
||||
// CHECK:STDOUT: ret double %x, !dbg !98
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !76
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !77
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !78
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !100
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !101
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !102
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !80 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !104 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !87
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !88
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 3, !dbg !111
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !112
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !90
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !114
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !92
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !93
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !94
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !116
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !117
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !118
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !119
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !120
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !143
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !144
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !122
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !146
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !124
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !125
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !126
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !148
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !149
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !150
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !128 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !152 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !135
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !136
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !159
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !160
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !138
|
||||
// CHECK:STDOUT: ret double %x, !dbg !162
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !140
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !141
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !142
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !164
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !165
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !166
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !144 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !168 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !151
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !152
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !175
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !176
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !154
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !178
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !156
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !157
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !158
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !180
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !181
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !182
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -218,72 +258,96 @@ fn M() {
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 41, column: 5, scope: !14)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 41, column: 3, scope: !14)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 32, column: 1, scope: !14)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 34, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !4, line: 36, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !40, type: !9)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 34, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 36, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !43 = !{!41}
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !6)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 33, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 35, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !9)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 35, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !47 = !{!45}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 18, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 19, column: 7, scope: !48)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 19, column: 6, scope: !48)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 20, column: 5, scope: !48)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 22, column: 15, scope: !48)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 22, column: 10, scope: !48)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 22, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !63 = !{!49, !50}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 18, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !9)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 2, scope: !64, type: !6)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 19, column: 7, scope: !64)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 19, column: 6, scope: !64)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 20, column: 5, scope: !64)
|
||||
// CHECK:STDOUT: !76 = !DILocation(line: 22, column: 15, scope: !64)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 22, column: 10, scope: !64)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 22, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !79 = !{!65, !66}
|
||||
// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 18, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !95)
|
||||
// CHECK:STDOUT: !81 = !DILocalVariable(arg: 1, scope: !80, type: !9)
|
||||
// CHECK:STDOUT: !82 = !DILocalVariable(arg: 2, scope: !80, type: !6)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 19, column: 7, scope: !80)
|
||||
// CHECK:STDOUT: !88 = !DILocation(line: 19, column: 6, scope: !80)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 20, column: 5, scope: !80)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 22, column: 15, scope: !80)
|
||||
// CHECK:STDOUT: !93 = !DILocation(line: 22, column: 10, scope: !80)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 22, column: 3, scope: !80)
|
||||
// CHECK:STDOUT: !95 = !{!81, !82}
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 25, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !127)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !6)
|
||||
// CHECK:STDOUT: !114 = !DILocalVariable(arg: 2, scope: !112, type: !6)
|
||||
// CHECK:STDOUT: !119 = !DILocation(line: 26, column: 7, scope: !112)
|
||||
// CHECK:STDOUT: !120 = !DILocation(line: 26, column: 6, scope: !112)
|
||||
// CHECK:STDOUT: !122 = !DILocation(line: 27, column: 5, scope: !112)
|
||||
// CHECK:STDOUT: !124 = !DILocation(line: 29, column: 15, scope: !112)
|
||||
// CHECK:STDOUT: !125 = !DILocation(line: 29, column: 10, scope: !112)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 29, column: 3, scope: !112)
|
||||
// CHECK:STDOUT: !127 = !{!113, !114}
|
||||
// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 25, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !143)
|
||||
// CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !128, type: !9)
|
||||
// CHECK:STDOUT: !130 = !DILocalVariable(arg: 2, scope: !128, type: !6)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 26, column: 7, scope: !128)
|
||||
// CHECK:STDOUT: !136 = !DILocation(line: 26, column: 6, scope: !128)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 27, column: 5, scope: !128)
|
||||
// CHECK:STDOUT: !140 = !DILocation(line: 29, column: 15, scope: !128)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 29, column: 10, scope: !128)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 29, column: 3, scope: !128)
|
||||
// CHECK:STDOUT: !143 = !{!129, !130}
|
||||
// CHECK:STDOUT: !144 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !4, line: 25, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !159)
|
||||
// CHECK:STDOUT: !145 = !DILocalVariable(arg: 1, scope: !144, type: !9)
|
||||
// CHECK:STDOUT: !146 = !DILocalVariable(arg: 2, scope: !144, type: !6)
|
||||
// CHECK:STDOUT: !151 = !DILocation(line: 26, column: 7, scope: !144)
|
||||
// CHECK:STDOUT: !152 = !DILocation(line: 26, column: 6, scope: !144)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 27, column: 5, scope: !144)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 29, column: 15, scope: !144)
|
||||
// CHECK:STDOUT: !157 = !DILocation(line: 29, column: 10, scope: !144)
|
||||
// CHECK:STDOUT: !158 = !DILocation(line: 29, column: 3, scope: !144)
|
||||
// CHECK:STDOUT: !159 = !{!145, !146}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 34, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !51)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !9)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 34, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !51 = !{!49}
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 34, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !9)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 34, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !55 = !{!53}
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 34, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !9)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 34, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !59 = !{!57}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !6)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 33, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !63 = !{!61}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !67)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !6)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 33, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !67 = !{!65}
|
||||
// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 33, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !68, type: !6)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 33, column: 3, scope: !68)
|
||||
// CHECK:STDOUT: !71 = !{!69}
|
||||
// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 18, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !87)
|
||||
// CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 2, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 19, column: 7, scope: !72)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 19, column: 6, scope: !72)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 20, column: 5, scope: !72)
|
||||
// CHECK:STDOUT: !84 = !DILocation(line: 22, column: 15, scope: !72)
|
||||
// CHECK:STDOUT: !85 = !DILocation(line: 22, column: 10, scope: !72)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 22, column: 3, scope: !72)
|
||||
// CHECK:STDOUT: !87 = !{!73, !74}
|
||||
// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 18, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !103)
|
||||
// CHECK:STDOUT: !89 = !DILocalVariable(arg: 1, scope: !88, type: !9)
|
||||
// CHECK:STDOUT: !90 = !DILocalVariable(arg: 2, scope: !88, type: !6)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 19, column: 7, scope: !88)
|
||||
// CHECK:STDOUT: !96 = !DILocation(line: 19, column: 6, scope: !88)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 20, column: 5, scope: !88)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 22, column: 15, scope: !88)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 22, column: 10, scope: !88)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 22, column: 3, scope: !88)
|
||||
// CHECK:STDOUT: !103 = !{!89, !90}
|
||||
// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 18, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !105 = !DILocalVariable(arg: 1, scope: !104, type: !9)
|
||||
// CHECK:STDOUT: !106 = !DILocalVariable(arg: 2, scope: !104, type: !6)
|
||||
// CHECK:STDOUT: !111 = !DILocation(line: 19, column: 7, scope: !104)
|
||||
// CHECK:STDOUT: !112 = !DILocation(line: 19, column: 6, scope: !104)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 20, column: 5, scope: !104)
|
||||
// CHECK:STDOUT: !116 = !DILocation(line: 22, column: 15, scope: !104)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 22, column: 10, scope: !104)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 22, column: 3, scope: !104)
|
||||
// CHECK:STDOUT: !119 = !{!105, !106}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 25, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !151)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !138 = !DILocalVariable(arg: 2, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 26, column: 7, scope: !136)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 26, column: 6, scope: !136)
|
||||
// CHECK:STDOUT: !146 = !DILocation(line: 27, column: 5, scope: !136)
|
||||
// CHECK:STDOUT: !148 = !DILocation(line: 29, column: 15, scope: !136)
|
||||
// CHECK:STDOUT: !149 = !DILocation(line: 29, column: 10, scope: !136)
|
||||
// CHECK:STDOUT: !150 = !DILocation(line: 29, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !151 = !{!137, !138}
|
||||
// CHECK:STDOUT: !152 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 25, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !167)
|
||||
// CHECK:STDOUT: !153 = !DILocalVariable(arg: 1, scope: !152, type: !9)
|
||||
// CHECK:STDOUT: !154 = !DILocalVariable(arg: 2, scope: !152, type: !6)
|
||||
// CHECK:STDOUT: !159 = !DILocation(line: 26, column: 7, scope: !152)
|
||||
// CHECK:STDOUT: !160 = !DILocation(line: 26, column: 6, scope: !152)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 27, column: 5, scope: !152)
|
||||
// CHECK:STDOUT: !164 = !DILocation(line: 29, column: 15, scope: !152)
|
||||
// CHECK:STDOUT: !165 = !DILocation(line: 29, column: 10, scope: !152)
|
||||
// CHECK:STDOUT: !166 = !DILocation(line: 29, column: 3, scope: !152)
|
||||
// CHECK:STDOUT: !167 = !{!153, !154}
|
||||
// CHECK:STDOUT: !168 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !4, line: 25, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !183)
|
||||
// CHECK:STDOUT: !169 = !DILocalVariable(arg: 1, scope: !168, type: !9)
|
||||
// CHECK:STDOUT: !170 = !DILocalVariable(arg: 2, scope: !168, type: !6)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 26, column: 7, scope: !168)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 26, column: 6, scope: !168)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 27, column: 5, scope: !168)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 29, column: 15, scope: !168)
|
||||
// CHECK:STDOUT: !181 = !DILocation(line: 29, column: 10, scope: !168)
|
||||
// CHECK:STDOUT: !182 = !DILocation(line: 29, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !183 = !{!169, !170}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -62,39 +62,93 @@ fn M() {
|
||||
// CHECK:STDOUT: %.loc31_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !38
|
||||
// CHECK:STDOUT: %.loc31_14 = load ptr, ptr %ptr_bool.var, align 8, !dbg !39
|
||||
// CHECK:STDOUT: %F.call.loc31 = call i32 @_CF.Main.369f53a8d4c38871(ptr %.loc31_5, ptr %.loc31_14, i32 0), !dbg !40
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %ptr_bool.var), !dbg !29
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !25
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !21
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %b.var), !dbg !19
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: ret void, !dbg !41
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !42 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %self) #0 !dbg !42 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !44
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !46 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !46 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !48
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !50 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %self) #0 !dbg !54 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !56
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !58 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !60
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !62 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !64
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !66 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !68
|
||||
// CHECK:STDOUT: ret void, !dbg !68
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !70 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !72
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !74 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !76
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !78 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !80
|
||||
// CHECK:STDOUT: ret void, !dbg !80
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.369f53a8d4c38871(ptr %x, ptr %y, i32 %count) #0 !dbg !50 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.369f53a8d4c38871(ptr %x, ptr %y, i32 %count) #0 !dbg !82 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !59
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !60
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !91
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !92
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !62
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !94
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !65
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.369f53a8d4c38871(ptr %y, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !66
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !67
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !97
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.369f53a8d4c38871(ptr %y, ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !98
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !99
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -135,23 +189,55 @@ fn M() {
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 31, column: 14, scope: !14)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 31, column: 3, scope: !14)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 22, column: 1, scope: !14)
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 24, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !45)
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core", scope: null, file: !4, line: 28, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !45)
|
||||
// CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !42, type: !9)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 24, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 28, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !45 = !{!43}
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 23, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !49)
|
||||
// CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !46, type: !6)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 23, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !4, line: 27, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !49)
|
||||
// CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !46, type: !9)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 27, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !49 = !{!47}
|
||||
// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.369f53a8d4c38871", scope: null, file: !4, line: 15, type: !37, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 26, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !53)
|
||||
// CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !50, type: !9)
|
||||
// CHECK:STDOUT: !52 = !DILocalVariable(arg: 2, scope: !50, type: !9)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 3, scope: !50, type: !6)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 16, column: 7, scope: !50)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 16, column: 6, scope: !50)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 17, column: 5, scope: !50)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 19, column: 18, scope: !50)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 19, column: 10, scope: !50)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 19, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !68 = !{!51, !52, !53}
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 26, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !53 = !{!51}
|
||||
// CHECK:STDOUT: !54 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core", scope: null, file: !4, line: 25, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !57)
|
||||
// CHECK:STDOUT: !55 = !DILocalVariable(arg: 1, scope: !54, type: !9)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 25, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !57 = !{!55}
|
||||
// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 24, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !61)
|
||||
// CHECK:STDOUT: !59 = !DILocalVariable(arg: 1, scope: !58, type: !9)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 24, column: 3, scope: !58)
|
||||
// CHECK:STDOUT: !61 = !{!59}
|
||||
// CHECK:STDOUT: !62 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 24, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !65)
|
||||
// CHECK:STDOUT: !63 = !DILocalVariable(arg: 1, scope: !62, type: !9)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 24, column: 3, scope: !62)
|
||||
// CHECK:STDOUT: !65 = !{!63}
|
||||
// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 24, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !69)
|
||||
// CHECK:STDOUT: !67 = !DILocalVariable(arg: 1, scope: !66, type: !9)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 24, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !69 = !{!67}
|
||||
// CHECK:STDOUT: !70 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 23, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !73)
|
||||
// CHECK:STDOUT: !71 = !DILocalVariable(arg: 1, scope: !70, type: !6)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 23, column: 3, scope: !70)
|
||||
// CHECK:STDOUT: !73 = !{!71}
|
||||
// CHECK:STDOUT: !74 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 23, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !77)
|
||||
// CHECK:STDOUT: !75 = !DILocalVariable(arg: 1, scope: !74, type: !6)
|
||||
// CHECK:STDOUT: !76 = !DILocation(line: 23, column: 3, scope: !74)
|
||||
// CHECK:STDOUT: !77 = !{!75}
|
||||
// CHECK:STDOUT: !78 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 23, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !81)
|
||||
// CHECK:STDOUT: !79 = !DILocalVariable(arg: 1, scope: !78, type: !6)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 23, column: 3, scope: !78)
|
||||
// CHECK:STDOUT: !81 = !{!79}
|
||||
// CHECK:STDOUT: !82 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.369f53a8d4c38871", scope: null, file: !4, line: 15, type: !37, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !100)
|
||||
// CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !82, type: !9)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 2, scope: !82, type: !9)
|
||||
// CHECK:STDOUT: !85 = !DILocalVariable(arg: 3, scope: !82, type: !6)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 16, column: 7, scope: !82)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 16, column: 6, scope: !82)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 17, column: 5, scope: !82)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 19, column: 18, scope: !82)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 19, column: 10, scope: !82)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 19, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !100 = !{!83, !84, !85}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+291
-152
@@ -136,143 +136,230 @@ fn M() {
|
||||
// CHECK:STDOUT: %.loc52_15 = load ptr, ptr %ptr_bool.var, align 8, !dbg !100
|
||||
// CHECK:STDOUT: %.loc52_25 = load ptr, ptr %ptr_bool.var, align 8, !dbg !101
|
||||
// CHECK:STDOUT: %F.call.loc52 = call i32 @_CF.Main.732da705e71cd359(ptr %.loc52_5, ptr %.loc52_15, ptr %.loc52_25, i32 0), !dbg !102
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %val_f64.var), !dbg !27
|
||||
// CHECK:STDOUT: call void @"_COp.5aacfd7dcc330b17:core.Destroy.Core"(ptr %val_i64.var), !dbg !25
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %val_i32.var), !dbg !23
|
||||
// CHECK:STDOUT: call void @"_COp.d57cb32fcf12ec07:core.Destroy.Core"(ptr %val_i16.var), !dbg !21
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %ptr_bool.var), !dbg !43
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.6438500ec3acb664:core.Destroy.Core"(ptr %ptr_i64.var), !dbg !39
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !35
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.686cf03349556866:core.Destroy.Core"(ptr %ptr_i16.var), !dbg !31
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %val_bool.var), !dbg !29
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %val_f64.var), !dbg !27
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.5aacfd7dcc330b17:core.Destroy.Core"(ptr %val_i64.var), !dbg !25
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %val_i32.var), !dbg !23
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d57cb32fcf12ec07:core.Destroy.Core"(ptr %val_i16.var), !dbg !21
|
||||
// CHECK:STDOUT: ret void, !dbg !103
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !104 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %self) #0 !dbg !104 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !106
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.5aacfd7dcc330b17:core.Destroy.Core"(ptr %self) #0 !dbg !108 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6438500ec3acb664:core.Destroy.Core"(ptr %self) #0 !dbg !108 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !110
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !114
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.d57cb32fcf12ec07:core.Destroy.Core"(ptr %self) #0 !dbg !116 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.686cf03349556866:core.Destroy.Core"(ptr %self) #0 !dbg !116 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !118
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %self) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !122
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !124 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !126
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !128 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !130
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !132 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !134
|
||||
// CHECK:STDOUT: ret void, !dbg !134
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6e5a4ef51c9e705a:core.Destroy.Core"(ptr %self) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !138
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.5aacfd7dcc330b17:core.Destroy.Core"(ptr %self) #0 !dbg !140 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !142
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.5aacfd7dcc330b17:core.Destroy.Core"(ptr %self) #0 !dbg !144 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.5aacfd7dcc330b17:core.Destroy.Core"(ptr %self), !dbg !146
|
||||
// CHECK:STDOUT: ret void, !dbg !146
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !148 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !150
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !152 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !154
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !156 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !158
|
||||
// CHECK:STDOUT: ret void, !dbg !158
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.ea6dff92ea7b44ef:core.Destroy.Core"(ptr %self) #0 !dbg !160 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !162
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.d57cb32fcf12ec07:core.Destroy.Core"(ptr %self) #0 !dbg !164 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !166
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d57cb32fcf12ec07:core.Destroy.Core"(ptr %self) #0 !dbg !168 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.d57cb32fcf12ec07:core.Destroy.Core"(ptr %self), !dbg !170
|
||||
// CHECK:STDOUT: ret void, !dbg !170
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.bb004feba9dd474d(i16 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.bb004feba9dd474d(i16 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !172 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !131
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !132
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !183
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !184
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !134
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !186
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !138
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.bb004feba9dd474d(i16 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !139
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !140
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !190
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.bb004feba9dd474d(i16 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !191
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !192
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.f24eb6b05368f488(i32 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !142 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.f24eb6b05368f488(i32 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !194 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !153
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !154
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !205
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !206
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !156
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !208
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !160
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.f24eb6b05368f488(i32 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !161
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !162
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !212
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.f24eb6b05368f488(i32 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !213
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !214
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.427cba2b3278d1dc(i1 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !164 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.427cba2b3278d1dc(i1 %x, ptr %y, ptr %z, i32 %count) #0 !dbg !216 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !175
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !176
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !227
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !228
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !178
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !230
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !182
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.427cba2b3278d1dc(i1 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !183
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !184
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !234
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.427cba2b3278d1dc(i1 %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !235
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !236
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.ea32bb7f769e7967(i64 %x, i1 %y, ptr %z, i32 %count) #0 !dbg !186 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.ea32bb7f769e7967(i64 %x, i1 %y, ptr %z, i32 %count) #0 !dbg !238 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !197
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !198
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !249
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !250
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !200
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !252
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !204
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.b1f6aa8c7fcac0ca(i64 %x, ptr %z, i1 %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !205
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !206
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !256
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.b1f6aa8c7fcac0ca(i64 %x, ptr %z, i1 %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !257
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !258
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.6eab5c6411742e70(double %x, ptr %y, ptr %z, i32 %count) #0 !dbg !208 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.6eab5c6411742e70(double %x, ptr %y, ptr %z, i32 %count) #0 !dbg !260 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !219
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !220
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !271
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !272
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !222
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !274
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !226
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.6eab5c6411742e70(double %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !227
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !228
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !278
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.6eab5c6411742e70(double %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !279
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !280
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.732da705e71cd359(ptr %x, ptr %y, ptr %z, i32 %count) #0 !dbg !230 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.732da705e71cd359(ptr %x, ptr %y, ptr %z, i32 %count) #0 !dbg !282 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !241
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !242
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !293
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !294
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !244
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !296
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !248
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.732da705e71cd359(ptr %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !249
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !250
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !300
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.732da705e71cd359(ptr %x, ptr %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !301
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !302
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.b1f6aa8c7fcac0ca(i64 %x, ptr %y, i1 %z, i32 %count) #0 !dbg !450 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.b1f6aa8c7fcac0ca(i64 %x, ptr %y, i1 %z, i32 %count) #0 !dbg !502 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !461
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !462
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 2, !dbg !513
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then, label %if.else, !dbg !514
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !464
|
||||
// CHECK:STDOUT: ret i32 %count, !dbg !516
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !468
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.ea32bb7f769e7967(i64 %x, i1 %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !469
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !470
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !520
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.ea32bb7f769e7967(i64 %x, i1 %z, ptr %y, i32 %Int.as.AddWith.impl.Op.call), !dbg !521
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !522
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -370,104 +457,156 @@ fn M() {
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 52, column: 25, scope: !20)
|
||||
// CHECK:STDOUT: !102 = !DILocation(line: 52, column: 3, scope: !20)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 22, column: 1, scope: !20)
|
||||
// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 26, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !107)
|
||||
// CHECK:STDOUT: !104 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core", scope: null, file: !4, line: 32, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !107)
|
||||
// CHECK:STDOUT: !105 = !DILocalVariable(arg: 1, scope: !104, type: !11)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 26, column: 3, scope: !104)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 32, column: 3, scope: !104)
|
||||
// CHECK:STDOUT: !107 = !{!105}
|
||||
// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "Op", linkageName: "_COp.5aacfd7dcc330b17:core.Destroy.Core", scope: null, file: !4, line: 25, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !111)
|
||||
// CHECK:STDOUT: !109 = !DILocalVariable(arg: 1, scope: !108, type: !8)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 25, column: 3, scope: !108)
|
||||
// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6438500ec3acb664:core.Destroy.Core", scope: null, file: !4, line: 31, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !111)
|
||||
// CHECK:STDOUT: !109 = !DILocalVariable(arg: 1, scope: !108, type: !11)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 31, column: 3, scope: !108)
|
||||
// CHECK:STDOUT: !111 = !{!109}
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 24, type: !17, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !115)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !6)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 24, column: 3, scope: !112)
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 30, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !115)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !11)
|
||||
// CHECK:STDOUT: !114 = !DILocation(line: 30, column: 3, scope: !112)
|
||||
// CHECK:STDOUT: !115 = !{!113}
|
||||
// CHECK:STDOUT: !116 = distinct !DISubprogram(name: "Op", linkageName: "_COp.d57cb32fcf12ec07:core.Destroy.Core", scope: null, file: !4, line: 23, type: !19, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !117 = !DILocalVariable(arg: 1, scope: !116, type: !7)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 23, column: 3, scope: !116)
|
||||
// CHECK:STDOUT: !116 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.686cf03349556866:core.Destroy.Core", scope: null, file: !4, line: 29, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !117 = !DILocalVariable(arg: 1, scope: !116, type: !11)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 29, column: 3, scope: !116)
|
||||
// CHECK:STDOUT: !119 = !{!117}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.bb004feba9dd474d", scope: null, file: !4, line: 15, type: !52, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !141)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !7)
|
||||
// CHECK:STDOUT: !122 = !DILocalVariable(arg: 2, scope: !120, type: !11)
|
||||
// CHECK:STDOUT: !123 = !DILocalVariable(arg: 3, scope: !120, type: !11)
|
||||
// CHECK:STDOUT: !124 = !DILocalVariable(arg: 4, scope: !120, type: !6)
|
||||
// CHECK:STDOUT: !131 = !DILocation(line: 16, column: 7, scope: !120)
|
||||
// CHECK:STDOUT: !132 = !DILocation(line: 16, column: 6, scope: !120)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 17, column: 5, scope: !120)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 19, column: 21, scope: !120)
|
||||
// CHECK:STDOUT: !139 = !DILocation(line: 19, column: 10, scope: !120)
|
||||
// CHECK:STDOUT: !140 = !DILocation(line: 19, column: 3, scope: !120)
|
||||
// CHECK:STDOUT: !141 = !{!121, !122, !123, !124}
|
||||
// CHECK:STDOUT: !142 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.f24eb6b05368f488", scope: null, file: !4, line: 15, type: !58, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !163)
|
||||
// CHECK:STDOUT: !143 = !DILocalVariable(arg: 1, scope: !142, type: !6)
|
||||
// CHECK:STDOUT: !144 = !DILocalVariable(arg: 2, scope: !142, type: !11)
|
||||
// CHECK:STDOUT: !145 = !DILocalVariable(arg: 3, scope: !142, type: !11)
|
||||
// CHECK:STDOUT: !146 = !DILocalVariable(arg: 4, scope: !142, type: !6)
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 16, column: 7, scope: !142)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 16, column: 6, scope: !142)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 17, column: 5, scope: !142)
|
||||
// CHECK:STDOUT: !160 = !DILocation(line: 19, column: 21, scope: !142)
|
||||
// CHECK:STDOUT: !161 = !DILocation(line: 19, column: 10, scope: !142)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 19, column: 3, scope: !142)
|
||||
// CHECK:STDOUT: !163 = !{!143, !144, !145, !146}
|
||||
// CHECK:STDOUT: !164 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.427cba2b3278d1dc", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !185)
|
||||
// CHECK:STDOUT: !165 = !DILocalVariable(arg: 1, scope: !164, type: !11)
|
||||
// CHECK:STDOUT: !166 = !DILocalVariable(arg: 2, scope: !164, type: !11)
|
||||
// CHECK:STDOUT: !167 = !DILocalVariable(arg: 3, scope: !164, type: !11)
|
||||
// CHECK:STDOUT: !168 = !DILocalVariable(arg: 4, scope: !164, type: !6)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 16, column: 7, scope: !164)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 16, column: 6, scope: !164)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 17, column: 5, scope: !164)
|
||||
// CHECK:STDOUT: !182 = !DILocation(line: 19, column: 21, scope: !164)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 19, column: 10, scope: !164)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 19, column: 3, scope: !164)
|
||||
// CHECK:STDOUT: !185 = !{!165, !166, !167, !168}
|
||||
// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.ea32bb7f769e7967", scope: null, file: !4, line: 15, type: !70, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !207)
|
||||
// CHECK:STDOUT: !187 = !DILocalVariable(arg: 1, scope: !186, type: !8)
|
||||
// CHECK:STDOUT: !188 = !DILocalVariable(arg: 2, scope: !186, type: !11)
|
||||
// CHECK:STDOUT: !189 = !DILocalVariable(arg: 3, scope: !186, type: !11)
|
||||
// CHECK:STDOUT: !190 = !DILocalVariable(arg: 4, scope: !186, type: !6)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 16, column: 7, scope: !186)
|
||||
// CHECK:STDOUT: !198 = !DILocation(line: 16, column: 6, scope: !186)
|
||||
// CHECK:STDOUT: !200 = !DILocation(line: 17, column: 5, scope: !186)
|
||||
// CHECK:STDOUT: !204 = !DILocation(line: 19, column: 21, scope: !186)
|
||||
// CHECK:STDOUT: !205 = !DILocation(line: 19, column: 10, scope: !186)
|
||||
// CHECK:STDOUT: !206 = !DILocation(line: 19, column: 3, scope: !186)
|
||||
// CHECK:STDOUT: !207 = !{!187, !188, !189, !190}
|
||||
// CHECK:STDOUT: !208 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.6eab5c6411742e70", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !229)
|
||||
// CHECK:STDOUT: !209 = !DILocalVariable(arg: 1, scope: !208, type: !11)
|
||||
// CHECK:STDOUT: !210 = !DILocalVariable(arg: 2, scope: !208, type: !11)
|
||||
// CHECK:STDOUT: !211 = !DILocalVariable(arg: 3, scope: !208, type: !11)
|
||||
// CHECK:STDOUT: !212 = !DILocalVariable(arg: 4, scope: !208, type: !6)
|
||||
// CHECK:STDOUT: !219 = !DILocation(line: 16, column: 7, scope: !208)
|
||||
// CHECK:STDOUT: !220 = !DILocation(line: 16, column: 6, scope: !208)
|
||||
// CHECK:STDOUT: !222 = !DILocation(line: 17, column: 5, scope: !208)
|
||||
// CHECK:STDOUT: !226 = !DILocation(line: 19, column: 21, scope: !208)
|
||||
// CHECK:STDOUT: !227 = !DILocation(line: 19, column: 10, scope: !208)
|
||||
// CHECK:STDOUT: !228 = !DILocation(line: 19, column: 3, scope: !208)
|
||||
// CHECK:STDOUT: !229 = !{!209, !210, !211, !212}
|
||||
// CHECK:STDOUT: !230 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.732da705e71cd359", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !251)
|
||||
// CHECK:STDOUT: !231 = !DILocalVariable(arg: 1, scope: !230, type: !11)
|
||||
// CHECK:STDOUT: !232 = !DILocalVariable(arg: 2, scope: !230, type: !11)
|
||||
// CHECK:STDOUT: !233 = !DILocalVariable(arg: 3, scope: !230, type: !11)
|
||||
// CHECK:STDOUT: !234 = !DILocalVariable(arg: 4, scope: !230, type: !6)
|
||||
// CHECK:STDOUT: !241 = !DILocation(line: 16, column: 7, scope: !230)
|
||||
// CHECK:STDOUT: !242 = !DILocation(line: 16, column: 6, scope: !230)
|
||||
// CHECK:STDOUT: !244 = !DILocation(line: 17, column: 5, scope: !230)
|
||||
// CHECK:STDOUT: !248 = !DILocation(line: 19, column: 21, scope: !230)
|
||||
// CHECK:STDOUT: !249 = !DILocation(line: 19, column: 10, scope: !230)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 19, column: 3, scope: !230)
|
||||
// CHECK:STDOUT: !251 = !{!231, !232, !233, !234}
|
||||
// CHECK:STDOUT: !450 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.b1f6aa8c7fcac0ca", scope: null, file: !4, line: 15, type: !70, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !471)
|
||||
// CHECK:STDOUT: !451 = !DILocalVariable(arg: 1, scope: !450, type: !8)
|
||||
// CHECK:STDOUT: !452 = !DILocalVariable(arg: 2, scope: !450, type: !11)
|
||||
// CHECK:STDOUT: !453 = !DILocalVariable(arg: 3, scope: !450, type: !11)
|
||||
// CHECK:STDOUT: !454 = !DILocalVariable(arg: 4, scope: !450, type: !6)
|
||||
// CHECK:STDOUT: !461 = !DILocation(line: 16, column: 7, scope: !450)
|
||||
// CHECK:STDOUT: !462 = !DILocation(line: 16, column: 6, scope: !450)
|
||||
// CHECK:STDOUT: !464 = !DILocation(line: 17, column: 5, scope: !450)
|
||||
// CHECK:STDOUT: !468 = !DILocation(line: 19, column: 21, scope: !450)
|
||||
// CHECK:STDOUT: !469 = !DILocation(line: 19, column: 10, scope: !450)
|
||||
// CHECK:STDOUT: !470 = !DILocation(line: 19, column: 3, scope: !450)
|
||||
// CHECK:STDOUT: !471 = !{!451, !452, !453, !454}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core", scope: null, file: !4, line: 27, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !123)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !11)
|
||||
// CHECK:STDOUT: !122 = !DILocation(line: 27, column: 3, scope: !120)
|
||||
// CHECK:STDOUT: !123 = !{!121}
|
||||
// CHECK:STDOUT: !124 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 26, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !127)
|
||||
// CHECK:STDOUT: !125 = !DILocalVariable(arg: 1, scope: !124, type: !11)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 26, column: 3, scope: !124)
|
||||
// CHECK:STDOUT: !127 = !{!125}
|
||||
// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 26, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !131)
|
||||
// CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !128, type: !11)
|
||||
// CHECK:STDOUT: !130 = !DILocation(line: 26, column: 3, scope: !128)
|
||||
// CHECK:STDOUT: !131 = !{!129}
|
||||
// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 26, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !135)
|
||||
// CHECK:STDOUT: !133 = !DILocalVariable(arg: 1, scope: !132, type: !11)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 26, column: 3, scope: !132)
|
||||
// CHECK:STDOUT: !135 = !{!133}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6e5a4ef51c9e705a:core.Destroy.Core", scope: null, file: !4, line: 25, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !139)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !8)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 25, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !139 = !{!137}
|
||||
// CHECK:STDOUT: !140 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.5aacfd7dcc330b17:core.Destroy.Core", scope: null, file: !4, line: 25, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !143)
|
||||
// CHECK:STDOUT: !141 = !DILocalVariable(arg: 1, scope: !140, type: !8)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 25, column: 3, scope: !140)
|
||||
// CHECK:STDOUT: !143 = !{!141}
|
||||
// CHECK:STDOUT: !144 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.5aacfd7dcc330b17:core.Destroy.Core", scope: null, file: !4, line: 25, type: !15, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !147)
|
||||
// CHECK:STDOUT: !145 = !DILocalVariable(arg: 1, scope: !144, type: !8)
|
||||
// CHECK:STDOUT: !146 = !DILocation(line: 25, column: 3, scope: !144)
|
||||
// CHECK:STDOUT: !147 = !{!145}
|
||||
// CHECK:STDOUT: !148 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 24, type: !17, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !151)
|
||||
// CHECK:STDOUT: !149 = !DILocalVariable(arg: 1, scope: !148, type: !6)
|
||||
// CHECK:STDOUT: !150 = !DILocation(line: 24, column: 3, scope: !148)
|
||||
// CHECK:STDOUT: !151 = !{!149}
|
||||
// CHECK:STDOUT: !152 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 24, type: !17, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !155)
|
||||
// CHECK:STDOUT: !153 = !DILocalVariable(arg: 1, scope: !152, type: !6)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 24, column: 3, scope: !152)
|
||||
// CHECK:STDOUT: !155 = !{!153}
|
||||
// CHECK:STDOUT: !156 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 24, type: !17, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !159)
|
||||
// CHECK:STDOUT: !157 = !DILocalVariable(arg: 1, scope: !156, type: !6)
|
||||
// CHECK:STDOUT: !158 = !DILocation(line: 24, column: 3, scope: !156)
|
||||
// CHECK:STDOUT: !159 = !{!157}
|
||||
// CHECK:STDOUT: !160 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.ea6dff92ea7b44ef:core.Destroy.Core", scope: null, file: !4, line: 23, type: !19, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !163)
|
||||
// CHECK:STDOUT: !161 = !DILocalVariable(arg: 1, scope: !160, type: !7)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 23, column: 3, scope: !160)
|
||||
// CHECK:STDOUT: !163 = !{!161}
|
||||
// CHECK:STDOUT: !164 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.d57cb32fcf12ec07:core.Destroy.Core", scope: null, file: !4, line: 23, type: !19, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !167)
|
||||
// CHECK:STDOUT: !165 = !DILocalVariable(arg: 1, scope: !164, type: !7)
|
||||
// CHECK:STDOUT: !166 = !DILocation(line: 23, column: 3, scope: !164)
|
||||
// CHECK:STDOUT: !167 = !{!165}
|
||||
// CHECK:STDOUT: !168 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d57cb32fcf12ec07:core.Destroy.Core", scope: null, file: !4, line: 23, type: !19, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !171)
|
||||
// CHECK:STDOUT: !169 = !DILocalVariable(arg: 1, scope: !168, type: !7)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 23, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !171 = !{!169}
|
||||
// CHECK:STDOUT: !172 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.bb004feba9dd474d", scope: null, file: !4, line: 15, type: !52, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !193)
|
||||
// CHECK:STDOUT: !173 = !DILocalVariable(arg: 1, scope: !172, type: !7)
|
||||
// CHECK:STDOUT: !174 = !DILocalVariable(arg: 2, scope: !172, type: !11)
|
||||
// CHECK:STDOUT: !175 = !DILocalVariable(arg: 3, scope: !172, type: !11)
|
||||
// CHECK:STDOUT: !176 = !DILocalVariable(arg: 4, scope: !172, type: !6)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 16, column: 7, scope: !172)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 16, column: 6, scope: !172)
|
||||
// CHECK:STDOUT: !186 = !DILocation(line: 17, column: 5, scope: !172)
|
||||
// CHECK:STDOUT: !190 = !DILocation(line: 19, column: 21, scope: !172)
|
||||
// CHECK:STDOUT: !191 = !DILocation(line: 19, column: 10, scope: !172)
|
||||
// CHECK:STDOUT: !192 = !DILocation(line: 19, column: 3, scope: !172)
|
||||
// CHECK:STDOUT: !193 = !{!173, !174, !175, !176}
|
||||
// CHECK:STDOUT: !194 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.f24eb6b05368f488", scope: null, file: !4, line: 15, type: !58, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !215)
|
||||
// CHECK:STDOUT: !195 = !DILocalVariable(arg: 1, scope: !194, type: !6)
|
||||
// CHECK:STDOUT: !196 = !DILocalVariable(arg: 2, scope: !194, type: !11)
|
||||
// CHECK:STDOUT: !197 = !DILocalVariable(arg: 3, scope: !194, type: !11)
|
||||
// CHECK:STDOUT: !198 = !DILocalVariable(arg: 4, scope: !194, type: !6)
|
||||
// CHECK:STDOUT: !205 = !DILocation(line: 16, column: 7, scope: !194)
|
||||
// CHECK:STDOUT: !206 = !DILocation(line: 16, column: 6, scope: !194)
|
||||
// CHECK:STDOUT: !208 = !DILocation(line: 17, column: 5, scope: !194)
|
||||
// CHECK:STDOUT: !212 = !DILocation(line: 19, column: 21, scope: !194)
|
||||
// CHECK:STDOUT: !213 = !DILocation(line: 19, column: 10, scope: !194)
|
||||
// CHECK:STDOUT: !214 = !DILocation(line: 19, column: 3, scope: !194)
|
||||
// CHECK:STDOUT: !215 = !{!195, !196, !197, !198}
|
||||
// CHECK:STDOUT: !216 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.427cba2b3278d1dc", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !237)
|
||||
// CHECK:STDOUT: !217 = !DILocalVariable(arg: 1, scope: !216, type: !11)
|
||||
// CHECK:STDOUT: !218 = !DILocalVariable(arg: 2, scope: !216, type: !11)
|
||||
// CHECK:STDOUT: !219 = !DILocalVariable(arg: 3, scope: !216, type: !11)
|
||||
// CHECK:STDOUT: !220 = !DILocalVariable(arg: 4, scope: !216, type: !6)
|
||||
// CHECK:STDOUT: !227 = !DILocation(line: 16, column: 7, scope: !216)
|
||||
// CHECK:STDOUT: !228 = !DILocation(line: 16, column: 6, scope: !216)
|
||||
// CHECK:STDOUT: !230 = !DILocation(line: 17, column: 5, scope: !216)
|
||||
// CHECK:STDOUT: !234 = !DILocation(line: 19, column: 21, scope: !216)
|
||||
// CHECK:STDOUT: !235 = !DILocation(line: 19, column: 10, scope: !216)
|
||||
// CHECK:STDOUT: !236 = !DILocation(line: 19, column: 3, scope: !216)
|
||||
// CHECK:STDOUT: !237 = !{!217, !218, !219, !220}
|
||||
// CHECK:STDOUT: !238 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.ea32bb7f769e7967", scope: null, file: !4, line: 15, type: !70, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !259)
|
||||
// CHECK:STDOUT: !239 = !DILocalVariable(arg: 1, scope: !238, type: !8)
|
||||
// CHECK:STDOUT: !240 = !DILocalVariable(arg: 2, scope: !238, type: !11)
|
||||
// CHECK:STDOUT: !241 = !DILocalVariable(arg: 3, scope: !238, type: !11)
|
||||
// CHECK:STDOUT: !242 = !DILocalVariable(arg: 4, scope: !238, type: !6)
|
||||
// CHECK:STDOUT: !249 = !DILocation(line: 16, column: 7, scope: !238)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 16, column: 6, scope: !238)
|
||||
// CHECK:STDOUT: !252 = !DILocation(line: 17, column: 5, scope: !238)
|
||||
// CHECK:STDOUT: !256 = !DILocation(line: 19, column: 21, scope: !238)
|
||||
// CHECK:STDOUT: !257 = !DILocation(line: 19, column: 10, scope: !238)
|
||||
// CHECK:STDOUT: !258 = !DILocation(line: 19, column: 3, scope: !238)
|
||||
// CHECK:STDOUT: !259 = !{!239, !240, !241, !242}
|
||||
// CHECK:STDOUT: !260 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.6eab5c6411742e70", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !281)
|
||||
// CHECK:STDOUT: !261 = !DILocalVariable(arg: 1, scope: !260, type: !11)
|
||||
// CHECK:STDOUT: !262 = !DILocalVariable(arg: 2, scope: !260, type: !11)
|
||||
// CHECK:STDOUT: !263 = !DILocalVariable(arg: 3, scope: !260, type: !11)
|
||||
// CHECK:STDOUT: !264 = !DILocalVariable(arg: 4, scope: !260, type: !6)
|
||||
// CHECK:STDOUT: !271 = !DILocation(line: 16, column: 7, scope: !260)
|
||||
// CHECK:STDOUT: !272 = !DILocation(line: 16, column: 6, scope: !260)
|
||||
// CHECK:STDOUT: !274 = !DILocation(line: 17, column: 5, scope: !260)
|
||||
// CHECK:STDOUT: !278 = !DILocation(line: 19, column: 21, scope: !260)
|
||||
// CHECK:STDOUT: !279 = !DILocation(line: 19, column: 10, scope: !260)
|
||||
// CHECK:STDOUT: !280 = !DILocation(line: 19, column: 3, scope: !260)
|
||||
// CHECK:STDOUT: !281 = !{!261, !262, !263, !264}
|
||||
// CHECK:STDOUT: !282 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.732da705e71cd359", scope: null, file: !4, line: 15, type: !64, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !303)
|
||||
// CHECK:STDOUT: !283 = !DILocalVariable(arg: 1, scope: !282, type: !11)
|
||||
// CHECK:STDOUT: !284 = !DILocalVariable(arg: 2, scope: !282, type: !11)
|
||||
// CHECK:STDOUT: !285 = !DILocalVariable(arg: 3, scope: !282, type: !11)
|
||||
// CHECK:STDOUT: !286 = !DILocalVariable(arg: 4, scope: !282, type: !6)
|
||||
// CHECK:STDOUT: !293 = !DILocation(line: 16, column: 7, scope: !282)
|
||||
// CHECK:STDOUT: !294 = !DILocation(line: 16, column: 6, scope: !282)
|
||||
// CHECK:STDOUT: !296 = !DILocation(line: 17, column: 5, scope: !282)
|
||||
// CHECK:STDOUT: !300 = !DILocation(line: 19, column: 21, scope: !282)
|
||||
// CHECK:STDOUT: !301 = !DILocation(line: 19, column: 10, scope: !282)
|
||||
// CHECK:STDOUT: !302 = !DILocation(line: 19, column: 3, scope: !282)
|
||||
// CHECK:STDOUT: !303 = !{!283, !284, !285, !286}
|
||||
// CHECK:STDOUT: !502 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.b1f6aa8c7fcac0ca", scope: null, file: !4, line: 15, type: !70, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !523)
|
||||
// CHECK:STDOUT: !503 = !DILocalVariable(arg: 1, scope: !502, type: !8)
|
||||
// CHECK:STDOUT: !504 = !DILocalVariable(arg: 2, scope: !502, type: !11)
|
||||
// CHECK:STDOUT: !505 = !DILocalVariable(arg: 3, scope: !502, type: !11)
|
||||
// CHECK:STDOUT: !506 = !DILocalVariable(arg: 4, scope: !502, type: !6)
|
||||
// CHECK:STDOUT: !513 = !DILocation(line: 16, column: 7, scope: !502)
|
||||
// CHECK:STDOUT: !514 = !DILocation(line: 16, column: 6, scope: !502)
|
||||
// CHECK:STDOUT: !516 = !DILocation(line: 17, column: 5, scope: !502)
|
||||
// CHECK:STDOUT: !520 = !DILocation(line: 19, column: 21, scope: !502)
|
||||
// CHECK:STDOUT: !521 = !DILocation(line: 19, column: 10, scope: !502)
|
||||
// CHECK:STDOUT: !522 = !DILocation(line: 19, column: 3, scope: !502)
|
||||
// CHECK:STDOUT: !523 = !{!503, !504, !505, !506}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+352
-288
@@ -112,254 +112,294 @@ fn M() {
|
||||
// CHECK:STDOUT: %A.call.loc82 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc82_5, i32 0), !dbg !36
|
||||
// CHECK:STDOUT: %.loc83_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !37
|
||||
// CHECK:STDOUT: %A.call.loc83 = call ptr @_CA.Main.a76b78461416b4a8(ptr %.loc83_5, i32 0), !dbg !38
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !23
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !19
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %m.var), !dbg !17
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !15
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !44 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !50
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !54
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !56 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !58
|
||||
// CHECK:STDOUT: ret void, !dbg !58
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !60 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !62
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !66
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !68 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !70
|
||||
// CHECK:STDOUT: ret void, !dbg !70
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CA.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !72 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !57
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !62
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !63
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !81
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !86
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !87
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CA.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !89 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !74
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !79
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !80
|
||||
// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !98
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !103
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !104
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !82 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CA.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !106 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !91
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !94
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !95
|
||||
// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !115
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !118
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !119
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !119
|
||||
// CHECK:STDOUT: ret void, !dbg !120
|
||||
// CHECK:STDOUT: call void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !143
|
||||
// CHECK:STDOUT: ret void, !dbg !144
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !122 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !146 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !129
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !130
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !153
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !154
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !132
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !156
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !133
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !133
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !134
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !157
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !157
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !158
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %E.call = call i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !137
|
||||
// CHECK:STDOUT: ret i32 %E.call, !dbg !138
|
||||
// CHECK:STDOUT: %E.call = call i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !161
|
||||
// CHECK:STDOUT: ret i32 %E.call, !dbg !162
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !141
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !142
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !165
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !166
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !144 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !168 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !151
|
||||
// CHECK:STDOUT: ret void, !dbg !152
|
||||
// CHECK:STDOUT: call void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !175
|
||||
// CHECK:STDOUT: ret void, !dbg !176
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !154 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !178 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !161
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !162
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !185
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !186
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: ret double %x, !dbg !164
|
||||
// CHECK:STDOUT: ret double %x, !dbg !188
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !165
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !165
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !166
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !189
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !189
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !190
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %E.call = call double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !169
|
||||
// CHECK:STDOUT: ret double %E.call, !dbg !170
|
||||
// CHECK:STDOUT: %E.call = call double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !193
|
||||
// CHECK:STDOUT: ret double %E.call, !dbg !194
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !173
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !174
|
||||
// CHECK:STDOUT: %F.call = call double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !197
|
||||
// CHECK:STDOUT: ret double %F.call, !dbg !198
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !176 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !200 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !183
|
||||
// CHECK:STDOUT: ret void, !dbg !184
|
||||
// CHECK:STDOUT: call void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !207
|
||||
// CHECK:STDOUT: ret void, !dbg !208
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !186 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !210 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !193
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !194
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 4, !dbg !217
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.Greater.call, label %if.then.loc49, label %if.else.loc49, !dbg !218
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !196
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !220
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc49: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !197
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !197
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !198
|
||||
// CHECK:STDOUT: %Int.as.ModWith.impl.Op.call = srem i32 %count, 2, !dbg !221
|
||||
// CHECK:STDOUT: %Int.as.EqWith.impl.Equal.call = icmp eq i32 %Int.as.ModWith.impl.Op.call, 0, !dbg !221
|
||||
// CHECK:STDOUT: br i1 %Int.as.EqWith.impl.Equal.call, label %if.then.loc52, label %if.else.loc52, !dbg !222
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %E.call = call ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !201
|
||||
// CHECK:STDOUT: ret ptr %E.call, !dbg !202
|
||||
// CHECK:STDOUT: %E.call = call ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !225
|
||||
// CHECK:STDOUT: ret ptr %E.call, !dbg !226
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else.loc52: ; preds = %if.else.loc49
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !205
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !206
|
||||
// CHECK:STDOUT: %F.call = call ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !229
|
||||
// CHECK:STDOUT: ret ptr %F.call, !dbg !230
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !240 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !264 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !245
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !246
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !269
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !270
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !248
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !250
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !251
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !252
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !272
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !274
|
||||
// CHECK:STDOUT: call void @_CB.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !275
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !276
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %if.then, %entry
|
||||
// CHECK:STDOUT: ret void, !dbg !253
|
||||
// CHECK:STDOUT: ret void, !dbg !277
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !255 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CE.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !279 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !264
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !265
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !288
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !289
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !267 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !291 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !276
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !277
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count), !dbg !300
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !301
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !279 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !303 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !284
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !285
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !308
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !309
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !287
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !289
|
||||
// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !290
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !291
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !311
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !313
|
||||
// CHECK:STDOUT: call void @_CB.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !314
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !315
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %if.then, %entry
|
||||
// CHECK:STDOUT: ret void, !dbg !292
|
||||
// CHECK:STDOUT: ret void, !dbg !316
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !294 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CE.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !318 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !303
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !304
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !327
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !328
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !306 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !330 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !315
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !316
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count), !dbg !339
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !340
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !318 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CC.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !342 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !323
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !324
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.LessOrEquivalent.call = icmp sle i32 %count, 2, !dbg !347
|
||||
// CHECK:STDOUT: br i1 %Int.as.OrderedWith.impl.LessOrEquivalent.call, label %if.then, label %if.else, !dbg !348
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.then: ; preds = %entry
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !326
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !328
|
||||
// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !329
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !330
|
||||
// CHECK:STDOUT: %Print.call = call i32 (ptr, ...) @printf(ptr @printf.int.format, i32 %count), !dbg !350
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !352
|
||||
// CHECK:STDOUT: call void @_CB.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !353
|
||||
// CHECK:STDOUT: br label %if.else, !dbg !354
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %if.then, %entry
|
||||
// CHECK:STDOUT: ret void, !dbg !331
|
||||
// CHECK:STDOUT: ret void, !dbg !355
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !333 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CE.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !357 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !342
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !343
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !366
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !367
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !345 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !369 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !354
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !355
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count), !dbg !378
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !379
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !396 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !404
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !405
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !406
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !408 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !416
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !417
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !418
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !420 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x, i32 %count) #0 !dbg !420 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !428
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !429
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !430
|
||||
// CHECK:STDOUT: %D.call = call i32 @_CD.Main.4d6ceefeb7f772f4(i32 %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !429
|
||||
// CHECK:STDOUT: ret i32 %D.call, !dbg !430
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x, i32 %count) #0 !dbg !432 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !440
|
||||
// CHECK:STDOUT: %D.call = call double @_CD.Main.c5e4ba542a56b71f(double %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !441
|
||||
// CHECK:STDOUT: ret double %D.call, !dbg !442
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x, i32 %count) #0 !dbg !444 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !452
|
||||
// CHECK:STDOUT: %D.call = call ptr @_CD.Main.a76b78461416b4a8(ptr %x, i32 %Int.as.AddWith.impl.Op.call), !dbg !453
|
||||
// CHECK:STDOUT: ret ptr %D.call, !dbg !454
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -406,184 +446,208 @@ fn M() {
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 83, column: 5, scope: !14)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 83, column: 3, scope: !14)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 74, column: 1, scope: !14)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 76, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !40 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !4, line: 78, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !43)
|
||||
// CHECK:STDOUT: !41 = !DILocalVariable(arg: 1, scope: !40, type: !9)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 76, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 78, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !43 = !{!41}
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 75, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !6)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 75, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !44 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !4, line: 77, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !45 = !DILocalVariable(arg: 1, scope: !44, type: !9)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 77, column: 3, scope: !44)
|
||||
// CHECK:STDOUT: !47 = !{!45}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 32, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !48, type: !6)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 33, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !58 = !{null, !6, !6}
|
||||
// CHECK:STDOUT: !59 = !DISubroutineType(types: !58)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 34, column: 10, scope: !48)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 34, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !64 = !{!49, !50}
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 32, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !81)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !9)
|
||||
// CHECK:STDOUT: !67 = !DILocalVariable(arg: 2, scope: !65, type: !6)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 33, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !75 = !{null, !9, !6}
|
||||
// CHECK:STDOUT: !76 = !DISubroutineType(types: !75)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 34, column: 10, scope: !65)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 34, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !81 = !{!66, !67}
|
||||
// CHECK:STDOUT: !82 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !4, line: 32, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !96)
|
||||
// CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !82, type: !9)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 2, scope: !82, type: !6)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 33, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 34, column: 10, scope: !82)
|
||||
// CHECK:STDOUT: !95 = !DILocation(line: 34, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !96 = !{!83, !84}
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 37, type: !59, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !121)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !6)
|
||||
// CHECK:STDOUT: !114 = !DILocalVariable(arg: 2, scope: !112, type: !6)
|
||||
// CHECK:STDOUT: !119 = !DILocation(line: 38, column: 3, scope: !112)
|
||||
// CHECK:STDOUT: !120 = !DILocation(line: 37, column: 1, scope: !112)
|
||||
// CHECK:STDOUT: !121 = !{!113, !114}
|
||||
// CHECK:STDOUT: !122 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 48, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !143)
|
||||
// CHECK:STDOUT: !123 = !DILocalVariable(arg: 1, scope: !122, type: !6)
|
||||
// CHECK:STDOUT: !124 = !DILocalVariable(arg: 2, scope: !122, type: !6)
|
||||
// CHECK:STDOUT: !129 = !DILocation(line: 49, column: 7, scope: !122)
|
||||
// CHECK:STDOUT: !130 = !DILocation(line: 49, column: 6, scope: !122)
|
||||
// CHECK:STDOUT: !132 = !DILocation(line: 50, column: 5, scope: !122)
|
||||
// CHECK:STDOUT: !133 = !DILocation(line: 52, column: 7, scope: !122)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 52, column: 6, scope: !122)
|
||||
// CHECK:STDOUT: !137 = !DILocation(line: 53, column: 12, scope: !122)
|
||||
// CHECK:STDOUT: !138 = !DILocation(line: 53, column: 5, scope: !122)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 55, column: 12, scope: !122)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 55, column: 5, scope: !122)
|
||||
// CHECK:STDOUT: !143 = !{!123, !124}
|
||||
// CHECK:STDOUT: !144 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 37, type: !76, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !153)
|
||||
// CHECK:STDOUT: !145 = !DILocalVariable(arg: 1, scope: !144, type: !9)
|
||||
// CHECK:STDOUT: !146 = !DILocalVariable(arg: 2, scope: !144, type: !6)
|
||||
// CHECK:STDOUT: !151 = !DILocation(line: 38, column: 3, scope: !144)
|
||||
// CHECK:STDOUT: !152 = !DILocation(line: 37, column: 1, scope: !144)
|
||||
// CHECK:STDOUT: !153 = !{!145, !146}
|
||||
// CHECK:STDOUT: !154 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 48, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !175)
|
||||
// CHECK:STDOUT: !155 = !DILocalVariable(arg: 1, scope: !154, type: !9)
|
||||
// CHECK:STDOUT: !156 = !DILocalVariable(arg: 2, scope: !154, type: !6)
|
||||
// CHECK:STDOUT: !161 = !DILocation(line: 49, column: 7, scope: !154)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 49, column: 6, scope: !154)
|
||||
// CHECK:STDOUT: !164 = !DILocation(line: 50, column: 5, scope: !154)
|
||||
// CHECK:STDOUT: !165 = !DILocation(line: 52, column: 7, scope: !154)
|
||||
// CHECK:STDOUT: !166 = !DILocation(line: 52, column: 6, scope: !154)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 53, column: 12, scope: !154)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 53, column: 5, scope: !154)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 55, column: 12, scope: !154)
|
||||
// CHECK:STDOUT: !174 = !DILocation(line: 55, column: 5, scope: !154)
|
||||
// CHECK:STDOUT: !175 = !{!155, !156}
|
||||
// CHECK:STDOUT: !176 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !4, line: 37, type: !76, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !185)
|
||||
// CHECK:STDOUT: !177 = !DILocalVariable(arg: 1, scope: !176, type: !9)
|
||||
// CHECK:STDOUT: !178 = !DILocalVariable(arg: 2, scope: !176, type: !6)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 38, column: 3, scope: !176)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 37, column: 1, scope: !176)
|
||||
// CHECK:STDOUT: !185 = !{!177, !178}
|
||||
// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !4, line: 48, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !207)
|
||||
// CHECK:STDOUT: !187 = !DILocalVariable(arg: 1, scope: !186, type: !9)
|
||||
// CHECK:STDOUT: !188 = !DILocalVariable(arg: 2, scope: !186, type: !6)
|
||||
// CHECK:STDOUT: !193 = !DILocation(line: 49, column: 7, scope: !186)
|
||||
// CHECK:STDOUT: !194 = !DILocation(line: 49, column: 6, scope: !186)
|
||||
// CHECK:STDOUT: !196 = !DILocation(line: 50, column: 5, scope: !186)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 52, column: 7, scope: !186)
|
||||
// CHECK:STDOUT: !198 = !DILocation(line: 52, column: 6, scope: !186)
|
||||
// CHECK:STDOUT: !201 = !DILocation(line: 53, column: 12, scope: !186)
|
||||
// CHECK:STDOUT: !202 = !DILocation(line: 53, column: 5, scope: !186)
|
||||
// CHECK:STDOUT: !205 = !DILocation(line: 55, column: 12, scope: !186)
|
||||
// CHECK:STDOUT: !206 = !DILocation(line: 55, column: 5, scope: !186)
|
||||
// CHECK:STDOUT: !207 = !{!187, !188}
|
||||
// CHECK:STDOUT: !240 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 41, type: !59, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !254)
|
||||
// CHECK:STDOUT: !241 = !DILocalVariable(arg: 1, scope: !240, type: !6)
|
||||
// CHECK:STDOUT: !242 = !DILocalVariable(arg: 2, scope: !240, type: !6)
|
||||
// CHECK:STDOUT: !245 = !DILocation(line: 42, column: 7, scope: !240)
|
||||
// CHECK:STDOUT: !246 = !DILocation(line: 42, column: 6, scope: !240)
|
||||
// CHECK:STDOUT: !248 = !DILocation(line: 43, column: 5, scope: !240)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 44, column: 10, scope: !240)
|
||||
// CHECK:STDOUT: !251 = !DILocation(line: 44, column: 5, scope: !240)
|
||||
// CHECK:STDOUT: !252 = !DILocation(line: 42, column: 3, scope: !240)
|
||||
// CHECK:STDOUT: !253 = !DILocation(line: 41, column: 1, scope: !240)
|
||||
// CHECK:STDOUT: !254 = !{!241, !242}
|
||||
// CHECK:STDOUT: !255 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 61, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !266)
|
||||
// CHECK:STDOUT: !256 = !DILocalVariable(arg: 1, scope: !255, type: !6)
|
||||
// CHECK:STDOUT: !257 = !DILocalVariable(arg: 2, scope: !255, type: !6)
|
||||
// CHECK:STDOUT: !264 = !DILocation(line: 62, column: 10, scope: !255)
|
||||
// CHECK:STDOUT: !265 = !DILocation(line: 62, column: 3, scope: !255)
|
||||
// CHECK:STDOUT: !266 = !{!256, !257}
|
||||
// CHECK:STDOUT: !267 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 65, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !278)
|
||||
// CHECK:STDOUT: !268 = !DILocalVariable(arg: 1, scope: !267, type: !6)
|
||||
// CHECK:STDOUT: !269 = !DILocalVariable(arg: 2, scope: !267, type: !6)
|
||||
// CHECK:STDOUT: !276 = !DILocation(line: 66, column: 10, scope: !267)
|
||||
// CHECK:STDOUT: !277 = !DILocation(line: 66, column: 3, scope: !267)
|
||||
// CHECK:STDOUT: !278 = !{!268, !269}
|
||||
// CHECK:STDOUT: !279 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 41, type: !76, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !293)
|
||||
// CHECK:STDOUT: !280 = !DILocalVariable(arg: 1, scope: !279, type: !9)
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !4, line: 76, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !51)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !9)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 76, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !51 = !{!49}
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 76, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !55)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !9)
|
||||
// CHECK:STDOUT: !54 = !DILocation(line: 76, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !55 = !{!53}
|
||||
// CHECK:STDOUT: !56 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !4, line: 76, type: !11, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !59)
|
||||
// CHECK:STDOUT: !57 = !DILocalVariable(arg: 1, scope: !56, type: !9)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 76, column: 3, scope: !56)
|
||||
// CHECK:STDOUT: !59 = !{!57}
|
||||
// CHECK:STDOUT: !60 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 75, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !63)
|
||||
// CHECK:STDOUT: !61 = !DILocalVariable(arg: 1, scope: !60, type: !6)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 75, column: 3, scope: !60)
|
||||
// CHECK:STDOUT: !63 = !{!61}
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 75, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !67)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !6)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 75, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !67 = !{!65}
|
||||
// CHECK:STDOUT: !68 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 75, type: !13, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 1, scope: !68, type: !6)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 75, column: 3, scope: !68)
|
||||
// CHECK:STDOUT: !71 = !{!69}
|
||||
// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 32, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !88)
|
||||
// CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !74 = !DILocalVariable(arg: 2, scope: !72, type: !6)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 33, column: 3, scope: !72)
|
||||
// CHECK:STDOUT: !82 = !{null, !6, !6}
|
||||
// CHECK:STDOUT: !83 = !DISubroutineType(types: !82)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 34, column: 10, scope: !72)
|
||||
// CHECK:STDOUT: !87 = !DILocation(line: 34, column: 3, scope: !72)
|
||||
// CHECK:STDOUT: !88 = !{!73, !74}
|
||||
// CHECK:STDOUT: !89 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 32, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !105)
|
||||
// CHECK:STDOUT: !90 = !DILocalVariable(arg: 1, scope: !89, type: !9)
|
||||
// CHECK:STDOUT: !91 = !DILocalVariable(arg: 2, scope: !89, type: !6)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 33, column: 3, scope: !89)
|
||||
// CHECK:STDOUT: !99 = !{null, !9, !6}
|
||||
// CHECK:STDOUT: !100 = !DISubroutineType(types: !99)
|
||||
// CHECK:STDOUT: !103 = !DILocation(line: 34, column: 10, scope: !89)
|
||||
// CHECK:STDOUT: !104 = !DILocation(line: 34, column: 3, scope: !89)
|
||||
// CHECK:STDOUT: !105 = !{!90, !91}
|
||||
// CHECK:STDOUT: !106 = distinct !DISubprogram(name: "A", linkageName: "_CA.Main.a76b78461416b4a8", scope: null, file: !4, line: 32, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !120)
|
||||
// CHECK:STDOUT: !107 = !DILocalVariable(arg: 1, scope: !106, type: !9)
|
||||
// CHECK:STDOUT: !108 = !DILocalVariable(arg: 2, scope: !106, type: !6)
|
||||
// CHECK:STDOUT: !115 = !DILocation(line: 33, column: 3, scope: !106)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 34, column: 10, scope: !106)
|
||||
// CHECK:STDOUT: !119 = !DILocation(line: 34, column: 3, scope: !106)
|
||||
// CHECK:STDOUT: !120 = !{!107, !108}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 37, type: !83, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !145)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !138 = !DILocalVariable(arg: 2, scope: !136, type: !6)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 38, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 37, column: 1, scope: !136)
|
||||
// CHECK:STDOUT: !145 = !{!137, !138}
|
||||
// CHECK:STDOUT: !146 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 48, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !167)
|
||||
// CHECK:STDOUT: !147 = !DILocalVariable(arg: 1, scope: !146, type: !6)
|
||||
// CHECK:STDOUT: !148 = !DILocalVariable(arg: 2, scope: !146, type: !6)
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 49, column: 7, scope: !146)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 49, column: 6, scope: !146)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 50, column: 5, scope: !146)
|
||||
// CHECK:STDOUT: !157 = !DILocation(line: 52, column: 7, scope: !146)
|
||||
// CHECK:STDOUT: !158 = !DILocation(line: 52, column: 6, scope: !146)
|
||||
// CHECK:STDOUT: !161 = !DILocation(line: 53, column: 12, scope: !146)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 53, column: 5, scope: !146)
|
||||
// CHECK:STDOUT: !165 = !DILocation(line: 55, column: 12, scope: !146)
|
||||
// CHECK:STDOUT: !166 = !DILocation(line: 55, column: 5, scope: !146)
|
||||
// CHECK:STDOUT: !167 = !{!147, !148}
|
||||
// CHECK:STDOUT: !168 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 37, type: !100, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !177)
|
||||
// CHECK:STDOUT: !169 = !DILocalVariable(arg: 1, scope: !168, type: !9)
|
||||
// CHECK:STDOUT: !170 = !DILocalVariable(arg: 2, scope: !168, type: !6)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 38, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 37, column: 1, scope: !168)
|
||||
// CHECK:STDOUT: !177 = !{!169, !170}
|
||||
// CHECK:STDOUT: !178 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 48, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !199)
|
||||
// CHECK:STDOUT: !179 = !DILocalVariable(arg: 1, scope: !178, type: !9)
|
||||
// CHECK:STDOUT: !180 = !DILocalVariable(arg: 2, scope: !178, type: !6)
|
||||
// CHECK:STDOUT: !185 = !DILocation(line: 49, column: 7, scope: !178)
|
||||
// CHECK:STDOUT: !186 = !DILocation(line: 49, column: 6, scope: !178)
|
||||
// CHECK:STDOUT: !188 = !DILocation(line: 50, column: 5, scope: !178)
|
||||
// CHECK:STDOUT: !189 = !DILocation(line: 52, column: 7, scope: !178)
|
||||
// CHECK:STDOUT: !190 = !DILocation(line: 52, column: 6, scope: !178)
|
||||
// CHECK:STDOUT: !193 = !DILocation(line: 53, column: 12, scope: !178)
|
||||
// CHECK:STDOUT: !194 = !DILocation(line: 53, column: 5, scope: !178)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 55, column: 12, scope: !178)
|
||||
// CHECK:STDOUT: !198 = !DILocation(line: 55, column: 5, scope: !178)
|
||||
// CHECK:STDOUT: !199 = !{!179, !180}
|
||||
// CHECK:STDOUT: !200 = distinct !DISubprogram(name: "B", linkageName: "_CB.Main.a76b78461416b4a8", scope: null, file: !4, line: 37, type: !100, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !209)
|
||||
// CHECK:STDOUT: !201 = !DILocalVariable(arg: 1, scope: !200, type: !9)
|
||||
// CHECK:STDOUT: !202 = !DILocalVariable(arg: 2, scope: !200, type: !6)
|
||||
// CHECK:STDOUT: !207 = !DILocation(line: 38, column: 3, scope: !200)
|
||||
// CHECK:STDOUT: !208 = !DILocation(line: 37, column: 1, scope: !200)
|
||||
// CHECK:STDOUT: !209 = !{!201, !202}
|
||||
// CHECK:STDOUT: !210 = distinct !DISubprogram(name: "D", linkageName: "_CD.Main.a76b78461416b4a8", scope: null, file: !4, line: 48, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !231)
|
||||
// CHECK:STDOUT: !211 = !DILocalVariable(arg: 1, scope: !210, type: !9)
|
||||
// CHECK:STDOUT: !212 = !DILocalVariable(arg: 2, scope: !210, type: !6)
|
||||
// CHECK:STDOUT: !217 = !DILocation(line: 49, column: 7, scope: !210)
|
||||
// CHECK:STDOUT: !218 = !DILocation(line: 49, column: 6, scope: !210)
|
||||
// CHECK:STDOUT: !220 = !DILocation(line: 50, column: 5, scope: !210)
|
||||
// CHECK:STDOUT: !221 = !DILocation(line: 52, column: 7, scope: !210)
|
||||
// CHECK:STDOUT: !222 = !DILocation(line: 52, column: 6, scope: !210)
|
||||
// CHECK:STDOUT: !225 = !DILocation(line: 53, column: 12, scope: !210)
|
||||
// CHECK:STDOUT: !226 = !DILocation(line: 53, column: 5, scope: !210)
|
||||
// CHECK:STDOUT: !229 = !DILocation(line: 55, column: 12, scope: !210)
|
||||
// CHECK:STDOUT: !230 = !DILocation(line: 55, column: 5, scope: !210)
|
||||
// CHECK:STDOUT: !231 = !{!211, !212}
|
||||
// CHECK:STDOUT: !264 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 41, type: !83, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !278)
|
||||
// CHECK:STDOUT: !265 = !DILocalVariable(arg: 1, scope: !264, type: !6)
|
||||
// CHECK:STDOUT: !266 = !DILocalVariable(arg: 2, scope: !264, type: !6)
|
||||
// CHECK:STDOUT: !269 = !DILocation(line: 42, column: 7, scope: !264)
|
||||
// CHECK:STDOUT: !270 = !DILocation(line: 42, column: 6, scope: !264)
|
||||
// CHECK:STDOUT: !272 = !DILocation(line: 43, column: 5, scope: !264)
|
||||
// CHECK:STDOUT: !274 = !DILocation(line: 44, column: 10, scope: !264)
|
||||
// CHECK:STDOUT: !275 = !DILocation(line: 44, column: 5, scope: !264)
|
||||
// CHECK:STDOUT: !276 = !DILocation(line: 42, column: 3, scope: !264)
|
||||
// CHECK:STDOUT: !277 = !DILocation(line: 41, column: 1, scope: !264)
|
||||
// CHECK:STDOUT: !278 = !{!265, !266}
|
||||
// CHECK:STDOUT: !279 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 61, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !290)
|
||||
// CHECK:STDOUT: !280 = !DILocalVariable(arg: 1, scope: !279, type: !6)
|
||||
// CHECK:STDOUT: !281 = !DILocalVariable(arg: 2, scope: !279, type: !6)
|
||||
// CHECK:STDOUT: !284 = !DILocation(line: 42, column: 7, scope: !279)
|
||||
// CHECK:STDOUT: !285 = !DILocation(line: 42, column: 6, scope: !279)
|
||||
// CHECK:STDOUT: !287 = !DILocation(line: 43, column: 5, scope: !279)
|
||||
// CHECK:STDOUT: !289 = !DILocation(line: 44, column: 10, scope: !279)
|
||||
// CHECK:STDOUT: !290 = !DILocation(line: 44, column: 5, scope: !279)
|
||||
// CHECK:STDOUT: !291 = !DILocation(line: 42, column: 3, scope: !279)
|
||||
// CHECK:STDOUT: !292 = !DILocation(line: 41, column: 1, scope: !279)
|
||||
// CHECK:STDOUT: !293 = !{!280, !281}
|
||||
// CHECK:STDOUT: !294 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 61, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !305)
|
||||
// CHECK:STDOUT: !295 = !DILocalVariable(arg: 1, scope: !294, type: !9)
|
||||
// CHECK:STDOUT: !296 = !DILocalVariable(arg: 2, scope: !294, type: !6)
|
||||
// CHECK:STDOUT: !303 = !DILocation(line: 62, column: 10, scope: !294)
|
||||
// CHECK:STDOUT: !304 = !DILocation(line: 62, column: 3, scope: !294)
|
||||
// CHECK:STDOUT: !305 = !{!295, !296}
|
||||
// CHECK:STDOUT: !306 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 65, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !317)
|
||||
// CHECK:STDOUT: !307 = !DILocalVariable(arg: 1, scope: !306, type: !9)
|
||||
// CHECK:STDOUT: !308 = !DILocalVariable(arg: 2, scope: !306, type: !6)
|
||||
// CHECK:STDOUT: !315 = !DILocation(line: 66, column: 10, scope: !306)
|
||||
// CHECK:STDOUT: !316 = !DILocation(line: 66, column: 3, scope: !306)
|
||||
// CHECK:STDOUT: !317 = !{!307, !308}
|
||||
// CHECK:STDOUT: !318 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !4, line: 41, type: !76, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !332)
|
||||
// CHECK:STDOUT: !288 = !DILocation(line: 62, column: 10, scope: !279)
|
||||
// CHECK:STDOUT: !289 = !DILocation(line: 62, column: 3, scope: !279)
|
||||
// CHECK:STDOUT: !290 = !{!280, !281}
|
||||
// CHECK:STDOUT: !291 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 65, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !302)
|
||||
// CHECK:STDOUT: !292 = !DILocalVariable(arg: 1, scope: !291, type: !6)
|
||||
// CHECK:STDOUT: !293 = !DILocalVariable(arg: 2, scope: !291, type: !6)
|
||||
// CHECK:STDOUT: !300 = !DILocation(line: 66, column: 10, scope: !291)
|
||||
// CHECK:STDOUT: !301 = !DILocation(line: 66, column: 3, scope: !291)
|
||||
// CHECK:STDOUT: !302 = !{!292, !293}
|
||||
// CHECK:STDOUT: !303 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 41, type: !100, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !317)
|
||||
// CHECK:STDOUT: !304 = !DILocalVariable(arg: 1, scope: !303, type: !9)
|
||||
// CHECK:STDOUT: !305 = !DILocalVariable(arg: 2, scope: !303, type: !6)
|
||||
// CHECK:STDOUT: !308 = !DILocation(line: 42, column: 7, scope: !303)
|
||||
// CHECK:STDOUT: !309 = !DILocation(line: 42, column: 6, scope: !303)
|
||||
// CHECK:STDOUT: !311 = !DILocation(line: 43, column: 5, scope: !303)
|
||||
// CHECK:STDOUT: !313 = !DILocation(line: 44, column: 10, scope: !303)
|
||||
// CHECK:STDOUT: !314 = !DILocation(line: 44, column: 5, scope: !303)
|
||||
// CHECK:STDOUT: !315 = !DILocation(line: 42, column: 3, scope: !303)
|
||||
// CHECK:STDOUT: !316 = !DILocation(line: 41, column: 1, scope: !303)
|
||||
// CHECK:STDOUT: !317 = !{!304, !305}
|
||||
// CHECK:STDOUT: !318 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 61, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !329)
|
||||
// CHECK:STDOUT: !319 = !DILocalVariable(arg: 1, scope: !318, type: !9)
|
||||
// CHECK:STDOUT: !320 = !DILocalVariable(arg: 2, scope: !318, type: !6)
|
||||
// CHECK:STDOUT: !323 = !DILocation(line: 42, column: 7, scope: !318)
|
||||
// CHECK:STDOUT: !324 = !DILocation(line: 42, column: 6, scope: !318)
|
||||
// CHECK:STDOUT: !326 = !DILocation(line: 43, column: 5, scope: !318)
|
||||
// CHECK:STDOUT: !328 = !DILocation(line: 44, column: 10, scope: !318)
|
||||
// CHECK:STDOUT: !329 = !DILocation(line: 44, column: 5, scope: !318)
|
||||
// CHECK:STDOUT: !330 = !DILocation(line: 42, column: 3, scope: !318)
|
||||
// CHECK:STDOUT: !331 = !DILocation(line: 41, column: 1, scope: !318)
|
||||
// CHECK:STDOUT: !332 = !{!319, !320}
|
||||
// CHECK:STDOUT: !333 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.a76b78461416b4a8", scope: null, file: !4, line: 61, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !344)
|
||||
// CHECK:STDOUT: !334 = !DILocalVariable(arg: 1, scope: !333, type: !9)
|
||||
// CHECK:STDOUT: !335 = !DILocalVariable(arg: 2, scope: !333, type: !6)
|
||||
// CHECK:STDOUT: !342 = !DILocation(line: 62, column: 10, scope: !333)
|
||||
// CHECK:STDOUT: !343 = !DILocation(line: 62, column: 3, scope: !333)
|
||||
// CHECK:STDOUT: !344 = !{!334, !335}
|
||||
// CHECK:STDOUT: !345 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 65, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !356)
|
||||
// CHECK:STDOUT: !346 = !DILocalVariable(arg: 1, scope: !345, type: !9)
|
||||
// CHECK:STDOUT: !347 = !DILocalVariable(arg: 2, scope: !345, type: !6)
|
||||
// CHECK:STDOUT: !354 = !DILocation(line: 66, column: 10, scope: !345)
|
||||
// CHECK:STDOUT: !355 = !DILocation(line: 66, column: 3, scope: !345)
|
||||
// CHECK:STDOUT: !356 = !{!346, !347}
|
||||
// CHECK:STDOUT: !396 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 69, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !407)
|
||||
// CHECK:STDOUT: !397 = !DILocalVariable(arg: 1, scope: !396, type: !6)
|
||||
// CHECK:STDOUT: !398 = !DILocalVariable(arg: 2, scope: !396, type: !6)
|
||||
// CHECK:STDOUT: !404 = !DILocation(line: 70, column: 15, scope: !396)
|
||||
// CHECK:STDOUT: !405 = !DILocation(line: 70, column: 10, scope: !396)
|
||||
// CHECK:STDOUT: !406 = !DILocation(line: 70, column: 3, scope: !396)
|
||||
// CHECK:STDOUT: !407 = !{!397, !398}
|
||||
// CHECK:STDOUT: !408 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 69, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !419)
|
||||
// CHECK:STDOUT: !409 = !DILocalVariable(arg: 1, scope: !408, type: !9)
|
||||
// CHECK:STDOUT: !410 = !DILocalVariable(arg: 2, scope: !408, type: !6)
|
||||
// CHECK:STDOUT: !416 = !DILocation(line: 70, column: 15, scope: !408)
|
||||
// CHECK:STDOUT: !417 = !DILocation(line: 70, column: 10, scope: !408)
|
||||
// CHECK:STDOUT: !418 = !DILocation(line: 70, column: 3, scope: !408)
|
||||
// CHECK:STDOUT: !419 = !{!409, !410}
|
||||
// CHECK:STDOUT: !420 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !4, line: 69, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !431)
|
||||
// CHECK:STDOUT: !421 = !DILocalVariable(arg: 1, scope: !420, type: !9)
|
||||
// CHECK:STDOUT: !327 = !DILocation(line: 62, column: 10, scope: !318)
|
||||
// CHECK:STDOUT: !328 = !DILocation(line: 62, column: 3, scope: !318)
|
||||
// CHECK:STDOUT: !329 = !{!319, !320}
|
||||
// CHECK:STDOUT: !330 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 65, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !341)
|
||||
// CHECK:STDOUT: !331 = !DILocalVariable(arg: 1, scope: !330, type: !9)
|
||||
// CHECK:STDOUT: !332 = !DILocalVariable(arg: 2, scope: !330, type: !6)
|
||||
// CHECK:STDOUT: !339 = !DILocation(line: 66, column: 10, scope: !330)
|
||||
// CHECK:STDOUT: !340 = !DILocation(line: 66, column: 3, scope: !330)
|
||||
// CHECK:STDOUT: !341 = !{!331, !332}
|
||||
// CHECK:STDOUT: !342 = distinct !DISubprogram(name: "C", linkageName: "_CC.Main.a76b78461416b4a8", scope: null, file: !4, line: 41, type: !100, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !356)
|
||||
// CHECK:STDOUT: !343 = !DILocalVariable(arg: 1, scope: !342, type: !9)
|
||||
// CHECK:STDOUT: !344 = !DILocalVariable(arg: 2, scope: !342, type: !6)
|
||||
// CHECK:STDOUT: !347 = !DILocation(line: 42, column: 7, scope: !342)
|
||||
// CHECK:STDOUT: !348 = !DILocation(line: 42, column: 6, scope: !342)
|
||||
// CHECK:STDOUT: !350 = !DILocation(line: 43, column: 5, scope: !342)
|
||||
// CHECK:STDOUT: !352 = !DILocation(line: 44, column: 10, scope: !342)
|
||||
// CHECK:STDOUT: !353 = !DILocation(line: 44, column: 5, scope: !342)
|
||||
// CHECK:STDOUT: !354 = !DILocation(line: 42, column: 3, scope: !342)
|
||||
// CHECK:STDOUT: !355 = !DILocation(line: 41, column: 1, scope: !342)
|
||||
// CHECK:STDOUT: !356 = !{!343, !344}
|
||||
// CHECK:STDOUT: !357 = distinct !DISubprogram(name: "E", linkageName: "_CE.Main.a76b78461416b4a8", scope: null, file: !4, line: 61, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !368)
|
||||
// CHECK:STDOUT: !358 = !DILocalVariable(arg: 1, scope: !357, type: !9)
|
||||
// CHECK:STDOUT: !359 = !DILocalVariable(arg: 2, scope: !357, type: !6)
|
||||
// CHECK:STDOUT: !366 = !DILocation(line: 62, column: 10, scope: !357)
|
||||
// CHECK:STDOUT: !367 = !DILocation(line: 62, column: 3, scope: !357)
|
||||
// CHECK:STDOUT: !368 = !{!358, !359}
|
||||
// CHECK:STDOUT: !369 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !4, line: 65, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !380)
|
||||
// CHECK:STDOUT: !370 = !DILocalVariable(arg: 1, scope: !369, type: !9)
|
||||
// CHECK:STDOUT: !371 = !DILocalVariable(arg: 2, scope: !369, type: !6)
|
||||
// CHECK:STDOUT: !378 = !DILocation(line: 66, column: 10, scope: !369)
|
||||
// CHECK:STDOUT: !379 = !DILocation(line: 66, column: 3, scope: !369)
|
||||
// CHECK:STDOUT: !380 = !{!370, !371}
|
||||
// CHECK:STDOUT: !420 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !4, line: 69, type: !30, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !431)
|
||||
// CHECK:STDOUT: !421 = !DILocalVariable(arg: 1, scope: !420, type: !6)
|
||||
// CHECK:STDOUT: !422 = !DILocalVariable(arg: 2, scope: !420, type: !6)
|
||||
// CHECK:STDOUT: !428 = !DILocation(line: 70, column: 15, scope: !420)
|
||||
// CHECK:STDOUT: !429 = !DILocation(line: 70, column: 10, scope: !420)
|
||||
// CHECK:STDOUT: !430 = !DILocation(line: 70, column: 3, scope: !420)
|
||||
// CHECK:STDOUT: !431 = !{!421, !422}
|
||||
// CHECK:STDOUT: !432 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !4, line: 69, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !443)
|
||||
// CHECK:STDOUT: !433 = !DILocalVariable(arg: 1, scope: !432, type: !9)
|
||||
// CHECK:STDOUT: !434 = !DILocalVariable(arg: 2, scope: !432, type: !6)
|
||||
// CHECK:STDOUT: !440 = !DILocation(line: 70, column: 15, scope: !432)
|
||||
// CHECK:STDOUT: !441 = !DILocation(line: 70, column: 10, scope: !432)
|
||||
// CHECK:STDOUT: !442 = !DILocation(line: 70, column: 3, scope: !432)
|
||||
// CHECK:STDOUT: !443 = !{!433, !434}
|
||||
// CHECK:STDOUT: !444 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !4, line: 69, type: !34, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !455)
|
||||
// CHECK:STDOUT: !445 = !DILocalVariable(arg: 1, scope: !444, type: !9)
|
||||
// CHECK:STDOUT: !446 = !DILocalVariable(arg: 2, scope: !444, type: !6)
|
||||
// CHECK:STDOUT: !452 = !DILocation(line: 70, column: 15, scope: !444)
|
||||
// CHECK:STDOUT: !453 = !DILocation(line: 70, column: 10, scope: !444)
|
||||
// CHECK:STDOUT: !454 = !DILocation(line: 70, column: 3, scope: !444)
|
||||
// CHECK:STDOUT: !455 = !{!445, !446}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+273
-177
@@ -51,153 +51,213 @@ fn M() {
|
||||
// CHECK:STDOUT: %type.26 = type {}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !42 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cb8adced19392b99:core.Destroy.Core"(ptr %self) #0 !dbg !42 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !44
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !46 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !46 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !47
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !53
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !57
|
||||
// CHECK:STDOUT: %var_i32.var = alloca i32, align 4, !dbg !61
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !67
|
||||
// CHECK:STDOUT: %_.var = alloca {}, align 1, !dbg !71
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !47
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !47
|
||||
// CHECK:STDOUT: %.loc34_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !49
|
||||
// CHECK:STDOUT: %F.call.loc34 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc34_5), !dbg !50
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !53
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !53
|
||||
// CHECK:STDOUT: %.loc36_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !55
|
||||
// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc36_5), !dbg !56
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !57
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !57
|
||||
// CHECK:STDOUT: %.loc38_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !59
|
||||
// CHECK:STDOUT: %F.call.loc38 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc38_5), !dbg !60
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_i32.var), !dbg !61
|
||||
// CHECK:STDOUT: store i32 0, ptr %var_i32.var, align 4, !dbg !61
|
||||
// CHECK:STDOUT: %.loc40_5 = load i32, ptr %var_i32.var, align 4, !dbg !63
|
||||
// CHECK:STDOUT: %F.call.loc40 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %.loc40_5), !dbg !64
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !67
|
||||
// CHECK:STDOUT: store double 0.000000e+00, ptr %var_f64.var, align 8, !dbg !67
|
||||
// CHECK:STDOUT: %.loc42_5 = load double, ptr %var_f64.var, align 8, !dbg !69
|
||||
// CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc42_5), !dbg !70
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !71
|
||||
// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !73
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %_.var), !dbg !71
|
||||
// CHECK:STDOUT: call void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !67
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %var_i32.var), !dbg !61
|
||||
// CHECK:STDOUT: ret void, !dbg !74
|
||||
// CHECK:STDOUT: ret void, !dbg !48
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !75 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %self) #0 !dbg !50 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !77
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core"(ptr %self), !dbg !52
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !79 {
|
||||
// CHECK:STDOUT: define void @_CM.Main() #0 !dbg !54 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !81
|
||||
// CHECK:STDOUT: %ptr_i32.var = alloca ptr, align 8, !dbg !55
|
||||
// CHECK:STDOUT: %ptr_f64.var = alloca ptr, align 8, !dbg !61
|
||||
// CHECK:STDOUT: %ptr_i8.var = alloca ptr, align 8, !dbg !65
|
||||
// CHECK:STDOUT: %var_i32.var = alloca i32, align 4, !dbg !69
|
||||
// CHECK:STDOUT: %var_f64.var = alloca double, align 8, !dbg !75
|
||||
// CHECK:STDOUT: %_.var = alloca {}, align 1, !dbg !79
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i32.var), !dbg !55
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i32.var, align 8, !dbg !55
|
||||
// CHECK:STDOUT: %.loc34_5 = load ptr, ptr %ptr_i32.var, align 8, !dbg !57
|
||||
// CHECK:STDOUT: %F.call.loc34 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc34_5), !dbg !58
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_f64.var), !dbg !61
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_f64.var, align 8, !dbg !61
|
||||
// CHECK:STDOUT: %.loc36_5 = load ptr, ptr %ptr_f64.var, align 8, !dbg !63
|
||||
// CHECK:STDOUT: %F.call.loc36 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc36_5), !dbg !64
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %ptr_i8.var), !dbg !65
|
||||
// CHECK:STDOUT: store ptr poison, ptr %ptr_i8.var, align 8, !dbg !65
|
||||
// CHECK:STDOUT: %.loc38_5 = load ptr, ptr %ptr_i8.var, align 8, !dbg !67
|
||||
// CHECK:STDOUT: %F.call.loc38 = call ptr @_CF.Main.a76b78461416b4a8(ptr %.loc38_5), !dbg !68
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_i32.var), !dbg !69
|
||||
// CHECK:STDOUT: store i32 0, ptr %var_i32.var, align 4, !dbg !69
|
||||
// CHECK:STDOUT: %.loc40_5 = load i32, ptr %var_i32.var, align 4, !dbg !71
|
||||
// CHECK:STDOUT: %F.call.loc40 = call i32 @_CF.Main.4d6ceefeb7f772f4(i32 %.loc40_5), !dbg !72
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %var_f64.var), !dbg !75
|
||||
// CHECK:STDOUT: store double 0.000000e+00, ptr %var_f64.var, align 8, !dbg !75
|
||||
// CHECK:STDOUT: %.loc42_5 = load double, ptr %var_f64.var, align 8, !dbg !77
|
||||
// CHECK:STDOUT: %F.call.loc42 = call double @_CF.Main.c5e4ba542a56b71f(double %.loc42_5), !dbg !78
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !79
|
||||
// CHECK:STDOUT: %F.call.loc44 = call %type.26 @_CF.Main.c3359c2c217ad593(%type.26 zeroinitializer), !dbg !81
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %_.var), !dbg !79
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %var_f64.var), !dbg !75
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %var_i32.var), !dbg !69
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %ptr_i8.var), !dbg !65
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %ptr_f64.var), !dbg !61
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %ptr_i32.var), !dbg !55
|
||||
// CHECK:STDOUT: ret void, !dbg !82
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core"(ptr %self) #0 !dbg !83 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !85
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !87 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !89
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core"(ptr %self) #0 !dbg !91 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core"(ptr %self), !dbg !93
|
||||
// CHECK:STDOUT: ret void, !dbg !93
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !95 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !97
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !99 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !101
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !103 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !105
|
||||
// CHECK:STDOUT: ret void, !dbg !105
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core"(ptr %self) #0 !dbg !107 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !109
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.749b51755634ad17:core.Destroy.Core"(ptr %self) #0 !dbg !111 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !113
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !115 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !117
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !83 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CF.Main.a76b78461416b4a8(ptr %x) #0 !dbg !119 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x), !dbg !89
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !90
|
||||
// CHECK:STDOUT: %G.call = call ptr @_CG.Main.a76b78461416b4a8(ptr %x), !dbg !125
|
||||
// CHECK:STDOUT: ret ptr %G.call, !dbg !126
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !110 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !146 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x), !dbg !116
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !117
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x), !dbg !152
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !153
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x) #0 !dbg !119 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CF.Main.c5e4ba542a56b71f(double %x) #0 !dbg !155 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x), !dbg !125
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !126
|
||||
// CHECK:STDOUT: %G.call = call double @_CG.Main.c5e4ba542a56b71f(double %x), !dbg !161
|
||||
// CHECK:STDOUT: ret double %G.call, !dbg !162
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !128 {
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CF.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !164 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x), !dbg !134
|
||||
// CHECK:STDOUT: ret %type.26 %G.call, !dbg !135
|
||||
// CHECK:STDOUT: %G.call = call %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x), !dbg !170
|
||||
// CHECK:STDOUT: ret %type.26 %G.call, !dbg !171
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x) #0 !dbg !137 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CG.Main.a76b78461416b4a8(ptr %x) #0 !dbg !173 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !142
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !142
|
||||
// CHECK:STDOUT: %C.Cfn.call = call ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %c.var, ptr %x), !dbg !144
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !142
|
||||
// CHECK:STDOUT: ret ptr %C.Cfn.call, !dbg !148
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !178
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !178
|
||||
// CHECK:STDOUT: %C.Cfn.call = call ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %c.var, ptr %x), !dbg !180
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !178
|
||||
// CHECK:STDOUT: ret ptr %C.Cfn.call, !dbg !184
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !172 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.4d6ceefeb7f772f4(i32 %x) #0 !dbg !208 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !177
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !177
|
||||
// CHECK:STDOUT: %C.Cfn.call = call i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %c.var, i32 %x), !dbg !179
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !177
|
||||
// CHECK:STDOUT: ret i32 %C.Cfn.call, !dbg !183
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !213
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !213
|
||||
// CHECK:STDOUT: %C.Cfn.call = call i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %c.var, i32 %x), !dbg !215
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !213
|
||||
// CHECK:STDOUT: ret i32 %C.Cfn.call, !dbg !219
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x) #0 !dbg !185 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CG.Main.c5e4ba542a56b71f(double %x) #0 !dbg !221 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !190
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !190
|
||||
// CHECK:STDOUT: %C.Cfn.call = call double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %c.var, double %x), !dbg !192
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !190
|
||||
// CHECK:STDOUT: ret double %C.Cfn.call, !dbg !194
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !226
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !226
|
||||
// CHECK:STDOUT: %C.Cfn.call = call double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %c.var, double %x), !dbg !228
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !226
|
||||
// CHECK:STDOUT: ret double %C.Cfn.call, !dbg !230
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !196 {
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CG.Main.c3359c2c217ad593(%type.26 %x) #0 !dbg !232 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !201
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !201
|
||||
// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %c.var, %type.26 %x), !dbg !203
|
||||
// CHECK:STDOUT: call void @"_COp.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !201
|
||||
// CHECK:STDOUT: ret %type.26 %C.Cfn.call, !dbg !205
|
||||
// CHECK:STDOUT: %c.var = alloca {}, align 1, !dbg !237
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %c.var), !dbg !237
|
||||
// CHECK:STDOUT: %C.Cfn.call = call %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %c.var, %type.26 %x), !dbg !239
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core"(ptr %c.var), !dbg !237
|
||||
// CHECK:STDOUT: ret %type.26 %C.Cfn.call, !dbg !241
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %self, ptr %x) #0 !dbg !207 {
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CCfn.C.Main.a76b78461416b4a8(ptr %self, ptr %x) #0 !dbg !243 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !215
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !251
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !237 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CCfn.C.Main.4d6ceefeb7f772f4(ptr %self, i32 %x) #0 !dbg !273 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !245
|
||||
// CHECK:STDOUT: ret i32 %x, !dbg !281
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %self, double %x) #0 !dbg !247 {
|
||||
// CHECK:STDOUT: define linkonce_odr double @_CCfn.C.Main.c5e4ba542a56b71f(ptr %self, double %x) #0 !dbg !283 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret double %x, !dbg !255
|
||||
// CHECK:STDOUT: ret double %x, !dbg !291
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %self, %type.26 %x) #0 !dbg !257 {
|
||||
// CHECK:STDOUT: define linkonce_odr %type.26 @_CCfn.C.Main.c3359c2c217ad593(ptr %self, %type.26 %x) #0 !dbg !293 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !265
|
||||
// CHECK:STDOUT: ret %type.26 %x, !dbg !301
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -222,107 +282,143 @@ fn M() {
|
||||
// CHECK:STDOUT: !39 = !DISubroutineType(types: !38)
|
||||
// CHECK:STDOUT: !40 = !{null, !34}
|
||||
// CHECK:STDOUT: !41 = !DISubroutineType(types: !40)
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "Op", linkageName: "_COp.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 24, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !45)
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cb8adced19392b99:core.Destroy.Core", scope: null, file: !32, line: 24, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !45)
|
||||
// CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !42, type: !35)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 24, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !45 = !{!43}
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 32, type: !39, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 33, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 34, column: 5, scope: !46)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 34, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !51 = !{!35, !35}
|
||||
// CHECK:STDOUT: !52 = !DISubroutineType(types: !51)
|
||||
// CHECK:STDOUT: !53 = !DILocation(line: 35, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 36, column: 5, scope: !46)
|
||||
// CHECK:STDOUT: !56 = !DILocation(line: 36, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 37, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 38, column: 5, scope: !46)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 38, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 39, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 40, column: 5, scope: !46)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 40, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !65 = !{!34, !34}
|
||||
// CHECK:STDOUT: !66 = !DISubroutineType(types: !65)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 41, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 42, column: 5, scope: !46)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 42, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 43, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 44, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 32, column: 1, scope: !46)
|
||||
// CHECK:STDOUT: !75 = distinct !DISubprogram(name: "Op", linkageName: "_COp.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 41, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !78)
|
||||
// CHECK:STDOUT: !76 = !DILocalVariable(arg: 1, scope: !75, type: !35)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 41, column: 3, scope: !75)
|
||||
// CHECK:STDOUT: !78 = !{!76}
|
||||
// CHECK:STDOUT: !79 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !82)
|
||||
// CHECK:STDOUT: !80 = !DILocalVariable(arg: 1, scope: !79, type: !34)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 39, column: 3, scope: !79)
|
||||
// CHECK:STDOUT: !82 = !{!80}
|
||||
// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !32, line: 28, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !91)
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 24, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !49)
|
||||
// CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !46, type: !35)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 24, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !49 = !{!47}
|
||||
// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.08d9e38b928ba575:core.Destroy.Core", scope: null, file: !32, line: 24, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !53)
|
||||
// CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !50, type: !35)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 24, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !53 = !{!51}
|
||||
// CHECK:STDOUT: !54 = distinct !DISubprogram(name: "M", linkageName: "_CM.Main", scope: null, file: !32, line: 32, type: !39, spFlags: DISPFlagDefinition, unit: !33)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 33, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 34, column: 5, scope: !54)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 34, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !59 = !{!35, !35}
|
||||
// CHECK:STDOUT: !60 = !DISubroutineType(types: !59)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 35, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 36, column: 5, scope: !54)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 36, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 37, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 38, column: 5, scope: !54)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 38, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 39, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 40, column: 5, scope: !54)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 40, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !73 = !{!34, !34}
|
||||
// CHECK:STDOUT: !74 = !DISubroutineType(types: !73)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 41, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 42, column: 5, scope: !54)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 42, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 43, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 44, column: 3, scope: !54)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 32, column: 1, scope: !54)
|
||||
// CHECK:STDOUT: !83 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.7945ecba5c505fc0:core.Destroy.Core", scope: null, file: !32, line: 41, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !86)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 1, scope: !83, type: !35)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 29, column: 10, scope: !83)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 29, column: 3, scope: !83)
|
||||
// CHECK:STDOUT: !91 = !{!84}
|
||||
// CHECK:STDOUT: !110 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 28, type: !66, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !118)
|
||||
// CHECK:STDOUT: !111 = !DILocalVariable(arg: 1, scope: !110, type: !34)
|
||||
// CHECK:STDOUT: !116 = !DILocation(line: 29, column: 10, scope: !110)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 29, column: 3, scope: !110)
|
||||
// CHECK:STDOUT: !118 = !{!111}
|
||||
// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 28, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !127)
|
||||
// CHECK:STDOUT: !85 = !DILocation(line: 41, column: 3, scope: !83)
|
||||
// CHECK:STDOUT: !86 = !{!84}
|
||||
// CHECK:STDOUT: !87 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 41, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !90)
|
||||
// CHECK:STDOUT: !88 = !DILocalVariable(arg: 1, scope: !87, type: !35)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 41, column: 3, scope: !87)
|
||||
// CHECK:STDOUT: !90 = !{!88}
|
||||
// CHECK:STDOUT: !91 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.dc14d4dd21801791:core.Destroy.Core", scope: null, file: !32, line: 41, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !94)
|
||||
// CHECK:STDOUT: !92 = !DILocalVariable(arg: 1, scope: !91, type: !35)
|
||||
// CHECK:STDOUT: !93 = !DILocation(line: 41, column: 3, scope: !91)
|
||||
// CHECK:STDOUT: !94 = !{!92}
|
||||
// CHECK:STDOUT: !95 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !32, line: 39, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !98)
|
||||
// CHECK:STDOUT: !96 = !DILocalVariable(arg: 1, scope: !95, type: !34)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 39, column: 3, scope: !95)
|
||||
// CHECK:STDOUT: !98 = !{!96}
|
||||
// CHECK:STDOUT: !99 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !102)
|
||||
// CHECK:STDOUT: !100 = !DILocalVariable(arg: 1, scope: !99, type: !34)
|
||||
// CHECK:STDOUT: !101 = !DILocation(line: 39, column: 3, scope: !99)
|
||||
// CHECK:STDOUT: !102 = !{!100}
|
||||
// CHECK:STDOUT: !103 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !32, line: 39, type: !41, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !106)
|
||||
// CHECK:STDOUT: !104 = !DILocalVariable(arg: 1, scope: !103, type: !34)
|
||||
// CHECK:STDOUT: !105 = !DILocation(line: 39, column: 3, scope: !103)
|
||||
// CHECK:STDOUT: !106 = !{!104}
|
||||
// CHECK:STDOUT: !107 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.de57ff04fd84f9c8:core.Destroy.Core", scope: null, file: !32, line: 37, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !110)
|
||||
// CHECK:STDOUT: !108 = !DILocalVariable(arg: 1, scope: !107, type: !35)
|
||||
// CHECK:STDOUT: !109 = !DILocation(line: 37, column: 3, scope: !107)
|
||||
// CHECK:STDOUT: !110 = !{!108}
|
||||
// CHECK:STDOUT: !111 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.749b51755634ad17:core.Destroy.Core", scope: null, file: !32, line: 35, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !114)
|
||||
// CHECK:STDOUT: !112 = !DILocalVariable(arg: 1, scope: !111, type: !35)
|
||||
// CHECK:STDOUT: !113 = !DILocation(line: 35, column: 3, scope: !111)
|
||||
// CHECK:STDOUT: !114 = !{!112}
|
||||
// CHECK:STDOUT: !115 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !32, line: 33, type: !37, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !118)
|
||||
// CHECK:STDOUT: !116 = !DILocalVariable(arg: 1, scope: !115, type: !35)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 33, column: 3, scope: !115)
|
||||
// CHECK:STDOUT: !118 = !{!116}
|
||||
// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a76b78461416b4a8", scope: null, file: !32, line: 28, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !127)
|
||||
// CHECK:STDOUT: !120 = !DILocalVariable(arg: 1, scope: !119, type: !35)
|
||||
// CHECK:STDOUT: !125 = !DILocation(line: 29, column: 10, scope: !119)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 29, column: 3, scope: !119)
|
||||
// CHECK:STDOUT: !127 = !{!120}
|
||||
// CHECK:STDOUT: !128 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c3359c2c217ad593", scope: null, file: !32, line: 28, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !136)
|
||||
// CHECK:STDOUT: !129 = !DILocalVariable(arg: 1, scope: !128, type: !35)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 29, column: 10, scope: !128)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 29, column: 3, scope: !128)
|
||||
// CHECK:STDOUT: !136 = !{!129}
|
||||
// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !32, line: 23, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !149)
|
||||
// CHECK:STDOUT: !138 = !DILocalVariable(arg: 1, scope: !137, type: !35)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 24, column: 3, scope: !137)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 25, column: 10, scope: !137)
|
||||
// CHECK:STDOUT: !146 = !{!35, !35, !35}
|
||||
// CHECK:STDOUT: !147 = !DISubroutineType(types: !146)
|
||||
// CHECK:STDOUT: !148 = !DILocation(line: 25, column: 3, scope: !137)
|
||||
// CHECK:STDOUT: !149 = !{!138}
|
||||
// CHECK:STDOUT: !172 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 23, type: !66, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !184)
|
||||
// CHECK:STDOUT: !173 = !DILocalVariable(arg: 1, scope: !172, type: !34)
|
||||
// CHECK:STDOUT: !177 = !DILocation(line: 24, column: 3, scope: !172)
|
||||
// CHECK:STDOUT: !179 = !DILocation(line: 25, column: 10, scope: !172)
|
||||
// CHECK:STDOUT: !181 = !{!34, !35, !34}
|
||||
// CHECK:STDOUT: !182 = !DISubroutineType(types: !181)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 25, column: 3, scope: !172)
|
||||
// CHECK:STDOUT: !184 = !{!173}
|
||||
// CHECK:STDOUT: !185 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 23, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !195)
|
||||
// CHECK:STDOUT: !186 = !DILocalVariable(arg: 1, scope: !185, type: !35)
|
||||
// CHECK:STDOUT: !190 = !DILocation(line: 24, column: 3, scope: !185)
|
||||
// CHECK:STDOUT: !192 = !DILocation(line: 25, column: 10, scope: !185)
|
||||
// CHECK:STDOUT: !194 = !DILocation(line: 25, column: 3, scope: !185)
|
||||
// CHECK:STDOUT: !195 = !{!186}
|
||||
// CHECK:STDOUT: !196 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c3359c2c217ad593", scope: null, file: !32, line: 23, type: !52, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !206)
|
||||
// CHECK:STDOUT: !197 = !DILocalVariable(arg: 1, scope: !196, type: !35)
|
||||
// CHECK:STDOUT: !201 = !DILocation(line: 24, column: 3, scope: !196)
|
||||
// CHECK:STDOUT: !203 = !DILocation(line: 25, column: 10, scope: !196)
|
||||
// CHECK:STDOUT: !205 = !DILocation(line: 25, column: 3, scope: !196)
|
||||
// CHECK:STDOUT: !206 = !{!197}
|
||||
// CHECK:STDOUT: !207 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.a76b78461416b4a8", scope: null, file: !32, line: 18, type: !147, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !216)
|
||||
// CHECK:STDOUT: !208 = !DILocalVariable(arg: 1, scope: !207, type: !35)
|
||||
// CHECK:STDOUT: !209 = !DILocalVariable(arg: 2, scope: !207, type: !35)
|
||||
// CHECK:STDOUT: !215 = !DILocation(line: 19, column: 5, scope: !207)
|
||||
// CHECK:STDOUT: !216 = !{!208, !209}
|
||||
// CHECK:STDOUT: !237 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 18, type: !182, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !246)
|
||||
// CHECK:STDOUT: !238 = !DILocalVariable(arg: 1, scope: !237, type: !35)
|
||||
// CHECK:STDOUT: !239 = !DILocalVariable(arg: 2, scope: !237, type: !34)
|
||||
// CHECK:STDOUT: !245 = !DILocation(line: 19, column: 5, scope: !237)
|
||||
// CHECK:STDOUT: !246 = !{!238, !239}
|
||||
// CHECK:STDOUT: !247 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 18, type: !147, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !256)
|
||||
// CHECK:STDOUT: !248 = !DILocalVariable(arg: 1, scope: !247, type: !35)
|
||||
// CHECK:STDOUT: !249 = !DILocalVariable(arg: 2, scope: !247, type: !35)
|
||||
// CHECK:STDOUT: !255 = !DILocation(line: 19, column: 5, scope: !247)
|
||||
// CHECK:STDOUT: !256 = !{!248, !249}
|
||||
// CHECK:STDOUT: !257 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !147, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !266)
|
||||
// CHECK:STDOUT: !258 = !DILocalVariable(arg: 1, scope: !257, type: !35)
|
||||
// CHECK:STDOUT: !259 = !DILocalVariable(arg: 2, scope: !257, type: !35)
|
||||
// CHECK:STDOUT: !265 = !DILocation(line: 19, column: 5, scope: !257)
|
||||
// CHECK:STDOUT: !266 = !{!258, !259}
|
||||
// CHECK:STDOUT: !146 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 28, type: !74, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !154)
|
||||
// CHECK:STDOUT: !147 = !DILocalVariable(arg: 1, scope: !146, type: !34)
|
||||
// CHECK:STDOUT: !152 = !DILocation(line: 29, column: 10, scope: !146)
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 29, column: 3, scope: !146)
|
||||
// CHECK:STDOUT: !154 = !{!147}
|
||||
// CHECK:STDOUT: !155 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 28, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !163)
|
||||
// CHECK:STDOUT: !156 = !DILocalVariable(arg: 1, scope: !155, type: !35)
|
||||
// CHECK:STDOUT: !161 = !DILocation(line: 29, column: 10, scope: !155)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 29, column: 3, scope: !155)
|
||||
// CHECK:STDOUT: !163 = !{!156}
|
||||
// CHECK:STDOUT: !164 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.c3359c2c217ad593", scope: null, file: !32, line: 28, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !172)
|
||||
// CHECK:STDOUT: !165 = !DILocalVariable(arg: 1, scope: !164, type: !35)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 29, column: 10, scope: !164)
|
||||
// CHECK:STDOUT: !171 = !DILocation(line: 29, column: 3, scope: !164)
|
||||
// CHECK:STDOUT: !172 = !{!165}
|
||||
// CHECK:STDOUT: !173 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a76b78461416b4a8", scope: null, file: !32, line: 23, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !185)
|
||||
// CHECK:STDOUT: !174 = !DILocalVariable(arg: 1, scope: !173, type: !35)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 24, column: 3, scope: !173)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 25, column: 10, scope: !173)
|
||||
// CHECK:STDOUT: !182 = !{!35, !35, !35}
|
||||
// CHECK:STDOUT: !183 = !DISubroutineType(types: !182)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 25, column: 3, scope: !173)
|
||||
// CHECK:STDOUT: !185 = !{!174}
|
||||
// CHECK:STDOUT: !208 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 23, type: !74, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !220)
|
||||
// CHECK:STDOUT: !209 = !DILocalVariable(arg: 1, scope: !208, type: !34)
|
||||
// CHECK:STDOUT: !213 = !DILocation(line: 24, column: 3, scope: !208)
|
||||
// CHECK:STDOUT: !215 = !DILocation(line: 25, column: 10, scope: !208)
|
||||
// CHECK:STDOUT: !217 = !{!34, !35, !34}
|
||||
// CHECK:STDOUT: !218 = !DISubroutineType(types: !217)
|
||||
// CHECK:STDOUT: !219 = !DILocation(line: 25, column: 3, scope: !208)
|
||||
// CHECK:STDOUT: !220 = !{!209}
|
||||
// CHECK:STDOUT: !221 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 23, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !231)
|
||||
// CHECK:STDOUT: !222 = !DILocalVariable(arg: 1, scope: !221, type: !35)
|
||||
// CHECK:STDOUT: !226 = !DILocation(line: 24, column: 3, scope: !221)
|
||||
// CHECK:STDOUT: !228 = !DILocation(line: 25, column: 10, scope: !221)
|
||||
// CHECK:STDOUT: !230 = !DILocation(line: 25, column: 3, scope: !221)
|
||||
// CHECK:STDOUT: !231 = !{!222}
|
||||
// CHECK:STDOUT: !232 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c3359c2c217ad593", scope: null, file: !32, line: 23, type: !60, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !242)
|
||||
// CHECK:STDOUT: !233 = !DILocalVariable(arg: 1, scope: !232, type: !35)
|
||||
// CHECK:STDOUT: !237 = !DILocation(line: 24, column: 3, scope: !232)
|
||||
// CHECK:STDOUT: !239 = !DILocation(line: 25, column: 10, scope: !232)
|
||||
// CHECK:STDOUT: !241 = !DILocation(line: 25, column: 3, scope: !232)
|
||||
// CHECK:STDOUT: !242 = !{!233}
|
||||
// CHECK:STDOUT: !243 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.a76b78461416b4a8", scope: null, file: !32, line: 18, type: !183, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !252)
|
||||
// CHECK:STDOUT: !244 = !DILocalVariable(arg: 1, scope: !243, type: !35)
|
||||
// CHECK:STDOUT: !245 = !DILocalVariable(arg: 2, scope: !243, type: !35)
|
||||
// CHECK:STDOUT: !251 = !DILocation(line: 19, column: 5, scope: !243)
|
||||
// CHECK:STDOUT: !252 = !{!244, !245}
|
||||
// CHECK:STDOUT: !273 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.4d6ceefeb7f772f4", scope: null, file: !32, line: 18, type: !218, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !282)
|
||||
// CHECK:STDOUT: !274 = !DILocalVariable(arg: 1, scope: !273, type: !35)
|
||||
// CHECK:STDOUT: !275 = !DILocalVariable(arg: 2, scope: !273, type: !34)
|
||||
// CHECK:STDOUT: !281 = !DILocation(line: 19, column: 5, scope: !273)
|
||||
// CHECK:STDOUT: !282 = !{!274, !275}
|
||||
// CHECK:STDOUT: !283 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c5e4ba542a56b71f", scope: null, file: !32, line: 18, type: !183, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !292)
|
||||
// CHECK:STDOUT: !284 = !DILocalVariable(arg: 1, scope: !283, type: !35)
|
||||
// CHECK:STDOUT: !285 = !DILocalVariable(arg: 2, scope: !283, type: !35)
|
||||
// CHECK:STDOUT: !291 = !DILocation(line: 19, column: 5, scope: !283)
|
||||
// CHECK:STDOUT: !292 = !{!284, !285}
|
||||
// CHECK:STDOUT: !293 = distinct !DISubprogram(name: "Cfn", linkageName: "_CCfn.C.Main.c3359c2c217ad593", scope: null, file: !32, line: 18, type: !183, spFlags: DISPFlagDefinition, unit: !33, retainedNodes: !302)
|
||||
// CHECK:STDOUT: !294 = !DILocalVariable(arg: 1, scope: !293, type: !35)
|
||||
// CHECK:STDOUT: !295 = !DILocalVariable(arg: 2, scope: !293, type: !35)
|
||||
// CHECK:STDOUT: !301 = !DILocation(line: 19, column: 5, scope: !293)
|
||||
// CHECK:STDOUT: !302 = !{!294, !295}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+86
-52
@@ -113,36 +113,56 @@ fn Call() -> i32 {
|
||||
// CHECK:STDOUT: source_filename = "use.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @_CCall.Main() #0 !dbg !35 {
|
||||
// CHECK:STDOUT: define i32 @_CCall.Main() #0 !dbg !38 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !38
|
||||
// CHECK:STDOUT: %p.var = alloca ptr, align 8, !dbg !40
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !38
|
||||
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !38
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !40
|
||||
// CHECK:STDOUT: %DirectGeneric.call = call ptr @_CDirectGeneric.Main.84588f41d61dafba(ptr %n.var), !dbg !43
|
||||
// CHECK:STDOUT: store ptr %DirectGeneric.call, ptr %p.var, align 8, !dbg !40
|
||||
// CHECK:STDOUT: %.loc9_11 = load ptr, ptr %p.var, align 8, !dbg !48
|
||||
// CHECK:STDOUT: %.loc9_10.2 = load i32, ptr %.loc9_11, align 4, !dbg !49
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !38
|
||||
// CHECK:STDOUT: ret i32 %.loc9_10.2, !dbg !50
|
||||
// CHECK:STDOUT: %n.var = alloca i32, align 4, !dbg !41
|
||||
// CHECK:STDOUT: %p.var = alloca ptr, align 8, !dbg !43
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %n.var), !dbg !41
|
||||
// CHECK:STDOUT: store i32 0, ptr %n.var, align 4, !dbg !41
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %p.var), !dbg !43
|
||||
// CHECK:STDOUT: %DirectGeneric.call = call ptr @_CDirectGeneric.Main.84588f41d61dafba(ptr %n.var), !dbg !46
|
||||
// CHECK:STDOUT: store ptr %DirectGeneric.call, ptr %p.var, align 8, !dbg !43
|
||||
// CHECK:STDOUT: %.loc9_11 = load ptr, ptr %p.var, align 8, !dbg !50
|
||||
// CHECK:STDOUT: %.loc9_10.2 = load i32, ptr %.loc9_11, align 4, !dbg !51
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %p.var), !dbg !43
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %n.var), !dbg !41
|
||||
// CHECK:STDOUT: ret i32 %.loc9_10.2, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !51 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.d088c7eb746488be:core.Destroy.Core"(ptr %self) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !53
|
||||
// CHECK:STDOUT: ret void, !dbg !55
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !57 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !59
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !63
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !65 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !67
|
||||
// CHECK:STDOUT: ret void, !dbg !67
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CDirectGeneric.Main.84588f41d61dafba(ptr %y) #0 !dbg !55 {
|
||||
// CHECK:STDOUT: call void @_CDirectDeclared.Main(), !dbg !60
|
||||
// CHECK:STDOUT: call void @_CDirectDefined.Main(), !dbg !61
|
||||
// CHECK:STDOUT: %1 = call ptr @_CIndirectGeneric.Main.84588f41d61dafba(ptr %y), !dbg !63
|
||||
// CHECK:STDOUT: ret ptr %1, !dbg !64
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CDirectGeneric.Main.84588f41d61dafba(ptr %y) #0 !dbg !69 {
|
||||
// CHECK:STDOUT: call void @_CDirectDeclared.Main(), !dbg !74
|
||||
// CHECK:STDOUT: call void @_CDirectDefined.Main(), !dbg !75
|
||||
// CHECK:STDOUT: %1 = call ptr @_CIndirectGeneric.Main.84588f41d61dafba(ptr %y), !dbg !77
|
||||
// CHECK:STDOUT: ret ptr %1, !dbg !78
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @_CDirectDeclared.Main()
|
||||
@@ -150,10 +170,10 @@ fn Call() -> i32 {
|
||||
// CHECK:STDOUT: declare void @_CDirectDefined.Main()
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CIndirectGeneric.Main.84588f41d61dafba(ptr %x) #0 !dbg !66 {
|
||||
// CHECK:STDOUT: call void @_CIndirectDeclared.Main(), !dbg !71
|
||||
// CHECK:STDOUT: call void @_CIndirectDefined.Main(), !dbg !72
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !74
|
||||
// CHECK:STDOUT: define linkonce_odr ptr @_CIndirectGeneric.Main.84588f41d61dafba(ptr %x) #0 !dbg !80 {
|
||||
// CHECK:STDOUT: call void @_CIndirectDeclared.Main(), !dbg !85
|
||||
// CHECK:STDOUT: call void @_CIndirectDefined.Main(), !dbg !86
|
||||
// CHECK:STDOUT: ret ptr %x, !dbg !88
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @_CIndirectDeclared.Main()
|
||||
@@ -178,33 +198,47 @@ fn Call() -> i32 {
|
||||
// CHECK:STDOUT: !30 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
||||
// CHECK:STDOUT: !31 = !{!30}
|
||||
// CHECK:STDOUT: !32 = !DISubroutineType(types: !31)
|
||||
// CHECK:STDOUT: !33 = !{null, !30}
|
||||
// CHECK:STDOUT: !34 = !DISubroutineType(types: !33)
|
||||
// CHECK:STDOUT: !35 = distinct !DISubprogram(name: "Call", linkageName: "_CCall.Main", scope: null, file: !28, line: 6, type: !32, spFlags: DISPFlagDefinition, unit: !29)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 7, column: 3, scope: !35)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 8, column: 3, scope: !35)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 8, column: 17, scope: !35)
|
||||
// CHECK:STDOUT: !44 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !45 = !{!44, !44}
|
||||
// CHECK:STDOUT: !46 = !DISubroutineType(types: !45)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 9, column: 11, scope: !35)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 9, column: 10, scope: !35)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 9, column: 3, scope: !35)
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !28, line: 7, type: !34, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !54)
|
||||
// CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !51, type: !30)
|
||||
// CHECK:STDOUT: !53 = !DILocation(line: 7, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !54 = !{!52}
|
||||
// CHECK:STDOUT: !55 = distinct !DISubprogram(name: "DirectGeneric", linkageName: "_CDirectGeneric.Main.84588f41d61dafba", scope: null, file: !24, line: 10, type: !46, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !65)
|
||||
// CHECK:STDOUT: !56 = !DILocalVariable(arg: 1, scope: !55, type: !44)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 11, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 12, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 13, column: 10, scope: !55)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 13, column: 3, scope: !55)
|
||||
// CHECK:STDOUT: !65 = !{!56}
|
||||
// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "IndirectGeneric", linkageName: "_CIndirectGeneric.Main.84588f41d61dafba", scope: null, file: !18, line: 8, type: !46, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !75)
|
||||
// CHECK:STDOUT: !67 = !DILocalVariable(arg: 1, scope: !66, type: !44)
|
||||
// CHECK:STDOUT: !71 = !DILocation(line: 9, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 10, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 11, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !75 = !{!67}
|
||||
// CHECK:STDOUT: !33 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !34 = !{null, !33}
|
||||
// CHECK:STDOUT: !35 = !DISubroutineType(types: !34)
|
||||
// CHECK:STDOUT: !36 = !{null, !30}
|
||||
// CHECK:STDOUT: !37 = !DISubroutineType(types: !36)
|
||||
// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Call", linkageName: "_CCall.Main", scope: null, file: !28, line: 6, type: !32, spFlags: DISPFlagDefinition, unit: !29)
|
||||
// CHECK:STDOUT: !41 = !DILocation(line: 7, column: 3, scope: !38)
|
||||
// CHECK:STDOUT: !43 = !DILocation(line: 8, column: 3, scope: !38)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 8, column: 17, scope: !38)
|
||||
// CHECK:STDOUT: !47 = !{!33, !33}
|
||||
// CHECK:STDOUT: !48 = !DISubroutineType(types: !47)
|
||||
// CHECK:STDOUT: !50 = !DILocation(line: 9, column: 11, scope: !38)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 9, column: 10, scope: !38)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 9, column: 3, scope: !38)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.d088c7eb746488be:core.Destroy.Core", scope: null, file: !28, line: 8, type: !35, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !56)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !33)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 8, column: 3, scope: !53)
|
||||
// CHECK:STDOUT: !56 = !{!54}
|
||||
// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !28, line: 7, type: !37, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !60)
|
||||
// CHECK:STDOUT: !58 = !DILocalVariable(arg: 1, scope: !57, type: !30)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 7, column: 3, scope: !57)
|
||||
// CHECK:STDOUT: !60 = !{!58}
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !28, line: 7, type: !37, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !64)
|
||||
// CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !61, type: !30)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 7, column: 3, scope: !61)
|
||||
// CHECK:STDOUT: !64 = !{!62}
|
||||
// CHECK:STDOUT: !65 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !28, line: 7, type: !37, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !68)
|
||||
// CHECK:STDOUT: !66 = !DILocalVariable(arg: 1, scope: !65, type: !30)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 7, column: 3, scope: !65)
|
||||
// CHECK:STDOUT: !68 = !{!66}
|
||||
// CHECK:STDOUT: !69 = distinct !DISubprogram(name: "DirectGeneric", linkageName: "_CDirectGeneric.Main.84588f41d61dafba", scope: null, file: !24, line: 10, type: !48, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !70 = !DILocalVariable(arg: 1, scope: !69, type: !33)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 11, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !75 = !DILocation(line: 12, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 13, column: 10, scope: !69)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 13, column: 3, scope: !69)
|
||||
// CHECK:STDOUT: !79 = !{!70}
|
||||
// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "IndirectGeneric", linkageName: "_CIndirectGeneric.Main.84588f41d61dafba", scope: null, file: !18, line: 8, type: !48, spFlags: DISPFlagDefinition, unit: !29, retainedNodes: !89)
|
||||
// CHECK:STDOUT: !81 = !DILocalVariable(arg: 1, scope: !80, type: !33)
|
||||
// CHECK:STDOUT: !85 = !DILocation(line: 9, column: 3, scope: !80)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 10, column: 3, scope: !80)
|
||||
// CHECK:STDOUT: !88 = !DILocation(line: 11, column: 3, scope: !80)
|
||||
// CHECK:STDOUT: !89 = !{!81}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -33,11 +33,24 @@ fn Run() {
|
||||
// CHECK:STDOUT: source_filename = "lib.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !9 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !9 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !11
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !13 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !15
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !17 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !19
|
||||
// CHECK:STDOUT: ret void, !dbg !19
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: attributes #0 = { nounwind }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!5}
|
||||
@@ -50,32 +63,44 @@ fn Run() {
|
||||
// CHECK:STDOUT: !6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
||||
// CHECK:STDOUT: !7 = !{null, !6}
|
||||
// CHECK:STDOUT: !8 = !DISubroutineType(types: !7)
|
||||
// CHECK:STDOUT: !9 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 7, type: !8, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !12)
|
||||
// CHECK:STDOUT: !9 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !4, line: 7, type: !8, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !12)
|
||||
// CHECK:STDOUT: !10 = !DILocalVariable(arg: 1, scope: !9, type: !6)
|
||||
// CHECK:STDOUT: !11 = !DILocation(line: 7, column: 3, scope: !9)
|
||||
// CHECK:STDOUT: !12 = !{!10}
|
||||
// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 7, type: !8, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !16)
|
||||
// CHECK:STDOUT: !14 = !DILocalVariable(arg: 1, scope: !13, type: !6)
|
||||
// CHECK:STDOUT: !15 = !DILocation(line: 7, column: 3, scope: !13)
|
||||
// CHECK:STDOUT: !16 = !{!14}
|
||||
// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !4, line: 7, type: !8, spFlags: DISPFlagDefinition, unit: !5, retainedNodes: !20)
|
||||
// CHECK:STDOUT: !18 = !DILocalVariable(arg: 1, scope: !17, type: !6)
|
||||
// CHECK:STDOUT: !19 = !DILocation(line: 7, column: 3, scope: !17)
|
||||
// CHECK:STDOUT: !20 = !{!18}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; ---
|
||||
// CHECK:STDOUT: ; ModuleID = 'main.carbon'
|
||||
// CHECK:STDOUT: source_filename = "main.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @main() #0 !dbg !17 {
|
||||
// CHECK:STDOUT: define i32 @main() #0 !dbg !25 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.79e272ab3b2c3188(), !dbg !18
|
||||
// CHECK:STDOUT: ret i32 0, !dbg !21
|
||||
// CHECK:STDOUT: call void @_CF.Main.79e272ab3b2c3188(), !dbg !26
|
||||
// CHECK:STDOUT: ret i32 0, !dbg !29
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.79e272ab3b2c3188() #0 !dbg !22 {
|
||||
// CHECK:STDOUT: %1 = alloca i32, align 4, !dbg !23
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %1), !dbg !23
|
||||
// CHECK:STDOUT: store i32 0, ptr %1, align 4, !dbg !23
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %1), !dbg !23
|
||||
// CHECK:STDOUT: ret void, !dbg !25
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.79e272ab3b2c3188() #0 !dbg !30 {
|
||||
// CHECK:STDOUT: %1 = alloca i32, align 4, !dbg !31
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %1), !dbg !31
|
||||
// CHECK:STDOUT: store i32 0, ptr %1, align 4, !dbg !31
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %1), !dbg !31
|
||||
// CHECK:STDOUT: ret void, !dbg !33
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT: declare void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
@@ -83,23 +108,23 @@ fn Run() {
|
||||
// CHECK:STDOUT: attributes #0 = { nounwind }
|
||||
// CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!14}
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!22}
|
||||
// CHECK:STDOUT: !llvm.module.flags = !{!2, !3}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !2 = !{i32 7, !"Dwarf Version", i32 5}
|
||||
// CHECK:STDOUT: !3 = !{i32 2, !"Debug Info Version", i32 3}
|
||||
// CHECK:STDOUT: !4 = !DIFile(filename: "lib.carbon", directory: "")
|
||||
// CHECK:STDOUT: !6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
||||
// CHECK:STDOUT: !13 = !DIFile(filename: "main.carbon", directory: "")
|
||||
// CHECK:STDOUT: !14 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !13, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !15 = !{!6}
|
||||
// CHECK:STDOUT: !16 = !DISubroutineType(types: !15)
|
||||
// CHECK:STDOUT: !17 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !13, line: 4, type: !16, spFlags: DISPFlagDefinition, unit: !14)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 5, column: 3, scope: !17)
|
||||
// CHECK:STDOUT: !19 = !{null}
|
||||
// CHECK:STDOUT: !20 = !DISubroutineType(types: !19)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 4, column: 1, scope: !17)
|
||||
// CHECK:STDOUT: !22 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.79e272ab3b2c3188", scope: null, file: !4, line: 4, type: !20, spFlags: DISPFlagDefinition, unit: !14)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 7, column: 3, scope: !22)
|
||||
// CHECK:STDOUT: !25 = !DILocation(line: 4, column: 1, scope: !22)
|
||||
// CHECK:STDOUT: !21 = !DIFile(filename: "main.carbon", directory: "")
|
||||
// CHECK:STDOUT: !22 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !21, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !23 = !{!6}
|
||||
// CHECK:STDOUT: !24 = !DISubroutineType(types: !23)
|
||||
// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "Run", linkageName: "main", scope: null, file: !21, line: 4, type: !24, spFlags: DISPFlagDefinition, unit: !22)
|
||||
// CHECK:STDOUT: !26 = !DILocation(line: 5, column: 3, scope: !25)
|
||||
// CHECK:STDOUT: !27 = !{null}
|
||||
// CHECK:STDOUT: !28 = !DISubroutineType(types: !27)
|
||||
// CHECK:STDOUT: !29 = !DILocation(line: 4, column: 1, scope: !25)
|
||||
// CHECK:STDOUT: !30 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.79e272ab3b2c3188", scope: null, file: !4, line: 4, type: !28, spFlags: DISPFlagDefinition, unit: !22)
|
||||
// CHECK:STDOUT: !31 = !DILocation(line: 7, column: 3, scope: !30)
|
||||
// CHECK:STDOUT: !33 = !DILocation(line: 4, column: 1, scope: !30)
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -51,17 +51,37 @@ fn Main() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !34 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !34 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !36
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.ed1ef26650163b11:core.Destroy.Core"(ptr %self) #0 !dbg !38 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !38 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !40
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !42 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !44
|
||||
// CHECK:STDOUT: ret void, !dbg !44
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.ed1ef26650163b11:core.Destroy.Core"(ptr %self) #0 !dbg !46 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !48
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.ed1ef26650163b11:core.Destroy.Core"(ptr %self) #0 !dbg !50 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.ed1ef26650163b11:core.Destroy.Core"(ptr %self), !dbg !52
|
||||
// CHECK:STDOUT: ret void, !dbg !52
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: attributes #0 = { nounwind }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!19}
|
||||
@@ -80,43 +100,61 @@ fn Main() {
|
||||
// CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !25, type: !20)
|
||||
// CHECK:STDOUT: !32 = !DILocation(line: 13, column: 5, scope: !25)
|
||||
// CHECK:STDOUT: !33 = !{!26}
|
||||
// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !37)
|
||||
// CHECK:STDOUT: !34 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !37)
|
||||
// CHECK:STDOUT: !35 = !DILocalVariable(arg: 1, scope: !34, type: !20)
|
||||
// CHECK:STDOUT: !36 = !DILocation(line: 18, column: 3, scope: !34)
|
||||
// CHECK:STDOUT: !37 = !{!35}
|
||||
// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ed1ef26650163b11:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !41)
|
||||
// CHECK:STDOUT: !38 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !41)
|
||||
// CHECK:STDOUT: !39 = !DILocalVariable(arg: 1, scope: !38, type: !20)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 18, column: 3, scope: !38)
|
||||
// CHECK:STDOUT: !41 = !{!39}
|
||||
// CHECK:STDOUT: !42 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !45)
|
||||
// CHECK:STDOUT: !43 = !DILocalVariable(arg: 1, scope: !42, type: !20)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 18, column: 3, scope: !42)
|
||||
// CHECK:STDOUT: !45 = !{!43}
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.ed1ef26650163b11:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !49)
|
||||
// CHECK:STDOUT: !47 = !DILocalVariable(arg: 1, scope: !46, type: !20)
|
||||
// CHECK:STDOUT: !48 = !DILocation(line: 18, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !49 = !{!47}
|
||||
// CHECK:STDOUT: !50 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.ed1ef26650163b11:core.Destroy.Core", scope: null, file: !18, line: 18, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !53)
|
||||
// CHECK:STDOUT: !51 = !DILocalVariable(arg: 1, scope: !50, type: !20)
|
||||
// CHECK:STDOUT: !52 = !DILocation(line: 18, column: 3, scope: !50)
|
||||
// CHECK:STDOUT: !53 = !{!51}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; ---
|
||||
// CHECK:STDOUT: ; ModuleID = 'b.carbon'
|
||||
// CHECK:STDOUT: source_filename = "b.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CMain.Main() #0 !dbg !46 {
|
||||
// CHECK:STDOUT: define void @_CMain.Main() #0 !dbg !58 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %GenericF.call = call i32 @_CGenericF.Main.084a2801e0f5d754({} zeroinitializer), !dbg !47
|
||||
// CHECK:STDOUT: ret void, !dbg !51
|
||||
// CHECK:STDOUT: %GenericF.call = call i32 @_CGenericF.Main.084a2801e0f5d754({} zeroinitializer), !dbg !59
|
||||
// CHECK:STDOUT: ret void, !dbg !63
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CGenericF.Main.084a2801e0f5d754({} %x) #0 !dbg !52 {
|
||||
// CHECK:STDOUT: %1 = alloca i32, align 4, !dbg !57
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %1), !dbg !57
|
||||
// CHECK:STDOUT: %2 = call i32 @"_COp.Foo.Main:Copy.Core"(i32 0), !dbg !58
|
||||
// CHECK:STDOUT: store i32 %2, ptr %1, align 4, !dbg !57
|
||||
// CHECK:STDOUT: %3 = load i32, ptr %1, align 4, !dbg !60
|
||||
// CHECK:STDOUT: %4 = call i32 @"_COp.Foo.Main:Copy.Core"(i32 %3), !dbg !60
|
||||
// CHECK:STDOUT: call void @"_COp.ed1ef26650163b11:core.Destroy.Core"(ptr %1), !dbg !57
|
||||
// CHECK:STDOUT: ret i32 %4, !dbg !61
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CGenericF.Main.084a2801e0f5d754({} %x) #0 !dbg !64 {
|
||||
// CHECK:STDOUT: %1 = alloca i32, align 4, !dbg !69
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %1), !dbg !69
|
||||
// CHECK:STDOUT: %2 = call i32 @"_COp.Foo.Main:Copy.Core"(i32 0), !dbg !70
|
||||
// CHECK:STDOUT: store i32 %2, ptr %1, align 4, !dbg !69
|
||||
// CHECK:STDOUT: %3 = load i32, ptr %1, align 4, !dbg !72
|
||||
// CHECK:STDOUT: %4 = call i32 @"_COp.Foo.Main:Copy.Core"(i32 %3), !dbg !72
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.ed1ef26650163b11:core.Destroy.Core"(ptr %1), !dbg !69
|
||||
// CHECK:STDOUT: ret i32 %4, !dbg !73
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @"_COp.Foo.Main:Copy.Core"(i32)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT: declare void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_COp.ed1ef26650163b11:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT: declare void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_CSubobjectDestroy.ed1ef26650163b11:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare void @"_CSelfDestruct.ed1ef26650163b11:core.Destroy.Core"(ptr)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
@@ -127,28 +165,28 @@ fn Main() {
|
||||
// CHECK:STDOUT: attributes #0 = { nounwind }
|
||||
// CHECK:STDOUT: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!43}
|
||||
// CHECK:STDOUT: !llvm.dbg.cu = !{!55}
|
||||
// CHECK:STDOUT: !llvm.module.flags = !{!2, !3}
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !2 = !{i32 7, !"Dwarf Version", i32 5}
|
||||
// CHECK:STDOUT: !3 = !{i32 2, !"Debug Info Version", i32 3}
|
||||
// CHECK:STDOUT: !18 = !DIFile(filename: "a.carbon", directory: "")
|
||||
// CHECK:STDOUT: !20 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
||||
// CHECK:STDOUT: !42 = !DIFile(filename: "b.carbon", directory: "")
|
||||
// CHECK:STDOUT: !43 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !42, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !44 = !{null}
|
||||
// CHECK:STDOUT: !45 = !DISubroutineType(types: !44)
|
||||
// CHECK:STDOUT: !46 = distinct !DISubprogram(name: "Main", linkageName: "_CMain.Main", scope: null, file: !42, line: 4, type: !45, spFlags: DISPFlagDefinition, unit: !43)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 5, column: 3, scope: !46)
|
||||
// CHECK:STDOUT: !48 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !49 = !{!20, !48}
|
||||
// CHECK:STDOUT: !50 = !DISubroutineType(types: !49)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 4, column: 1, scope: !46)
|
||||
// CHECK:STDOUT: !52 = distinct !DISubprogram(name: "GenericF", linkageName: "_CGenericF.Main.084a2801e0f5d754", scope: null, file: !18, line: 17, type: !50, spFlags: DISPFlagDefinition, unit: !43, retainedNodes: !62)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 1, scope: !52, type: !48)
|
||||
// CHECK:STDOUT: !57 = !DILocation(line: 18, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 18, column: 16, scope: !52)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 19, column: 10, scope: !52)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 19, column: 3, scope: !52)
|
||||
// CHECK:STDOUT: !62 = !{!53}
|
||||
// CHECK:STDOUT: !54 = !DIFile(filename: "b.carbon", directory: "")
|
||||
// CHECK:STDOUT: !55 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !54, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !56 = !{null}
|
||||
// CHECK:STDOUT: !57 = !DISubroutineType(types: !56)
|
||||
// CHECK:STDOUT: !58 = distinct !DISubprogram(name: "Main", linkageName: "_CMain.Main", scope: null, file: !54, line: 4, type: !57, spFlags: DISPFlagDefinition, unit: !55)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 5, column: 3, scope: !58)
|
||||
// CHECK:STDOUT: !60 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !61 = !{!20, !60}
|
||||
// CHECK:STDOUT: !62 = !DISubroutineType(types: !61)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 4, column: 1, scope: !58)
|
||||
// CHECK:STDOUT: !64 = distinct !DISubprogram(name: "GenericF", linkageName: "_CGenericF.Main.084a2801e0f5d754", scope: null, file: !18, line: 17, type: !62, spFlags: DISPFlagDefinition, unit: !55, retainedNodes: !74)
|
||||
// CHECK:STDOUT: !65 = !DILocalVariable(arg: 1, scope: !64, type: !60)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 18, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 18, column: 16, scope: !64)
|
||||
// CHECK:STDOUT: !72 = !DILocation(line: 19, column: 10, scope: !64)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 19, column: 3, scope: !64)
|
||||
// CHECK:STDOUT: !74 = !{!65}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+218
-167
@@ -52,119 +52,152 @@ fn Main() {
|
||||
// CHECK:STDOUT: source_filename = "reverse_canonical.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CMain.Main() #0 !dbg !20 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %self) #0 !dbg !23 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %x.var = alloca i1, align 1, !dbg !21
|
||||
// CHECK:STDOUT: %y.var = alloca ptr, align 8, !dbg !23
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !21
|
||||
// CHECK:STDOUT: store i8 poison, ptr %x.var, align 1, !dbg !21
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %y.var), !dbg !23
|
||||
// CHECK:STDOUT: store ptr poison, ptr %y.var, align 8, !dbg !23
|
||||
// CHECK:STDOUT: %.loc47_9 = load i8, ptr %x.var, align 1, !dbg !25
|
||||
// CHECK:STDOUT: %.loc47_91 = trunc i8 %.loc47_9 to i1, !dbg !25
|
||||
// CHECK:STDOUT: %.loc47_12 = load i8, ptr %x.var, align 1, !dbg !26
|
||||
// CHECK:STDOUT: %.loc47_122 = trunc i8 %.loc47_12 to i1, !dbg !26
|
||||
// CHECK:STDOUT: %.loc47_15 = load ptr, ptr %y.var, align 8, !dbg !27
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.36f5e0b0ce09cb9a(i1 %.loc47_91, i1 %.loc47_122, ptr %.loc47_15), !dbg !28
|
||||
// CHECK:STDOUT: ret void, !dbg !32
|
||||
// CHECK:STDOUT: ret void, !dbg !25
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.146e3bb0985f5a0c:core.Destroy.Core"(ptr %self) #0 !dbg !27 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !29
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CMain.Main() #0 !dbg !31 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %x.var = alloca i1, align 1, !dbg !32
|
||||
// CHECK:STDOUT: %y.var = alloca ptr, align 8, !dbg !34
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !32
|
||||
// CHECK:STDOUT: store i8 poison, ptr %x.var, align 1, !dbg !32
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %y.var), !dbg !34
|
||||
// CHECK:STDOUT: store ptr poison, ptr %y.var, align 8, !dbg !34
|
||||
// CHECK:STDOUT: %.loc47_9 = load i8, ptr %x.var, align 1, !dbg !36
|
||||
// CHECK:STDOUT: %.loc47_91 = trunc i8 %.loc47_9 to i1, !dbg !36
|
||||
// CHECK:STDOUT: %.loc47_12 = load i8, ptr %x.var, align 1, !dbg !37
|
||||
// CHECK:STDOUT: %.loc47_122 = trunc i8 %.loc47_12 to i1, !dbg !37
|
||||
// CHECK:STDOUT: %.loc47_15 = load ptr, ptr %y.var, align 8, !dbg !38
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.36f5e0b0ce09cb9a(i1 %.loc47_91, i1 %.loc47_122, ptr %.loc47_15), !dbg !39
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %y.var), !dbg !34
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %x.var), !dbg !32
|
||||
// CHECK:STDOUT: ret void, !dbg !42
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core"(ptr %self) #0 !dbg !43 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !45
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core"(ptr %self) #0 !dbg !47 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !49
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.36f5e0b0ce09cb9a(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !33 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.36f5e0b0ce09cb9a(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !51 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !40
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !40
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !40
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !44
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.0f29a29bf45af723(i1 %arg2, i1 %arg2, ptr %.loc23), !dbg !45
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !58
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !58
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !58
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !62
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.0f29a29bf45af723(i1 %arg2, i1 %arg2, ptr %.loc23), !dbg !63
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %local_name.var), !dbg !58
|
||||
// CHECK:STDOUT: ret void, !dbg !64
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond.Main.0f29a29bf45af723(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !48 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond.Main.0f29a29bf45af723(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !66 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !55
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !55
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !55
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.81f1c9de445b895c(ptr %arg3, ptr %arg3, i1 %arg1), !dbg !60
|
||||
// CHECK:STDOUT: %.loc30 = load ptr, ptr %local_name.var, align 8, !dbg !63
|
||||
// CHECK:STDOUT: call void @_Cthird.Main.0f29a29bf45af723(i1 %arg2, i1 %arg2, ptr %.loc30), !dbg !64
|
||||
// CHECK:STDOUT: ret void, !dbg !65
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !73
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !73
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !73
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.81f1c9de445b895c(ptr %arg3, ptr %arg3, i1 %arg1), !dbg !78
|
||||
// CHECK:STDOUT: %.loc30 = load ptr, ptr %local_name.var, align 8, !dbg !81
|
||||
// CHECK:STDOUT: call void @_Cthird.Main.0f29a29bf45af723(i1 %arg2, i1 %arg2, ptr %.loc30), !dbg !82
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %local_name.var), !dbg !73
|
||||
// CHECK:STDOUT: ret void, !dbg !83
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.81f1c9de445b895c(ptr %arg1, ptr %arg2, i1 %arg3) #0 !dbg !67 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.81f1c9de445b895c(ptr %arg1, ptr %arg2, i1 %arg3) #0 !dbg !85 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !74
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !74
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !74
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !78
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc23), !dbg !79
|
||||
// CHECK:STDOUT: ret void, !dbg !80
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !92
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !92
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !92
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !96
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc23), !dbg !97
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %local_name.var), !dbg !92
|
||||
// CHECK:STDOUT: ret void, !dbg !98
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird.Main.0f29a29bf45af723(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !82 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird.Main.0f29a29bf45af723(i1 %arg1, i1 %arg2, ptr %arg3) #0 !dbg !100 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !89
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !89
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !89
|
||||
// CHECK:STDOUT: %.loc36_10 = load ptr, ptr %local_name.var, align 8, !dbg !91
|
||||
// CHECK:STDOUT: %.loc36_22 = load ptr, ptr %local_name.var, align 8, !dbg !92
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.c6787c0e2572c86c(ptr %.loc36_10, ptr %.loc36_22, i1 %arg1), !dbg !94
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.c6787c0e2572c86c(ptr %arg3, ptr %arg3, i1 %arg2), !dbg !98
|
||||
// CHECK:STDOUT: ret void, !dbg !99
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !107
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !107
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !107
|
||||
// CHECK:STDOUT: %.loc36_10 = load ptr, ptr %local_name.var, align 8, !dbg !109
|
||||
// CHECK:STDOUT: %.loc36_22 = load ptr, ptr %local_name.var, align 8, !dbg !110
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.c6787c0e2572c86c(ptr %.loc36_10, ptr %.loc36_22, i1 %arg1), !dbg !112
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.c6787c0e2572c86c(ptr %arg3, ptr %arg3, i1 %arg2), !dbg !116
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.146e3bb0985f5a0c:core.Destroy.Core"(ptr %local_name.var), !dbg !107
|
||||
// CHECK:STDOUT: ret void, !dbg !117
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !101 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !119 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !108
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !108
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !108
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.e1ce67f3c23ab61f(ptr %arg3, ptr %arg3, ptr %arg1), !dbg !113
|
||||
// CHECK:STDOUT: %.loc30 = load ptr, ptr %local_name.var, align 8, !dbg !116
|
||||
// CHECK:STDOUT: call void @_Cthird.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc30), !dbg !117
|
||||
// CHECK:STDOUT: ret void, !dbg !118
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !126
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !126
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !126
|
||||
// CHECK:STDOUT: call void @_Cfirst.Main.e1ce67f3c23ab61f(ptr %arg3, ptr %arg3, ptr %arg1), !dbg !131
|
||||
// CHECK:STDOUT: %.loc30 = load ptr, ptr %local_name.var, align 8, !dbg !134
|
||||
// CHECK:STDOUT: call void @_Cthird.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc30), !dbg !135
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %local_name.var), !dbg !126
|
||||
// CHECK:STDOUT: ret void, !dbg !136
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth.Main.c6787c0e2572c86c(ptr %arg1, ptr %arg2, i1 %arg3) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth.Main.c6787c0e2572c86c(ptr %arg1, ptr %arg2, i1 %arg3) #0 !dbg !138 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !127
|
||||
// CHECK:STDOUT: ret void, !dbg !145
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !138 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !156 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !145
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !145
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !145
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !149
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc23), !dbg !150
|
||||
// CHECK:STDOUT: ret void, !dbg !151
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !163
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !163
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !163
|
||||
// CHECK:STDOUT: %.loc23 = load ptr, ptr %local_name.var, align 8, !dbg !167
|
||||
// CHECK:STDOUT: call void @_Csecond.Main.e1ce67f3c23ab61f(ptr %arg2, ptr %arg2, ptr %.loc23), !dbg !168
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core"(ptr %local_name.var), !dbg !163
|
||||
// CHECK:STDOUT: ret void, !dbg !169
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !153 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird.Main.e1ce67f3c23ab61f(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !171 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !160
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !160
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !160
|
||||
// CHECK:STDOUT: %.loc36_10 = load ptr, ptr %local_name.var, align 8, !dbg !162
|
||||
// CHECK:STDOUT: %.loc36_22 = load ptr, ptr %local_name.var, align 8, !dbg !163
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.901b24db5c2cfe42(ptr %.loc36_10, ptr %.loc36_22, ptr %arg1), !dbg !165
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.901b24db5c2cfe42(ptr %arg3, ptr %arg3, ptr %arg2), !dbg !169
|
||||
// CHECK:STDOUT: ret void, !dbg !170
|
||||
// CHECK:STDOUT: %local_name.var = alloca ptr, align 8, !dbg !178
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local_name.var), !dbg !178
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local_name.var, align 8, !dbg !178
|
||||
// CHECK:STDOUT: %.loc36_10 = load ptr, ptr %local_name.var, align 8, !dbg !180
|
||||
// CHECK:STDOUT: %.loc36_22 = load ptr, ptr %local_name.var, align 8, !dbg !181
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.901b24db5c2cfe42(ptr %.loc36_10, ptr %.loc36_22, ptr %arg1), !dbg !183
|
||||
// CHECK:STDOUT: call void @_Cfourth.Main.901b24db5c2cfe42(ptr %arg3, ptr %arg3, ptr %arg2), !dbg !187
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.146e3bb0985f5a0c:core.Destroy.Core"(ptr %local_name.var), !dbg !178
|
||||
// CHECK:STDOUT: ret void, !dbg !188
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth.Main.901b24db5c2cfe42(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !172 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth.Main.901b24db5c2cfe42(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !190 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !179
|
||||
// CHECK:STDOUT: ret void, !dbg !197
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -182,98 +215,116 @@ fn Main() {
|
||||
// CHECK:STDOUT: !3 = !{i32 2, !"Debug Info Version", i32 3}
|
||||
// CHECK:STDOUT: !16 = !DIFile(filename: "reverse_canonical.carbon", directory: "")
|
||||
// CHECK:STDOUT: !17 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !16, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !18 = !{null}
|
||||
// CHECK:STDOUT: !19 = !DISubroutineType(types: !18)
|
||||
// CHECK:STDOUT: !20 = distinct !DISubprogram(name: "Main", linkageName: "_CMain.Main", scope: null, file: !16, line: 43, type: !19, spFlags: DISPFlagDefinition, unit: !17)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 44, column: 3, scope: !20)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 45, column: 3, scope: !20)
|
||||
// CHECK:STDOUT: !25 = !DILocation(line: 47, column: 9, scope: !20)
|
||||
// CHECK:STDOUT: !26 = !DILocation(line: 47, column: 12, scope: !20)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 47, column: 15, scope: !20)
|
||||
// CHECK:STDOUT: !28 = !DILocation(line: 47, column: 3, scope: !20)
|
||||
// CHECK:STDOUT: !29 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !30 = !{null, !29, !29, !29}
|
||||
// CHECK:STDOUT: !31 = !DISubroutineType(types: !30)
|
||||
// CHECK:STDOUT: !32 = !DILocation(line: 43, column: 1, scope: !20)
|
||||
// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.36f5e0b0ce09cb9a", scope: null, file: !16, line: 20, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !47)
|
||||
// CHECK:STDOUT: !34 = !DILocalVariable(arg: 1, scope: !33, type: !29)
|
||||
// CHECK:STDOUT: !35 = !DILocalVariable(arg: 2, scope: !33, type: !29)
|
||||
// CHECK:STDOUT: !36 = !DILocalVariable(arg: 3, scope: !33, type: !29)
|
||||
// CHECK:STDOUT: !40 = !DILocation(line: 21, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 23, column: 22, scope: !33)
|
||||
// CHECK:STDOUT: !45 = !DILocation(line: 23, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 20, column: 1, scope: !33)
|
||||
// CHECK:STDOUT: !47 = !{!34, !35, !36}
|
||||
// CHECK:STDOUT: !48 = distinct !DISubprogram(name: "second", linkageName: "_Csecond.Main.0f29a29bf45af723", scope: null, file: !16, line: 26, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !66)
|
||||
// CHECK:STDOUT: !49 = !DILocalVariable(arg: 1, scope: !48, type: !29)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 2, scope: !48, type: !29)
|
||||
// CHECK:STDOUT: !51 = !DILocalVariable(arg: 3, scope: !48, type: !29)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 27, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 29, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 30, column: 21, scope: !48)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 30, column: 3, scope: !48)
|
||||
// CHECK:STDOUT: !65 = !DILocation(line: 26, column: 1, scope: !48)
|
||||
// CHECK:STDOUT: !66 = !{!49, !50, !51}
|
||||
// CHECK:STDOUT: !67 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.81f1c9de445b895c", scope: null, file: !16, line: 20, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !81)
|
||||
// CHECK:STDOUT: !68 = !DILocalVariable(arg: 1, scope: !67, type: !29)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 2, scope: !67, type: !29)
|
||||
// CHECK:STDOUT: !70 = !DILocalVariable(arg: 3, scope: !67, type: !29)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 21, column: 3, scope: !67)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 23, column: 22, scope: !67)
|
||||
// CHECK:STDOUT: !79 = !DILocation(line: 23, column: 3, scope: !67)
|
||||
// CHECK:STDOUT: !80 = !DILocation(line: 20, column: 1, scope: !67)
|
||||
// CHECK:STDOUT: !81 = !{!68, !69, !70}
|
||||
// CHECK:STDOUT: !82 = distinct !DISubprogram(name: "third", linkageName: "_Cthird.Main.0f29a29bf45af723", scope: null, file: !16, line: 33, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !100)
|
||||
// CHECK:STDOUT: !83 = !DILocalVariable(arg: 1, scope: !82, type: !29)
|
||||
// CHECK:STDOUT: !84 = !DILocalVariable(arg: 2, scope: !82, type: !29)
|
||||
// CHECK:STDOUT: !85 = !DILocalVariable(arg: 3, scope: !82, type: !29)
|
||||
// CHECK:STDOUT: !89 = !DILocation(line: 34, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 36, column: 10, scope: !82)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 36, column: 22, scope: !82)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 36, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 37, column: 3, scope: !82)
|
||||
// CHECK:STDOUT: !99 = !DILocation(line: 33, column: 1, scope: !82)
|
||||
// CHECK:STDOUT: !100 = !{!83, !84, !85}
|
||||
// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "second", linkageName: "_Csecond.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 26, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !102 = !DILocalVariable(arg: 1, scope: !101, type: !29)
|
||||
// CHECK:STDOUT: !103 = !DILocalVariable(arg: 2, scope: !101, type: !29)
|
||||
// CHECK:STDOUT: !104 = !DILocalVariable(arg: 3, scope: !101, type: !29)
|
||||
// CHECK:STDOUT: !108 = !DILocation(line: 27, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !113 = !DILocation(line: 29, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !116 = !DILocation(line: 30, column: 21, scope: !101)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 30, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 26, column: 1, scope: !101)
|
||||
// CHECK:STDOUT: !119 = !{!102, !103, !104}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "fourth", linkageName: "_Cfourth.Main.c6787c0e2572c86c", scope: null, file: !16, line: 40, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !128)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !29)
|
||||
// CHECK:STDOUT: !122 = !DILocalVariable(arg: 2, scope: !120, type: !29)
|
||||
// CHECK:STDOUT: !123 = !DILocalVariable(arg: 3, scope: !120, type: !29)
|
||||
// CHECK:STDOUT: !127 = !DILocation(line: 40, column: 1, scope: !120)
|
||||
// CHECK:STDOUT: !128 = !{!121, !122, !123}
|
||||
// CHECK:STDOUT: !138 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 20, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !152)
|
||||
// CHECK:STDOUT: !139 = !DILocalVariable(arg: 1, scope: !138, type: !29)
|
||||
// CHECK:STDOUT: !140 = !DILocalVariable(arg: 2, scope: !138, type: !29)
|
||||
// CHECK:STDOUT: !141 = !DILocalVariable(arg: 3, scope: !138, type: !29)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 21, column: 3, scope: !138)
|
||||
// CHECK:STDOUT: !149 = !DILocation(line: 23, column: 22, scope: !138)
|
||||
// CHECK:STDOUT: !150 = !DILocation(line: 23, column: 3, scope: !138)
|
||||
// CHECK:STDOUT: !151 = !DILocation(line: 20, column: 1, scope: !138)
|
||||
// CHECK:STDOUT: !152 = !{!139, !140, !141}
|
||||
// CHECK:STDOUT: !153 = distinct !DISubprogram(name: "third", linkageName: "_Cthird.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 33, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !171)
|
||||
// CHECK:STDOUT: !154 = !DILocalVariable(arg: 1, scope: !153, type: !29)
|
||||
// CHECK:STDOUT: !155 = !DILocalVariable(arg: 2, scope: !153, type: !29)
|
||||
// CHECK:STDOUT: !156 = !DILocalVariable(arg: 3, scope: !153, type: !29)
|
||||
// CHECK:STDOUT: !160 = !DILocation(line: 34, column: 3, scope: !153)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 36, column: 10, scope: !153)
|
||||
// CHECK:STDOUT: !163 = !DILocation(line: 36, column: 22, scope: !153)
|
||||
// CHECK:STDOUT: !165 = !DILocation(line: 36, column: 3, scope: !153)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 37, column: 3, scope: !153)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 33, column: 1, scope: !153)
|
||||
// CHECK:STDOUT: !171 = !{!154, !155, !156}
|
||||
// CHECK:STDOUT: !172 = distinct !DISubprogram(name: "fourth", linkageName: "_Cfourth.Main.901b24db5c2cfe42", scope: null, file: !16, line: 40, type: !31, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !180)
|
||||
// CHECK:STDOUT: !173 = !DILocalVariable(arg: 1, scope: !172, type: !29)
|
||||
// CHECK:STDOUT: !174 = !DILocalVariable(arg: 2, scope: !172, type: !29)
|
||||
// CHECK:STDOUT: !175 = !DILocalVariable(arg: 3, scope: !172, type: !29)
|
||||
// CHECK:STDOUT: !179 = !DILocation(line: 40, column: 1, scope: !172)
|
||||
// CHECK:STDOUT: !180 = !{!173, !174, !175}
|
||||
// CHECK:STDOUT: !18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !19 = !{null, !18}
|
||||
// CHECK:STDOUT: !20 = !DISubroutineType(types: !19)
|
||||
// CHECK:STDOUT: !21 = !{null}
|
||||
// CHECK:STDOUT: !22 = !DISubroutineType(types: !21)
|
||||
// CHECK:STDOUT: !23 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.cc2eb235f3a2109b:core.Destroy.Core", scope: null, file: !16, line: 21, type: !20, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !26)
|
||||
// CHECK:STDOUT: !24 = !DILocalVariable(arg: 1, scope: !23, type: !18)
|
||||
// CHECK:STDOUT: !25 = !DILocation(line: 21, column: 3, scope: !23)
|
||||
// CHECK:STDOUT: !26 = !{!24}
|
||||
// CHECK:STDOUT: !27 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.146e3bb0985f5a0c:core.Destroy.Core", scope: null, file: !16, line: 34, type: !20, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !30)
|
||||
// CHECK:STDOUT: !28 = !DILocalVariable(arg: 1, scope: !27, type: !18)
|
||||
// CHECK:STDOUT: !29 = !DILocation(line: 34, column: 3, scope: !27)
|
||||
// CHECK:STDOUT: !30 = !{!28}
|
||||
// CHECK:STDOUT: !31 = distinct !DISubprogram(name: "Main", linkageName: "_CMain.Main", scope: null, file: !16, line: 43, type: !22, spFlags: DISPFlagDefinition, unit: !17)
|
||||
// CHECK:STDOUT: !32 = !DILocation(line: 44, column: 3, scope: !31)
|
||||
// CHECK:STDOUT: !34 = !DILocation(line: 45, column: 3, scope: !31)
|
||||
// CHECK:STDOUT: !36 = !DILocation(line: 47, column: 9, scope: !31)
|
||||
// CHECK:STDOUT: !37 = !DILocation(line: 47, column: 12, scope: !31)
|
||||
// CHECK:STDOUT: !38 = !DILocation(line: 47, column: 15, scope: !31)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 47, column: 3, scope: !31)
|
||||
// CHECK:STDOUT: !40 = !{null, !18, !18, !18}
|
||||
// CHECK:STDOUT: !41 = !DISubroutineType(types: !40)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 43, column: 1, scope: !31)
|
||||
// CHECK:STDOUT: !43 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.bb2383e5e4785e19:core.Destroy.Core", scope: null, file: !16, line: 45, type: !20, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !46)
|
||||
// CHECK:STDOUT: !44 = !DILocalVariable(arg: 1, scope: !43, type: !18)
|
||||
// CHECK:STDOUT: !45 = !DILocation(line: 45, column: 3, scope: !43)
|
||||
// CHECK:STDOUT: !46 = !{!44}
|
||||
// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.48e0adf639fe7af4:core.Destroy.Core", scope: null, file: !16, line: 44, type: !20, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !50)
|
||||
// CHECK:STDOUT: !48 = !DILocalVariable(arg: 1, scope: !47, type: !18)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 44, column: 3, scope: !47)
|
||||
// CHECK:STDOUT: !50 = !{!48}
|
||||
// CHECK:STDOUT: !51 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.36f5e0b0ce09cb9a", scope: null, file: !16, line: 20, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !65)
|
||||
// CHECK:STDOUT: !52 = !DILocalVariable(arg: 1, scope: !51, type: !18)
|
||||
// CHECK:STDOUT: !53 = !DILocalVariable(arg: 2, scope: !51, type: !18)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 3, scope: !51, type: !18)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 21, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !62 = !DILocation(line: 23, column: 22, scope: !51)
|
||||
// CHECK:STDOUT: !63 = !DILocation(line: 23, column: 3, scope: !51)
|
||||
// CHECK:STDOUT: !64 = !DILocation(line: 20, column: 1, scope: !51)
|
||||
// CHECK:STDOUT: !65 = !{!52, !53, !54}
|
||||
// CHECK:STDOUT: !66 = distinct !DISubprogram(name: "second", linkageName: "_Csecond.Main.0f29a29bf45af723", scope: null, file: !16, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !84)
|
||||
// CHECK:STDOUT: !67 = !DILocalVariable(arg: 1, scope: !66, type: !18)
|
||||
// CHECK:STDOUT: !68 = !DILocalVariable(arg: 2, scope: !66, type: !18)
|
||||
// CHECK:STDOUT: !69 = !DILocalVariable(arg: 3, scope: !66, type: !18)
|
||||
// CHECK:STDOUT: !73 = !DILocation(line: 27, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 29, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !81 = !DILocation(line: 30, column: 21, scope: !66)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 30, column: 3, scope: !66)
|
||||
// CHECK:STDOUT: !83 = !DILocation(line: 26, column: 1, scope: !66)
|
||||
// CHECK:STDOUT: !84 = !{!67, !68, !69}
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.81f1c9de445b895c", scope: null, file: !16, line: 20, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !99)
|
||||
// CHECK:STDOUT: !86 = !DILocalVariable(arg: 1, scope: !85, type: !18)
|
||||
// CHECK:STDOUT: !87 = !DILocalVariable(arg: 2, scope: !85, type: !18)
|
||||
// CHECK:STDOUT: !88 = !DILocalVariable(arg: 3, scope: !85, type: !18)
|
||||
// CHECK:STDOUT: !92 = !DILocation(line: 21, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !96 = !DILocation(line: 23, column: 22, scope: !85)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 23, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 20, column: 1, scope: !85)
|
||||
// CHECK:STDOUT: !99 = !{!86, !87, !88}
|
||||
// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "third", linkageName: "_Cthird.Main.0f29a29bf45af723", scope: null, file: !16, line: 33, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !118)
|
||||
// CHECK:STDOUT: !101 = !DILocalVariable(arg: 1, scope: !100, type: !18)
|
||||
// CHECK:STDOUT: !102 = !DILocalVariable(arg: 2, scope: !100, type: !18)
|
||||
// CHECK:STDOUT: !103 = !DILocalVariable(arg: 3, scope: !100, type: !18)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 34, column: 3, scope: !100)
|
||||
// CHECK:STDOUT: !109 = !DILocation(line: 36, column: 10, scope: !100)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 36, column: 22, scope: !100)
|
||||
// CHECK:STDOUT: !112 = !DILocation(line: 36, column: 3, scope: !100)
|
||||
// CHECK:STDOUT: !116 = !DILocation(line: 37, column: 3, scope: !100)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 33, column: 1, scope: !100)
|
||||
// CHECK:STDOUT: !118 = !{!101, !102, !103}
|
||||
// CHECK:STDOUT: !119 = distinct !DISubprogram(name: "second", linkageName: "_Csecond.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 26, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !137)
|
||||
// CHECK:STDOUT: !120 = !DILocalVariable(arg: 1, scope: !119, type: !18)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 2, scope: !119, type: !18)
|
||||
// CHECK:STDOUT: !122 = !DILocalVariable(arg: 3, scope: !119, type: !18)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 27, column: 3, scope: !119)
|
||||
// CHECK:STDOUT: !131 = !DILocation(line: 29, column: 3, scope: !119)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 30, column: 21, scope: !119)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 30, column: 3, scope: !119)
|
||||
// CHECK:STDOUT: !136 = !DILocation(line: 26, column: 1, scope: !119)
|
||||
// CHECK:STDOUT: !137 = !{!120, !121, !122}
|
||||
// CHECK:STDOUT: !138 = distinct !DISubprogram(name: "fourth", linkageName: "_Cfourth.Main.c6787c0e2572c86c", scope: null, file: !16, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !146)
|
||||
// CHECK:STDOUT: !139 = !DILocalVariable(arg: 1, scope: !138, type: !18)
|
||||
// CHECK:STDOUT: !140 = !DILocalVariable(arg: 2, scope: !138, type: !18)
|
||||
// CHECK:STDOUT: !141 = !DILocalVariable(arg: 3, scope: !138, type: !18)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 40, column: 1, scope: !138)
|
||||
// CHECK:STDOUT: !146 = !{!139, !140, !141}
|
||||
// CHECK:STDOUT: !156 = distinct !DISubprogram(name: "first", linkageName: "_Cfirst.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 20, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !170)
|
||||
// CHECK:STDOUT: !157 = !DILocalVariable(arg: 1, scope: !156, type: !18)
|
||||
// CHECK:STDOUT: !158 = !DILocalVariable(arg: 2, scope: !156, type: !18)
|
||||
// CHECK:STDOUT: !159 = !DILocalVariable(arg: 3, scope: !156, type: !18)
|
||||
// CHECK:STDOUT: !163 = !DILocation(line: 21, column: 3, scope: !156)
|
||||
// CHECK:STDOUT: !167 = !DILocation(line: 23, column: 22, scope: !156)
|
||||
// CHECK:STDOUT: !168 = !DILocation(line: 23, column: 3, scope: !156)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 20, column: 1, scope: !156)
|
||||
// CHECK:STDOUT: !170 = !{!157, !158, !159}
|
||||
// CHECK:STDOUT: !171 = distinct !DISubprogram(name: "third", linkageName: "_Cthird.Main.e1ce67f3c23ab61f", scope: null, file: !16, line: 33, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !189)
|
||||
// CHECK:STDOUT: !172 = !DILocalVariable(arg: 1, scope: !171, type: !18)
|
||||
// CHECK:STDOUT: !173 = !DILocalVariable(arg: 2, scope: !171, type: !18)
|
||||
// CHECK:STDOUT: !174 = !DILocalVariable(arg: 3, scope: !171, type: !18)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 34, column: 3, scope: !171)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 36, column: 10, scope: !171)
|
||||
// CHECK:STDOUT: !181 = !DILocation(line: 36, column: 22, scope: !171)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 36, column: 3, scope: !171)
|
||||
// CHECK:STDOUT: !187 = !DILocation(line: 37, column: 3, scope: !171)
|
||||
// CHECK:STDOUT: !188 = !DILocation(line: 33, column: 1, scope: !171)
|
||||
// CHECK:STDOUT: !189 = !{!172, !173, !174}
|
||||
// CHECK:STDOUT: !190 = distinct !DISubprogram(name: "fourth", linkageName: "_Cfourth.Main.901b24db5c2cfe42", scope: null, file: !16, line: 40, type: !41, spFlags: DISPFlagDefinition, unit: !17, retainedNodes: !198)
|
||||
// CHECK:STDOUT: !191 = !DILocalVariable(arg: 1, scope: !190, type: !18)
|
||||
// CHECK:STDOUT: !192 = !DILocalVariable(arg: 2, scope: !190, type: !18)
|
||||
// CHECK:STDOUT: !193 = !DILocalVariable(arg: 3, scope: !190, type: !18)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 40, column: 1, scope: !190)
|
||||
// CHECK:STDOUT: !198 = !{!191, !192, !193}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+185
-115
@@ -87,84 +87,130 @@ fn Main_method_no_template () {
|
||||
// CHECK:STDOUT: source_filename = "self_canonical.carbon"
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CMain_method_no_template.Main() #0 !dbg !18 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.73ffa1ae01557cf1:core.Destroy.Core"(ptr %self) #0 !dbg !21 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !19
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !19
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !19
|
||||
// CHECK:STDOUT: %.loc82 = load ptr, ptr %local1.var, align 8, !dbg !21
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc82), !dbg !22
|
||||
// CHECK:STDOUT: ret void, !dbg !26
|
||||
// CHECK:STDOUT: ret void, !dbg !23
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.28258e58291017cc:core.Destroy.Core"(ptr %self) #0 !dbg !25 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !27
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.a247f3a5f241fa11:core.Destroy.Core"(ptr %self) #0 !dbg !29 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !31
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.22bdc7946a052e71:core.Destroy.Core"(ptr %self) #0 !dbg !33 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !35
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.680a5c6f7a3d0796:core.Destroy.Core"(ptr %self) #0 !dbg !37 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !39
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CMain_method_no_template.Main() #0 !dbg !41 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !42
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !42
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !42
|
||||
// CHECK:STDOUT: %.loc82 = load ptr, ptr %local1.var, align 8, !dbg !44
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc82), !dbg !45
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.a79cf9479d679a84:core.Destroy.Core"(ptr %local1.var), !dbg !42
|
||||
// CHECK:STDOUT: ret void, !dbg !46
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.a79cf9479d679a84:core.Destroy.Core"(ptr %self) #0 !dbg !47 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !49
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
// CHECK:STDOUT: declare void @llvm.lifetime.start.p0(ptr captures(none)) #1
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth_function.Main.4da09b2222fc2513(ptr %arg) #0 !dbg !168 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfourth_function.Main.4da09b2222fc2513(ptr %arg) #0 !dbg !192 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !171
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !173
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !171
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !171
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !173
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !173
|
||||
// CHECK:STDOUT: %.loc53 = load ptr, ptr %local1.var, align 8, !dbg !175
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc53), !dbg !176
|
||||
// CHECK:STDOUT: %.loc54 = load ptr, ptr %local2.var, align 8, !dbg !177
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc54), !dbg !178
|
||||
// CHECK:STDOUT: ret void, !dbg !179
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !195
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !197
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !195
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !195
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !197
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !197
|
||||
// CHECK:STDOUT: %.loc53 = load ptr, ptr %local1.var, align 8, !dbg !199
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc53), !dbg !200
|
||||
// CHECK:STDOUT: %.loc54 = load ptr, ptr %local2.var, align 8, !dbg !201
|
||||
// CHECK:STDOUT: call void @_Cfirst_function.Main.ee57965601b4d646(ptr %.loc54), !dbg !202
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.28258e58291017cc:core.Destroy.Core"(ptr %local2.var), !dbg !197
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.a247f3a5f241fa11:core.Destroy.Core"(ptr %local1.var), !dbg !195
|
||||
// CHECK:STDOUT: ret void, !dbg !203
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst_function.Main.ee57965601b4d646(ptr %arg) #0 !dbg !219 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cfirst_function.Main.ee57965601b4d646(ptr %arg) #0 !dbg !243 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !222
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !224
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !222
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !222
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !224
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !224
|
||||
// CHECK:STDOUT: %.loc61_19 = load ptr, ptr %local2.var, align 8, !dbg !226
|
||||
// CHECK:STDOUT: %.loc61_27 = load ptr, ptr %local1.var, align 8, !dbg !227
|
||||
// CHECK:STDOUT: call void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %.loc61_19, ptr %.loc61_27, ptr %arg), !dbg !229
|
||||
// CHECK:STDOUT: ret void, !dbg !230
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !246
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !248
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !246
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !246
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !248
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !248
|
||||
// CHECK:STDOUT: %.loc61_19 = load ptr, ptr %local2.var, align 8, !dbg !250
|
||||
// CHECK:STDOUT: %.loc61_27 = load ptr, ptr %local1.var, align 8, !dbg !251
|
||||
// CHECK:STDOUT: call void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %.loc61_19, ptr %.loc61_27, ptr %arg), !dbg !253
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.22bdc7946a052e71:core.Destroy.Core"(ptr %local2.var), !dbg !248
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.680a5c6f7a3d0796:core.Destroy.Core"(ptr %local1.var), !dbg !246
|
||||
// CHECK:STDOUT: ret void, !dbg !254
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !245 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !269 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !252
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !254
|
||||
// CHECK:STDOUT: %local3.var = alloca ptr, align 8, !dbg !256
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !252
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !252
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !254
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !254
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local3.var), !dbg !256
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local3.var, align 8, !dbg !256
|
||||
// CHECK:STDOUT: %.loc75_25 = load ptr, ptr %local3.var, align 8, !dbg !259
|
||||
// CHECK:STDOUT: %.loc75_33 = load ptr, ptr %local2.var, align 8, !dbg !260
|
||||
// CHECK:STDOUT: call void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %arg3, ptr %.loc75_25, ptr %.loc75_33), !dbg !261
|
||||
// CHECK:STDOUT: %.loc76 = load ptr, ptr %local1.var, align 8, !dbg !262
|
||||
// CHECK:STDOUT: call void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %.loc76, ptr %arg3, ptr %arg1), !dbg !265
|
||||
// CHECK:STDOUT: ret void, !dbg !266
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !276
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !278
|
||||
// CHECK:STDOUT: %local3.var = alloca ptr, align 8, !dbg !280
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !276
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !276
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !278
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !278
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local3.var), !dbg !280
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local3.var, align 8, !dbg !280
|
||||
// CHECK:STDOUT: %.loc75_25 = load ptr, ptr %local3.var, align 8, !dbg !283
|
||||
// CHECK:STDOUT: %.loc75_33 = load ptr, ptr %local2.var, align 8, !dbg !284
|
||||
// CHECK:STDOUT: call void @_Csecond_function.Main.efd9fcdf727c9de5(ptr %arg3, ptr %.loc75_25, ptr %.loc75_33), !dbg !285
|
||||
// CHECK:STDOUT: %.loc76 = load ptr, ptr %local1.var, align 8, !dbg !286
|
||||
// CHECK:STDOUT: call void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %.loc76, ptr %arg3, ptr %arg1), !dbg !289
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.73ffa1ae01557cf1:core.Destroy.Core"(ptr %local3.var), !dbg !280
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.680a5c6f7a3d0796:core.Destroy.Core"(ptr %local2.var), !dbg !278
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.22bdc7946a052e71:core.Destroy.Core"(ptr %local1.var), !dbg !276
|
||||
// CHECK:STDOUT: ret void, !dbg !290
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !314 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %arg1, ptr %arg2, ptr %arg3) #0 !dbg !338 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !321
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !323
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !321
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !321
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !323
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !323
|
||||
// CHECK:STDOUT: %.loc39 = load ptr, ptr %local2.var, align 8, !dbg !327
|
||||
// CHECK:STDOUT: call void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %arg1, ptr %arg2, ptr %.loc39), !dbg !328
|
||||
// CHECK:STDOUT: %.loc40 = load ptr, ptr %local1.var, align 8, !dbg !329
|
||||
// CHECK:STDOUT: call void @_Cfourth_function.Main.4da09b2222fc2513(ptr %.loc40), !dbg !330
|
||||
// CHECK:STDOUT: ret void, !dbg !331
|
||||
// CHECK:STDOUT: %local1.var = alloca ptr, align 8, !dbg !345
|
||||
// CHECK:STDOUT: %local2.var = alloca ptr, align 8, !dbg !347
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local1.var), !dbg !345
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local1.var, align 8, !dbg !345
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %local2.var), !dbg !347
|
||||
// CHECK:STDOUT: store ptr poison, ptr %local2.var, align 8, !dbg !347
|
||||
// CHECK:STDOUT: %.loc39 = load ptr, ptr %local2.var, align 8, !dbg !351
|
||||
// CHECK:STDOUT: call void @_Cthird_function.Main.1c39a3b349bf66b6(ptr %arg1, ptr %arg2, ptr %.loc39), !dbg !352
|
||||
// CHECK:STDOUT: %.loc40 = load ptr, ptr %local1.var, align 8, !dbg !353
|
||||
// CHECK:STDOUT: call void @_Cfourth_function.Main.4da09b2222fc2513(ptr %.loc40), !dbg !354
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.73ffa1ae01557cf1:core.Destroy.Core"(ptr %local2.var), !dbg !347
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.73ffa1ae01557cf1:core.Destroy.Core"(ptr %local1.var), !dbg !345
|
||||
// CHECK:STDOUT: ret void, !dbg !355
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; uselistorder directives
|
||||
@@ -180,61 +226,85 @@ fn Main_method_no_template () {
|
||||
// CHECK:STDOUT: !3 = !{i32 2, !"Debug Info Version", i32 3}
|
||||
// CHECK:STDOUT: !14 = !DIFile(filename: "self_canonical.carbon", directory: "")
|
||||
// CHECK:STDOUT: !15 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !14, producer: "carbon", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
|
||||
// CHECK:STDOUT: !16 = !{null}
|
||||
// CHECK:STDOUT: !17 = !DISubroutineType(types: !16)
|
||||
// CHECK:STDOUT: !18 = distinct !DISubprogram(name: "Main_method_no_template", linkageName: "_CMain_method_no_template.Main", scope: null, file: !14, line: 79, type: !17, spFlags: DISPFlagDefinition, unit: !15)
|
||||
// CHECK:STDOUT: !19 = !DILocation(line: 80, column: 3, scope: !18)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 82, column: 18, scope: !18)
|
||||
// CHECK:STDOUT: !22 = !DILocation(line: 82, column: 3, scope: !18)
|
||||
// CHECK:STDOUT: !23 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !24 = !{null, !23}
|
||||
// CHECK:STDOUT: !25 = !DISubroutineType(types: !24)
|
||||
// CHECK:STDOUT: !26 = !DILocation(line: 79, column: 1, scope: !18)
|
||||
// CHECK:STDOUT: !38 = !{null, !23, !23, !23}
|
||||
// CHECK:STDOUT: !39 = !DISubroutineType(types: !38)
|
||||
// CHECK:STDOUT: !168 = distinct !DISubprogram(name: "fourth_function", linkageName: "_Cfourth_function.Main.4da09b2222fc2513", scope: null, file: !14, line: 49, type: !25, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !180)
|
||||
// CHECK:STDOUT: !169 = !DILocalVariable(arg: 1, scope: !168, type: !23)
|
||||
// CHECK:STDOUT: !171 = !DILocation(line: 50, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 51, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 53, column: 18, scope: !168)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 53, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !177 = !DILocation(line: 54, column: 18, scope: !168)
|
||||
// CHECK:STDOUT: !178 = !DILocation(line: 54, column: 3, scope: !168)
|
||||
// CHECK:STDOUT: !179 = !DILocation(line: 49, column: 1, scope: !168)
|
||||
// CHECK:STDOUT: !180 = !{!169}
|
||||
// CHECK:STDOUT: !219 = distinct !DISubprogram(name: "first_function", linkageName: "_Cfirst_function.Main.ee57965601b4d646", scope: null, file: !14, line: 57, type: !25, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !231)
|
||||
// CHECK:STDOUT: !220 = !DILocalVariable(arg: 1, scope: !219, type: !23)
|
||||
// CHECK:STDOUT: !222 = !DILocation(line: 58, column: 3, scope: !219)
|
||||
// CHECK:STDOUT: !224 = !DILocation(line: 59, column: 3, scope: !219)
|
||||
// CHECK:STDOUT: !226 = !DILocation(line: 61, column: 19, scope: !219)
|
||||
// CHECK:STDOUT: !227 = !DILocation(line: 61, column: 27, scope: !219)
|
||||
// CHECK:STDOUT: !229 = !DILocation(line: 61, column: 3, scope: !219)
|
||||
// CHECK:STDOUT: !230 = !DILocation(line: 57, column: 1, scope: !219)
|
||||
// CHECK:STDOUT: !231 = !{!220}
|
||||
// CHECK:STDOUT: !245 = distinct !DISubprogram(name: "second_function", linkageName: "_Csecond_function.Main.efd9fcdf727c9de5", scope: null, file: !14, line: 70, type: !39, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !267)
|
||||
// CHECK:STDOUT: !246 = !DILocalVariable(arg: 1, scope: !245, type: !23)
|
||||
// CHECK:STDOUT: !247 = !DILocalVariable(arg: 2, scope: !245, type: !23)
|
||||
// CHECK:STDOUT: !248 = !DILocalVariable(arg: 3, scope: !245, type: !23)
|
||||
// CHECK:STDOUT: !252 = !DILocation(line: 71, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !254 = !DILocation(line: 72, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !256 = !DILocation(line: 73, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !259 = !DILocation(line: 75, column: 25, scope: !245)
|
||||
// CHECK:STDOUT: !260 = !DILocation(line: 75, column: 33, scope: !245)
|
||||
// CHECK:STDOUT: !261 = !DILocation(line: 75, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !262 = !DILocation(line: 76, column: 18, scope: !245)
|
||||
// CHECK:STDOUT: !265 = !DILocation(line: 76, column: 3, scope: !245)
|
||||
// CHECK:STDOUT: !266 = !DILocation(line: 70, column: 1, scope: !245)
|
||||
// CHECK:STDOUT: !267 = !{!246, !247, !248}
|
||||
// CHECK:STDOUT: !314 = distinct !DISubprogram(name: "third_function", linkageName: "_Cthird_function.Main.1c39a3b349bf66b6", scope: null, file: !14, line: 35, type: !39, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !332)
|
||||
// CHECK:STDOUT: !315 = !DILocalVariable(arg: 1, scope: !314, type: !23)
|
||||
// CHECK:STDOUT: !316 = !DILocalVariable(arg: 2, scope: !314, type: !23)
|
||||
// CHECK:STDOUT: !317 = !DILocalVariable(arg: 3, scope: !314, type: !23)
|
||||
// CHECK:STDOUT: !321 = !DILocation(line: 36, column: 3, scope: !314)
|
||||
// CHECK:STDOUT: !323 = !DILocation(line: 37, column: 3, scope: !314)
|
||||
// CHECK:STDOUT: !327 = !DILocation(line: 39, column: 30, scope: !314)
|
||||
// CHECK:STDOUT: !328 = !DILocation(line: 39, column: 3, scope: !314)
|
||||
// CHECK:STDOUT: !329 = !DILocation(line: 40, column: 19, scope: !314)
|
||||
// CHECK:STDOUT: !330 = !DILocation(line: 40, column: 3, scope: !314)
|
||||
// CHECK:STDOUT: !331 = !DILocation(line: 35, column: 1, scope: !314)
|
||||
// CHECK:STDOUT: !332 = !{!315, !316, !317}
|
||||
// CHECK:STDOUT: !16 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
|
||||
// CHECK:STDOUT: !17 = !{null, !16}
|
||||
// CHECK:STDOUT: !18 = !DISubroutineType(types: !17)
|
||||
// CHECK:STDOUT: !19 = !{null}
|
||||
// CHECK:STDOUT: !20 = !DISubroutineType(types: !19)
|
||||
// CHECK:STDOUT: !21 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.73ffa1ae01557cf1:core.Destroy.Core", scope: null, file: !14, line: 37, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !24)
|
||||
// CHECK:STDOUT: !22 = !DILocalVariable(arg: 1, scope: !21, type: !16)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 37, column: 3, scope: !21)
|
||||
// CHECK:STDOUT: !24 = !{!22}
|
||||
// CHECK:STDOUT: !25 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.28258e58291017cc:core.Destroy.Core", scope: null, file: !14, line: 44, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !28)
|
||||
// CHECK:STDOUT: !26 = !DILocalVariable(arg: 1, scope: !25, type: !16)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 44, column: 3, scope: !25)
|
||||
// CHECK:STDOUT: !28 = !{!26}
|
||||
// CHECK:STDOUT: !29 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.a247f3a5f241fa11:core.Destroy.Core", scope: null, file: !14, line: 50, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !32)
|
||||
// CHECK:STDOUT: !30 = !DILocalVariable(arg: 1, scope: !29, type: !16)
|
||||
// CHECK:STDOUT: !31 = !DILocation(line: 50, column: 3, scope: !29)
|
||||
// CHECK:STDOUT: !32 = !{!30}
|
||||
// CHECK:STDOUT: !33 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.22bdc7946a052e71:core.Destroy.Core", scope: null, file: !14, line: 59, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !36)
|
||||
// CHECK:STDOUT: !34 = !DILocalVariable(arg: 1, scope: !33, type: !16)
|
||||
// CHECK:STDOUT: !35 = !DILocation(line: 59, column: 3, scope: !33)
|
||||
// CHECK:STDOUT: !36 = !{!34}
|
||||
// CHECK:STDOUT: !37 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.680a5c6f7a3d0796:core.Destroy.Core", scope: null, file: !14, line: 58, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !40)
|
||||
// CHECK:STDOUT: !38 = !DILocalVariable(arg: 1, scope: !37, type: !16)
|
||||
// CHECK:STDOUT: !39 = !DILocation(line: 58, column: 3, scope: !37)
|
||||
// CHECK:STDOUT: !40 = !{!38}
|
||||
// CHECK:STDOUT: !41 = distinct !DISubprogram(name: "Main_method_no_template", linkageName: "_CMain_method_no_template.Main", scope: null, file: !14, line: 79, type: !20, spFlags: DISPFlagDefinition, unit: !15)
|
||||
// CHECK:STDOUT: !42 = !DILocation(line: 80, column: 3, scope: !41)
|
||||
// CHECK:STDOUT: !44 = !DILocation(line: 82, column: 18, scope: !41)
|
||||
// CHECK:STDOUT: !45 = !DILocation(line: 82, column: 3, scope: !41)
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 79, column: 1, scope: !41)
|
||||
// CHECK:STDOUT: !47 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.a79cf9479d679a84:core.Destroy.Core", scope: null, file: !14, line: 80, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !50)
|
||||
// CHECK:STDOUT: !48 = !DILocalVariable(arg: 1, scope: !47, type: !16)
|
||||
// CHECK:STDOUT: !49 = !DILocation(line: 80, column: 3, scope: !47)
|
||||
// CHECK:STDOUT: !50 = !{!48}
|
||||
// CHECK:STDOUT: !62 = !{null, !16, !16, !16}
|
||||
// CHECK:STDOUT: !63 = !DISubroutineType(types: !62)
|
||||
// CHECK:STDOUT: !192 = distinct !DISubprogram(name: "fourth_function", linkageName: "_Cfourth_function.Main.4da09b2222fc2513", scope: null, file: !14, line: 49, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !204)
|
||||
// CHECK:STDOUT: !193 = !DILocalVariable(arg: 1, scope: !192, type: !16)
|
||||
// CHECK:STDOUT: !195 = !DILocation(line: 50, column: 3, scope: !192)
|
||||
// CHECK:STDOUT: !197 = !DILocation(line: 51, column: 3, scope: !192)
|
||||
// CHECK:STDOUT: !199 = !DILocation(line: 53, column: 18, scope: !192)
|
||||
// CHECK:STDOUT: !200 = !DILocation(line: 53, column: 3, scope: !192)
|
||||
// CHECK:STDOUT: !201 = !DILocation(line: 54, column: 18, scope: !192)
|
||||
// CHECK:STDOUT: !202 = !DILocation(line: 54, column: 3, scope: !192)
|
||||
// CHECK:STDOUT: !203 = !DILocation(line: 49, column: 1, scope: !192)
|
||||
// CHECK:STDOUT: !204 = !{!193}
|
||||
// CHECK:STDOUT: !243 = distinct !DISubprogram(name: "first_function", linkageName: "_Cfirst_function.Main.ee57965601b4d646", scope: null, file: !14, line: 57, type: !18, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !255)
|
||||
// CHECK:STDOUT: !244 = !DILocalVariable(arg: 1, scope: !243, type: !16)
|
||||
// CHECK:STDOUT: !246 = !DILocation(line: 58, column: 3, scope: !243)
|
||||
// CHECK:STDOUT: !248 = !DILocation(line: 59, column: 3, scope: !243)
|
||||
// CHECK:STDOUT: !250 = !DILocation(line: 61, column: 19, scope: !243)
|
||||
// CHECK:STDOUT: !251 = !DILocation(line: 61, column: 27, scope: !243)
|
||||
// CHECK:STDOUT: !253 = !DILocation(line: 61, column: 3, scope: !243)
|
||||
// CHECK:STDOUT: !254 = !DILocation(line: 57, column: 1, scope: !243)
|
||||
// CHECK:STDOUT: !255 = !{!244}
|
||||
// CHECK:STDOUT: !269 = distinct !DISubprogram(name: "second_function", linkageName: "_Csecond_function.Main.efd9fcdf727c9de5", scope: null, file: !14, line: 70, type: !63, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !291)
|
||||
// CHECK:STDOUT: !270 = !DILocalVariable(arg: 1, scope: !269, type: !16)
|
||||
// CHECK:STDOUT: !271 = !DILocalVariable(arg: 2, scope: !269, type: !16)
|
||||
// CHECK:STDOUT: !272 = !DILocalVariable(arg: 3, scope: !269, type: !16)
|
||||
// CHECK:STDOUT: !276 = !DILocation(line: 71, column: 3, scope: !269)
|
||||
// CHECK:STDOUT: !278 = !DILocation(line: 72, column: 3, scope: !269)
|
||||
// CHECK:STDOUT: !280 = !DILocation(line: 73, column: 3, scope: !269)
|
||||
// CHECK:STDOUT: !283 = !DILocation(line: 75, column: 25, scope: !269)
|
||||
// CHECK:STDOUT: !284 = !DILocation(line: 75, column: 33, scope: !269)
|
||||
// CHECK:STDOUT: !285 = !DILocation(line: 75, column: 3, scope: !269)
|
||||
// CHECK:STDOUT: !286 = !DILocation(line: 76, column: 18, scope: !269)
|
||||
// CHECK:STDOUT: !289 = !DILocation(line: 76, column: 3, scope: !269)
|
||||
// CHECK:STDOUT: !290 = !DILocation(line: 70, column: 1, scope: !269)
|
||||
// CHECK:STDOUT: !291 = !{!270, !271, !272}
|
||||
// CHECK:STDOUT: !338 = distinct !DISubprogram(name: "third_function", linkageName: "_Cthird_function.Main.1c39a3b349bf66b6", scope: null, file: !14, line: 35, type: !63, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !356)
|
||||
// CHECK:STDOUT: !339 = !DILocalVariable(arg: 1, scope: !338, type: !16)
|
||||
// CHECK:STDOUT: !340 = !DILocalVariable(arg: 2, scope: !338, type: !16)
|
||||
// CHECK:STDOUT: !341 = !DILocalVariable(arg: 3, scope: !338, type: !16)
|
||||
// CHECK:STDOUT: !345 = !DILocation(line: 36, column: 3, scope: !338)
|
||||
// CHECK:STDOUT: !347 = !DILocation(line: 37, column: 3, scope: !338)
|
||||
// CHECK:STDOUT: !351 = !DILocation(line: 39, column: 30, scope: !338)
|
||||
// CHECK:STDOUT: !352 = !DILocation(line: 39, column: 3, scope: !338)
|
||||
// CHECK:STDOUT: !353 = !DILocation(line: 40, column: 19, scope: !338)
|
||||
// CHECK:STDOUT: !354 = !DILocation(line: 40, column: 3, scope: !338)
|
||||
// CHECK:STDOUT: !355 = !DILocation(line: 35, column: 1, scope: !338)
|
||||
// CHECK:STDOUT: !356 = !{!339, !340, !341}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
+250
-174
@@ -87,169 +87,217 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) {
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define i32 @_CF_i32.Main(i32 %a) #0 !dbg !40 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.f93d238dac954dee(i32 %a), !dbg !46
|
||||
// CHECK:STDOUT: %F.call = call i32 @_CF.Main.804fd121057d1d93(i32 %a), !dbg !46
|
||||
// CHECK:STDOUT: ret i32 %F.call, !dbg !47
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !49 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core"(ptr %self) #0 !dbg !49 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !51
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @"_COp.X.Main:Copy.Main"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !53 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc38_24.1.a = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !58
|
||||
// CHECK:STDOUT: %.loc38_24.2 = load i32, ptr %.loc38_24.1.a, align 4, !dbg !58
|
||||
// CHECK:STDOUT: %.loc38_37.1.b = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 1, !dbg !59
|
||||
// CHECK:STDOUT: %.loc38_37.2 = load i32, ptr %.loc38_37.1.b, align 4, !dbg !59
|
||||
// CHECK:STDOUT: %.loc38_39.2.a = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !60
|
||||
// CHECK:STDOUT: store i32 %.loc38_24.2, ptr %.loc38_39.2.a, align 4, !dbg !60
|
||||
// CHECK:STDOUT: %.loc38_39.4.b = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 1, !dbg !60
|
||||
// CHECK:STDOUT: store i32 %.loc38_37.2, ptr %.loc38_39.4.b, align 4, !dbg !60
|
||||
// CHECK:STDOUT: ret void, !dbg !61
|
||||
// CHECK:STDOUT: ret void, !dbg !55
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CF_X.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !63 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %self) #0 !dbg !57 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.5edf9c632b3db7a5(ptr %return, ptr %a), !dbg !69
|
||||
// CHECK:STDOUT: ret void, !dbg !70
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core"(ptr %self), !dbg !59
|
||||
// CHECK:STDOUT: ret void, !dbg !59
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.b4c762864cd9a02b:core.Destroy.Core"(ptr %self) #0 !dbg !72 {
|
||||
// CHECK:STDOUT: define void @"_COp.X.Main:Copy.Main"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !61 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !74
|
||||
// CHECK:STDOUT: %.loc38_24.1.a = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !66
|
||||
// CHECK:STDOUT: %.loc38_24.2 = load i32, ptr %.loc38_24.1.a, align 4, !dbg !66
|
||||
// CHECK:STDOUT: %.loc38_37.1.b = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 1, !dbg !67
|
||||
// CHECK:STDOUT: %.loc38_37.2 = load i32, ptr %.loc38_37.1.b, align 4, !dbg !67
|
||||
// CHECK:STDOUT: %.loc38_39.2.a = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !68
|
||||
// CHECK:STDOUT: store i32 %.loc38_24.2, ptr %.loc38_39.2.a, align 4, !dbg !68
|
||||
// CHECK:STDOUT: %.loc38_39.4.b = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 1, !dbg !68
|
||||
// CHECK:STDOUT: store i32 %.loc38_37.2, ptr %.loc38_39.4.b, align 4, !dbg !68
|
||||
// CHECK:STDOUT: ret void, !dbg !69
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.8b0bf151036f045a:core.Destroy.Core"(ptr %self) #0 !dbg !76 {
|
||||
// CHECK:STDOUT: define void @_CF_X.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !71 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.9d368fc2e01d20c2(ptr %return, ptr %a), !dbg !77
|
||||
// CHECK:STDOUT: ret void, !dbg !78
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @"_COp.61ea2aba74ab3bf1:Copy.Main"() #0 !dbg !80 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.b4c762864cd9a02b:core.Destroy.Core"(ptr %self) #0 !dbg !80 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !84
|
||||
// CHECK:STDOUT: ret void, !dbg !82
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CF_empty_tuple.Main() #0 !dbg !85 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.b4c762864cd9a02b:core.Destroy.Core"(ptr %self) #0 !dbg !84 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.437db137e54a21c0(), !dbg !90
|
||||
// CHECK:STDOUT: ret void, !dbg !91
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.b4c762864cd9a02b:core.Destroy.Core"(ptr %self), !dbg !86
|
||||
// CHECK:STDOUT: ret void, !dbg !86
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @"_COp.e554695bf635d9c1:Copy.Main"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !92 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.8b0bf151036f045a:core.Destroy.Core"(ptr %self) #0 !dbg !88 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !97
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.1.tuple.elem.load = load i32, ptr %tuple.elem0.loc59_12.1.tuple.elem, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.2.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !97
|
||||
// CHECK:STDOUT: store i32 %tuple.elem0.loc59_12.1.tuple.elem.load, ptr %tuple.elem0.loc59_12.2.tuple.elem, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 1, !dbg !97
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.1.tuple.elem.load = load i32, ptr %tuple.elem1.loc59_12.1.tuple.elem, align 4, !dbg !97
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.2.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 1, !dbg !97
|
||||
// CHECK:STDOUT: store i32 %tuple.elem1.loc59_12.1.tuple.elem.load, ptr %tuple.elem1.loc59_12.2.tuple.elem, align 4, !dbg !97
|
||||
// CHECK:STDOUT: ret void, !dbg !98
|
||||
// CHECK:STDOUT: ret void, !dbg !90
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CF_two_tuple.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !100 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.8b0bf151036f045a:core.Destroy.Core"(ptr %self) #0 !dbg !92 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.b069b9e27a2f3b24(ptr %return, ptr %a), !dbg !106
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.8b0bf151036f045a:core.Destroy.Core"(ptr %self), !dbg !94
|
||||
// CHECK:STDOUT: ret void, !dbg !94
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @"_COp.61ea2aba74ab3bf1:Copy.Main"() #0 !dbg !96 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !100
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CF_empty_tuple.Main() #0 !dbg !101 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.a5d0440dfa027ffe(), !dbg !106
|
||||
// CHECK:STDOUT: ret void, !dbg !107
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.e554695bf635d9c1:core.Destroy.Core"(ptr %self) #0 !dbg !109 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.61ea2aba74ab3bf1:core.Destroy.Core"(ptr %self) #0 !dbg !108 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !111
|
||||
// CHECK:STDOUT: ret void, !dbg !110
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %self) #0 !dbg !113 {
|
||||
// CHECK:STDOUT: define void @"_COp.e554695bf635d9c1:Copy.Main"(ptr sret({ i32, i32 }) %return, ptr %self) #0 !dbg !112 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_17.tuple.elem = getelementptr inbounds nuw { ptr, ptr }, ptr %self, i32 0, i32 0, !dbg !118
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_17.tuple.elem.load = load ptr, ptr %tuple.elem0.loc69_17.tuple.elem, align 8, !dbg !118
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_51.tuple.elem = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 0, !dbg !119
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %tuple.elem0.loc69_51.tuple.elem, ptr %tuple.elem0.loc69_17.tuple.elem.load), !dbg !118
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_37.tuple.elem = getelementptr inbounds nuw { ptr, ptr }, ptr %self, i32 0, i32 1, !dbg !120
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_37.tuple.elem.load = load ptr, ptr %tuple.elem1.loc69_37.tuple.elem, align 8, !dbg !120
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_51.tuple.elem = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 1, !dbg !119
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %tuple.elem1.loc69_51.tuple.elem, ptr %tuple.elem1.loc69_37.tuple.elem.load), !dbg !120
|
||||
// CHECK:STDOUT: ret void, !dbg !121
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 0, !dbg !117
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.1.tuple.elem.load = load i32, ptr %tuple.elem0.loc59_12.1.tuple.elem, align 4, !dbg !117
|
||||
// CHECK:STDOUT: %tuple.elem0.loc59_12.2.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 0, !dbg !117
|
||||
// CHECK:STDOUT: store i32 %tuple.elem0.loc59_12.1.tuple.elem.load, ptr %tuple.elem0.loc59_12.2.tuple.elem, align 4, !dbg !117
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.1.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %self, i32 0, i32 1, !dbg !117
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.1.tuple.elem.load = load i32, ptr %tuple.elem1.loc59_12.1.tuple.elem, align 4, !dbg !117
|
||||
// CHECK:STDOUT: %tuple.elem1.loc59_12.2.tuple.elem = getelementptr inbounds nuw { i32, i32 }, ptr %return, i32 0, i32 1, !dbg !117
|
||||
// CHECK:STDOUT: store i32 %tuple.elem1.loc59_12.1.tuple.elem.load, ptr %tuple.elem1.loc59_12.2.tuple.elem, align 4, !dbg !117
|
||||
// CHECK:STDOUT: ret void, !dbg !118
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define void @_CF_nested_tuple.Main(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !123 {
|
||||
// CHECK:STDOUT: define void @_CF_two_tuple.Main(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !120 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CF.Main.f320bf07a6b502ca(ptr %return, ptr %a), !dbg !129
|
||||
// CHECK:STDOUT: ret void, !dbg !130
|
||||
// CHECK:STDOUT: call void @_CF.Main.25802053f9465fe8(ptr %return, ptr %a), !dbg !126
|
||||
// CHECK:STDOUT: ret void, !dbg !127
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define weak_odr void @"_COp.ae1e3622d7875d32:core.Destroy.Core"(ptr %self) #0 !dbg !132 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.e554695bf635d9c1:core.Destroy.Core"(ptr %self) #0 !dbg !129 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: ret void, !dbg !134
|
||||
// CHECK:STDOUT: ret void, !dbg !131
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.f93d238dac954dee(i32 %a) #0 !dbg !136 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.e554695bf635d9c1:core.Destroy.Core"(ptr %self) #0 !dbg !133 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca i32, align 4, !dbg !141
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !141
|
||||
// CHECK:STDOUT: %Copy.WithSelf.Op.call.loc18 = call i32 @"_COp.Int.be1e879c1ad406d8.Core:Copy.Main"(i32 %a), !dbg !142
|
||||
// CHECK:STDOUT: store i32 %Copy.WithSelf.Op.call.loc18, ptr %_.var, align 4, !dbg !141
|
||||
// CHECK:STDOUT: %Copy.WithSelf.Op.call.loc19 = call i32 @"_COp.Int.be1e879c1ad406d8.Core:Copy.Main"(i32 %a), !dbg !144
|
||||
// CHECK:STDOUT: call void @"_COp.f58524831c37807e:core.Destroy.Core"(ptr %_.var), !dbg !141
|
||||
// CHECK:STDOUT: ret i32 %Copy.WithSelf.Op.call.loc19, !dbg !145
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.e554695bf635d9c1:core.Destroy.Core"(ptr %self), !dbg !135
|
||||
// CHECK:STDOUT: ret void, !dbg !135
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.5edf9c632b3db7a5(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !147 {
|
||||
// CHECK:STDOUT: define void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %self) #0 !dbg !137 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !152
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !152
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %_.var, ptr %a), !dbg !153
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %return, ptr %a), !dbg !155
|
||||
// CHECK:STDOUT: call void @"_COp.8b0bf151036f045a:core.Destroy.Core"(ptr %_.var), !dbg !152
|
||||
// CHECK:STDOUT: ret void, !dbg !156
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_17.tuple.elem = getelementptr inbounds nuw { ptr, ptr }, ptr %self, i32 0, i32 0, !dbg !142
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_17.tuple.elem.load = load ptr, ptr %tuple.elem0.loc69_17.tuple.elem, align 8, !dbg !142
|
||||
// CHECK:STDOUT: %tuple.elem0.loc69_51.tuple.elem = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 0, !dbg !143
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %tuple.elem0.loc69_51.tuple.elem, ptr %tuple.elem0.loc69_17.tuple.elem.load), !dbg !142
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_37.tuple.elem = getelementptr inbounds nuw { ptr, ptr }, ptr %self, i32 0, i32 1, !dbg !144
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_37.tuple.elem.load = load ptr, ptr %tuple.elem1.loc69_37.tuple.elem, align 8, !dbg !144
|
||||
// CHECK:STDOUT: %tuple.elem1.loc69_51.tuple.elem = getelementptr inbounds nuw { { i32, i32 }, { i32, i32 } }, ptr %return, i32 0, i32 1, !dbg !143
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %tuple.elem1.loc69_51.tuple.elem, ptr %tuple.elem1.loc69_37.tuple.elem.load), !dbg !144
|
||||
// CHECK:STDOUT: ret void, !dbg !145
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.437db137e54a21c0() #0 !dbg !158 {
|
||||
// CHECK:STDOUT: define void @_CF_nested_tuple.Main(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !147 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca {}, align 1, !dbg !162
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !162
|
||||
// CHECK:STDOUT: call void @"_COp.61ea2aba74ab3bf1:Copy.Main"(), !dbg !163
|
||||
// CHECK:STDOUT: call void @"_COp.61ea2aba74ab3bf1:Copy.Main"(), !dbg !165
|
||||
// CHECK:STDOUT: ret void, !dbg !166
|
||||
// CHECK:STDOUT: call void @_CF.Main.f37d80e656707351(ptr %return, ptr %a), !dbg !153
|
||||
// CHECK:STDOUT: ret void, !dbg !154
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.b069b9e27a2f3b24(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !167 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSubobjectDestroy.ae1e3622d7875d32:core.Destroy.Core"(ptr %self) #0 !dbg !156 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !172
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !172
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %_.var, ptr %a), !dbg !173
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %return, ptr %a), !dbg !175
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:core.Destroy.Core"(ptr %_.var), !dbg !172
|
||||
// CHECK:STDOUT: ret void, !dbg !176
|
||||
// CHECK:STDOUT: ret void, !dbg !158
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.f320bf07a6b502ca(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !178 {
|
||||
// CHECK:STDOUT: define weak_odr void @"_CSelfDestruct.ae1e3622d7875d32:core.Destroy.Core"(ptr %self) #0 !dbg !160 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { { i32, i32 }, { i32, i32 } }, align 4, !dbg !183
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !183
|
||||
// CHECK:STDOUT: call void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr %_.var, ptr %a), !dbg !184
|
||||
// CHECK:STDOUT: call void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr %return, ptr %a), !dbg !186
|
||||
// CHECK:STDOUT: call void @"_COp.ae1e3622d7875d32:core.Destroy.Core"(ptr %_.var), !dbg !183
|
||||
// CHECK:STDOUT: ret void, !dbg !187
|
||||
// CHECK:STDOUT: call void @"_CSubobjectDestroy.ae1e3622d7875d32:core.Destroy.Core"(ptr %self), !dbg !162
|
||||
// CHECK:STDOUT: ret void, !dbg !162
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CF.Main.804fd121057d1d93(i32 %a) #0 !dbg !164 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca i32, align 4, !dbg !169
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !169
|
||||
// CHECK:STDOUT: %Copy.WithSelf.Op.call.loc18 = call i32 @"_COp.Int.be1e879c1ad406d8.Core:Copy.Main"(i32 %a), !dbg !170
|
||||
// CHECK:STDOUT: store i32 %Copy.WithSelf.Op.call.loc18, ptr %_.var, align 4, !dbg !169
|
||||
// CHECK:STDOUT: %Copy.WithSelf.Op.call.loc19 = call i32 @"_COp.Int.be1e879c1ad406d8.Core:Copy.Main"(i32 %a), !dbg !172
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.f58524831c37807e:core.Destroy.Core"(ptr %_.var), !dbg !169
|
||||
// CHECK:STDOUT: ret i32 %Copy.WithSelf.Op.call.loc19, !dbg !173
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.9d368fc2e01d20c2(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !175 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !180
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !180
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %_.var, ptr %a), !dbg !181
|
||||
// CHECK:STDOUT: call void @"_COp.X.Main:Copy.Main"(ptr %return, ptr %a), !dbg !183
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.8b0bf151036f045a:core.Destroy.Core"(ptr %_.var), !dbg !180
|
||||
// CHECK:STDOUT: ret void, !dbg !184
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.a5d0440dfa027ffe() #0 !dbg !186 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca {}, align 1, !dbg !190
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !190
|
||||
// CHECK:STDOUT: call void @"_COp.61ea2aba74ab3bf1:Copy.Main"(), !dbg !191
|
||||
// CHECK:STDOUT: call void @"_COp.61ea2aba74ab3bf1:Copy.Main"(), !dbg !193
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.61ea2aba74ab3bf1:core.Destroy.Core"(ptr %_.var), !dbg !190
|
||||
// CHECK:STDOUT: ret void, !dbg !194
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.25802053f9465fe8(ptr sret({ i32, i32 }) %return, ptr %a) #0 !dbg !195 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { i32, i32 }, align 4, !dbg !200
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !200
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %_.var, ptr %a), !dbg !201
|
||||
// CHECK:STDOUT: call void @"_COp.e554695bf635d9c1:Copy.Main"(ptr %return, ptr %a), !dbg !203
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.e554695bf635d9c1:core.Destroy.Core"(ptr %_.var), !dbg !200
|
||||
// CHECK:STDOUT: ret void, !dbg !204
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nounwind
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CF.Main.f37d80e656707351(ptr sret({ { i32, i32 }, { i32, i32 } }) %return, ptr %a) #0 !dbg !206 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %_.var = alloca { { i32, i32 }, { i32, i32 } }, align 4, !dbg !211
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !211
|
||||
// CHECK:STDOUT: call void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr %_.var, ptr %a), !dbg !212
|
||||
// CHECK:STDOUT: call void @"_COp.ae1e3622d7875d32:Copy.Main"(ptr %return, ptr %a), !dbg !214
|
||||
// CHECK:STDOUT: call void @"_CSelfDestruct.ae1e3622d7875d32:core.Destroy.Core"(ptr %_.var), !dbg !211
|
||||
// CHECK:STDOUT: ret void, !dbg !215
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
|
||||
@@ -289,96 +337,124 @@ fn F_nested_tuple(a: ((i32, i32), X)) -> ((i32, i32), X) {
|
||||
// CHECK:STDOUT: !46 = !DILocation(line: 29, column: 10, scope: !40)
|
||||
// CHECK:STDOUT: !47 = !DILocation(line: 29, column: 3, scope: !40)
|
||||
// CHECK:STDOUT: !48 = !{!41}
|
||||
// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "Op", linkageName: "_COp.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 29, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !52)
|
||||
// CHECK:STDOUT: !49 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.6dae29ece9a708c4:core.Destroy.Core", scope: null, file: !18, line: 29, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !52)
|
||||
// CHECK:STDOUT: !50 = !DILocalVariable(arg: 1, scope: !49, type: !20)
|
||||
// CHECK:STDOUT: !51 = !DILocation(line: 29, column: 10, scope: !49)
|
||||
// CHECK:STDOUT: !52 = !{!50}
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "Op", linkageName: "_COp.X.Main:Copy.Main", scope: null, file: !18, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !62)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !25)
|
||||
// CHECK:STDOUT: !58 = !DILocation(line: 38, column: 20, scope: !53)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 38, column: 33, scope: !53)
|
||||
// CHECK:STDOUT: !60 = !DILocation(line: 38, column: 14, scope: !53)
|
||||
// CHECK:STDOUT: !61 = !DILocation(line: 38, column: 7, scope: !53)
|
||||
// CHECK:STDOUT: !62 = !{!54}
|
||||
// CHECK:STDOUT: !63 = distinct !DISubprogram(name: "F_X", linkageName: "_CF_X.Main", scope: null, file: !18, line: 43, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !71)
|
||||
// CHECK:STDOUT: !64 = !DILocalVariable(arg: 1, scope: !63, type: !25)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 44, column: 10, scope: !63)
|
||||
// CHECK:STDOUT: !70 = !DILocation(line: 44, column: 3, scope: !63)
|
||||
// CHECK:STDOUT: !71 = !{!64}
|
||||
// CHECK:STDOUT: !72 = distinct !DISubprogram(name: "Op", linkageName: "_COp.b4c762864cd9a02b:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !75)
|
||||
// CHECK:STDOUT: !73 = !DILocalVariable(arg: 1, scope: !72, type: !25)
|
||||
// CHECK:STDOUT: !74 = !DILocation(line: 44, column: 10, scope: !72)
|
||||
// CHECK:STDOUT: !75 = !{!73}
|
||||
// CHECK:STDOUT: !76 = distinct !DISubprogram(name: "Op", linkageName: "_COp.8b0bf151036f045a:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !77 = !DILocalVariable(arg: 1, scope: !76, type: !25)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 44, column: 10, scope: !76)
|
||||
// CHECK:STDOUT: !79 = !{!77}
|
||||
// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "Op", linkageName: "_COp.61ea2aba74ab3bf1:Copy.Main", scope: null, file: !18, line: 48, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !84 = !DILocation(line: 49, column: 5, scope: !80)
|
||||
// CHECK:STDOUT: !85 = distinct !DISubprogram(name: "F_empty_tuple", linkageName: "_CF_empty_tuple.Main", scope: null, file: !18, line: 53, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 54, column: 10, scope: !85)
|
||||
// CHECK:STDOUT: !91 = !DILocation(line: 54, column: 3, scope: !85)
|
||||
// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e554695bf635d9c1:Copy.Main", scope: null, file: !18, line: 58, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !99)
|
||||
// CHECK:STDOUT: !53 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 29, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !56)
|
||||
// CHECK:STDOUT: !54 = !DILocalVariable(arg: 1, scope: !53, type: !20)
|
||||
// CHECK:STDOUT: !55 = !DILocation(line: 29, column: 10, scope: !53)
|
||||
// CHECK:STDOUT: !56 = !{!54}
|
||||
// CHECK:STDOUT: !57 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.f58524831c37807e:core.Destroy.Core", scope: null, file: !18, line: 29, type: !24, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !60)
|
||||
// CHECK:STDOUT: !58 = !DILocalVariable(arg: 1, scope: !57, type: !20)
|
||||
// CHECK:STDOUT: !59 = !DILocation(line: 29, column: 10, scope: !57)
|
||||
// CHECK:STDOUT: !60 = !{!58}
|
||||
// CHECK:STDOUT: !61 = distinct !DISubprogram(name: "Op", linkageName: "_COp.X.Main:Copy.Main", scope: null, file: !18, line: 37, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !70)
|
||||
// CHECK:STDOUT: !62 = !DILocalVariable(arg: 1, scope: !61, type: !25)
|
||||
// CHECK:STDOUT: !66 = !DILocation(line: 38, column: 20, scope: !61)
|
||||
// CHECK:STDOUT: !67 = !DILocation(line: 38, column: 33, scope: !61)
|
||||
// CHECK:STDOUT: !68 = !DILocation(line: 38, column: 14, scope: !61)
|
||||
// CHECK:STDOUT: !69 = !DILocation(line: 38, column: 7, scope: !61)
|
||||
// CHECK:STDOUT: !70 = !{!62}
|
||||
// CHECK:STDOUT: !71 = distinct !DISubprogram(name: "F_X", linkageName: "_CF_X.Main", scope: null, file: !18, line: 43, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !79)
|
||||
// CHECK:STDOUT: !72 = !DILocalVariable(arg: 1, scope: !71, type: !25)
|
||||
// CHECK:STDOUT: !77 = !DILocation(line: 44, column: 10, scope: !71)
|
||||
// CHECK:STDOUT: !78 = !DILocation(line: 44, column: 3, scope: !71)
|
||||
// CHECK:STDOUT: !79 = !{!72}
|
||||
// CHECK:STDOUT: !80 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.b4c762864cd9a02b:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !83)
|
||||
// CHECK:STDOUT: !81 = !DILocalVariable(arg: 1, scope: !80, type: !25)
|
||||
// CHECK:STDOUT: !82 = !DILocation(line: 44, column: 10, scope: !80)
|
||||
// CHECK:STDOUT: !83 = !{!81}
|
||||
// CHECK:STDOUT: !84 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.b4c762864cd9a02b:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !87)
|
||||
// CHECK:STDOUT: !85 = !DILocalVariable(arg: 1, scope: !84, type: !25)
|
||||
// CHECK:STDOUT: !86 = !DILocation(line: 44, column: 10, scope: !84)
|
||||
// CHECK:STDOUT: !87 = !{!85}
|
||||
// CHECK:STDOUT: !88 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.8b0bf151036f045a:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !91)
|
||||
// CHECK:STDOUT: !89 = !DILocalVariable(arg: 1, scope: !88, type: !25)
|
||||
// CHECK:STDOUT: !90 = !DILocation(line: 44, column: 10, scope: !88)
|
||||
// CHECK:STDOUT: !91 = !{!89}
|
||||
// CHECK:STDOUT: !92 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.8b0bf151036f045a:core.Destroy.Core", scope: null, file: !18, line: 44, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !95)
|
||||
// CHECK:STDOUT: !93 = !DILocalVariable(arg: 1, scope: !92, type: !25)
|
||||
// CHECK:STDOUT: !97 = !DILocation(line: 59, column: 12, scope: !92)
|
||||
// CHECK:STDOUT: !98 = !DILocation(line: 59, column: 5, scope: !92)
|
||||
// CHECK:STDOUT: !99 = !{!93}
|
||||
// CHECK:STDOUT: !100 = distinct !DISubprogram(name: "F_two_tuple", linkageName: "_CF_two_tuple.Main", scope: null, file: !18, line: 63, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !108)
|
||||
// CHECK:STDOUT: !101 = !DILocalVariable(arg: 1, scope: !100, type: !25)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 64, column: 10, scope: !100)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 64, column: 3, scope: !100)
|
||||
// CHECK:STDOUT: !108 = !{!101}
|
||||
// CHECK:STDOUT: !109 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e554695bf635d9c1:core.Destroy.Core", scope: null, file: !18, line: 64, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !112)
|
||||
// CHECK:STDOUT: !110 = !DILocalVariable(arg: 1, scope: !109, type: !25)
|
||||
// CHECK:STDOUT: !111 = !DILocation(line: 64, column: 10, scope: !109)
|
||||
// CHECK:STDOUT: !112 = !{!110}
|
||||
// CHECK:STDOUT: !113 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ae1e3622d7875d32:Copy.Main", scope: null, file: !18, line: 68, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !122)
|
||||
// CHECK:STDOUT: !114 = !DILocalVariable(arg: 1, scope: !113, type: !25)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 69, column: 13, scope: !113)
|
||||
// CHECK:STDOUT: !119 = !DILocation(line: 69, column: 12, scope: !113)
|
||||
// CHECK:STDOUT: !120 = !DILocation(line: 69, column: 33, scope: !113)
|
||||
// CHECK:STDOUT: !121 = !DILocation(line: 69, column: 5, scope: !113)
|
||||
// CHECK:STDOUT: !122 = !{!114}
|
||||
// CHECK:STDOUT: !123 = distinct !DISubprogram(name: "F_nested_tuple", linkageName: "_CF_nested_tuple.Main", scope: null, file: !18, line: 73, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !131)
|
||||
// CHECK:STDOUT: !124 = !DILocalVariable(arg: 1, scope: !123, type: !25)
|
||||
// CHECK:STDOUT: !129 = !DILocation(line: 74, column: 10, scope: !123)
|
||||
// CHECK:STDOUT: !130 = !DILocation(line: 74, column: 3, scope: !123)
|
||||
// CHECK:STDOUT: !131 = !{!124}
|
||||
// CHECK:STDOUT: !132 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ae1e3622d7875d32:core.Destroy.Core", scope: null, file: !18, line: 74, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !135)
|
||||
// CHECK:STDOUT: !133 = !DILocalVariable(arg: 1, scope: !132, type: !25)
|
||||
// CHECK:STDOUT: !134 = !DILocation(line: 74, column: 10, scope: !132)
|
||||
// CHECK:STDOUT: !135 = !{!133}
|
||||
// CHECK:STDOUT: !136 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.f93d238dac954dee", scope: null, file: !18, line: 17, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !146)
|
||||
// CHECK:STDOUT: !137 = !DILocalVariable(arg: 1, scope: !136, type: !20)
|
||||
// CHECK:STDOUT: !141 = !DILocation(line: 18, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 18, column: 14, scope: !136)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 19, column: 10, scope: !136)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 19, column: 3, scope: !136)
|
||||
// CHECK:STDOUT: !146 = !{!137}
|
||||
// CHECK:STDOUT: !147 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.5edf9c632b3db7a5", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !157)
|
||||
// CHECK:STDOUT: !94 = !DILocation(line: 44, column: 10, scope: !92)
|
||||
// CHECK:STDOUT: !95 = !{!93}
|
||||
// CHECK:STDOUT: !96 = distinct !DISubprogram(name: "Op", linkageName: "_COp.61ea2aba74ab3bf1:Copy.Main", scope: null, file: !18, line: 48, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !100 = !DILocation(line: 49, column: 5, scope: !96)
|
||||
// CHECK:STDOUT: !101 = distinct !DISubprogram(name: "F_empty_tuple", linkageName: "_CF_empty_tuple.Main", scope: null, file: !18, line: 53, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !106 = !DILocation(line: 54, column: 10, scope: !101)
|
||||
// CHECK:STDOUT: !107 = !DILocation(line: 54, column: 3, scope: !101)
|
||||
// CHECK:STDOUT: !108 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.61ea2aba74ab3bf1:core.Destroy.Core", scope: null, file: !18, line: 54, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !111)
|
||||
// CHECK:STDOUT: !109 = !DILocalVariable(arg: 1, scope: !108, type: !25)
|
||||
// CHECK:STDOUT: !110 = !DILocation(line: 54, column: 10, scope: !108)
|
||||
// CHECK:STDOUT: !111 = !{!109}
|
||||
// CHECK:STDOUT: !112 = distinct !DISubprogram(name: "Op", linkageName: "_COp.e554695bf635d9c1:Copy.Main", scope: null, file: !18, line: 58, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !119)
|
||||
// CHECK:STDOUT: !113 = !DILocalVariable(arg: 1, scope: !112, type: !25)
|
||||
// CHECK:STDOUT: !117 = !DILocation(line: 59, column: 12, scope: !112)
|
||||
// CHECK:STDOUT: !118 = !DILocation(line: 59, column: 5, scope: !112)
|
||||
// CHECK:STDOUT: !119 = !{!113}
|
||||
// CHECK:STDOUT: !120 = distinct !DISubprogram(name: "F_two_tuple", linkageName: "_CF_two_tuple.Main", scope: null, file: !18, line: 63, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !128)
|
||||
// CHECK:STDOUT: !121 = !DILocalVariable(arg: 1, scope: !120, type: !25)
|
||||
// CHECK:STDOUT: !126 = !DILocation(line: 64, column: 10, scope: !120)
|
||||
// CHECK:STDOUT: !127 = !DILocation(line: 64, column: 3, scope: !120)
|
||||
// CHECK:STDOUT: !128 = !{!121}
|
||||
// CHECK:STDOUT: !129 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.e554695bf635d9c1:core.Destroy.Core", scope: null, file: !18, line: 64, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !132)
|
||||
// CHECK:STDOUT: !130 = !DILocalVariable(arg: 1, scope: !129, type: !25)
|
||||
// CHECK:STDOUT: !131 = !DILocation(line: 64, column: 10, scope: !129)
|
||||
// CHECK:STDOUT: !132 = !{!130}
|
||||
// CHECK:STDOUT: !133 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.e554695bf635d9c1:core.Destroy.Core", scope: null, file: !18, line: 64, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !136)
|
||||
// CHECK:STDOUT: !134 = !DILocalVariable(arg: 1, scope: !133, type: !25)
|
||||
// CHECK:STDOUT: !135 = !DILocation(line: 64, column: 10, scope: !133)
|
||||
// CHECK:STDOUT: !136 = !{!134}
|
||||
// CHECK:STDOUT: !137 = distinct !DISubprogram(name: "Op", linkageName: "_COp.ae1e3622d7875d32:Copy.Main", scope: null, file: !18, line: 68, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !146)
|
||||
// CHECK:STDOUT: !138 = !DILocalVariable(arg: 1, scope: !137, type: !25)
|
||||
// CHECK:STDOUT: !142 = !DILocation(line: 69, column: 13, scope: !137)
|
||||
// CHECK:STDOUT: !143 = !DILocation(line: 69, column: 12, scope: !137)
|
||||
// CHECK:STDOUT: !144 = !DILocation(line: 69, column: 33, scope: !137)
|
||||
// CHECK:STDOUT: !145 = !DILocation(line: 69, column: 5, scope: !137)
|
||||
// CHECK:STDOUT: !146 = !{!138}
|
||||
// CHECK:STDOUT: !147 = distinct !DISubprogram(name: "F_nested_tuple", linkageName: "_CF_nested_tuple.Main", scope: null, file: !18, line: 73, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !155)
|
||||
// CHECK:STDOUT: !148 = !DILocalVariable(arg: 1, scope: !147, type: !25)
|
||||
// CHECK:STDOUT: !152 = !DILocation(line: 18, column: 3, scope: !147)
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 18, column: 14, scope: !147)
|
||||
// CHECK:STDOUT: !155 = !DILocation(line: 19, column: 10, scope: !147)
|
||||
// CHECK:STDOUT: !156 = !DILocation(line: 19, column: 3, scope: !147)
|
||||
// CHECK:STDOUT: !157 = !{!148}
|
||||
// CHECK:STDOUT: !158 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.437db137e54a21c0", scope: null, file: !18, line: 17, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 18, column: 3, scope: !158)
|
||||
// CHECK:STDOUT: !163 = !DILocation(line: 18, column: 14, scope: !158)
|
||||
// CHECK:STDOUT: !165 = !DILocation(line: 19, column: 10, scope: !158)
|
||||
// CHECK:STDOUT: !166 = !DILocation(line: 19, column: 3, scope: !158)
|
||||
// CHECK:STDOUT: !167 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.b069b9e27a2f3b24", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !177)
|
||||
// CHECK:STDOUT: !168 = !DILocalVariable(arg: 1, scope: !167, type: !25)
|
||||
// CHECK:STDOUT: !172 = !DILocation(line: 18, column: 3, scope: !167)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 18, column: 14, scope: !167)
|
||||
// CHECK:STDOUT: !175 = !DILocation(line: 19, column: 10, scope: !167)
|
||||
// CHECK:STDOUT: !176 = !DILocation(line: 19, column: 3, scope: !167)
|
||||
// CHECK:STDOUT: !177 = !{!168}
|
||||
// CHECK:STDOUT: !178 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.f320bf07a6b502ca", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !188)
|
||||
// CHECK:STDOUT: !179 = !DILocalVariable(arg: 1, scope: !178, type: !25)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 18, column: 3, scope: !178)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 18, column: 14, scope: !178)
|
||||
// CHECK:STDOUT: !186 = !DILocation(line: 19, column: 10, scope: !178)
|
||||
// CHECK:STDOUT: !187 = !DILocation(line: 19, column: 3, scope: !178)
|
||||
// CHECK:STDOUT: !188 = !{!179}
|
||||
// CHECK:STDOUT: !153 = !DILocation(line: 74, column: 10, scope: !147)
|
||||
// CHECK:STDOUT: !154 = !DILocation(line: 74, column: 3, scope: !147)
|
||||
// CHECK:STDOUT: !155 = !{!148}
|
||||
// CHECK:STDOUT: !156 = distinct !DISubprogram(name: "SubobjectDestroy", linkageName: "_CSubobjectDestroy.ae1e3622d7875d32:core.Destroy.Core", scope: null, file: !18, line: 74, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !159)
|
||||
// CHECK:STDOUT: !157 = !DILocalVariable(arg: 1, scope: !156, type: !25)
|
||||
// CHECK:STDOUT: !158 = !DILocation(line: 74, column: 10, scope: !156)
|
||||
// CHECK:STDOUT: !159 = !{!157}
|
||||
// CHECK:STDOUT: !160 = distinct !DISubprogram(name: "SelfDestruct", linkageName: "_CSelfDestruct.ae1e3622d7875d32:core.Destroy.Core", scope: null, file: !18, line: 74, type: !29, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !163)
|
||||
// CHECK:STDOUT: !161 = !DILocalVariable(arg: 1, scope: !160, type: !25)
|
||||
// CHECK:STDOUT: !162 = !DILocation(line: 74, column: 10, scope: !160)
|
||||
// CHECK:STDOUT: !163 = !{!161}
|
||||
// CHECK:STDOUT: !164 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.804fd121057d1d93", scope: null, file: !18, line: 17, type: !22, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !174)
|
||||
// CHECK:STDOUT: !165 = !DILocalVariable(arg: 1, scope: !164, type: !20)
|
||||
// CHECK:STDOUT: !169 = !DILocation(line: 18, column: 3, scope: !164)
|
||||
// CHECK:STDOUT: !170 = !DILocation(line: 18, column: 14, scope: !164)
|
||||
// CHECK:STDOUT: !172 = !DILocation(line: 19, column: 10, scope: !164)
|
||||
// CHECK:STDOUT: !173 = !DILocation(line: 19, column: 3, scope: !164)
|
||||
// CHECK:STDOUT: !174 = !{!165}
|
||||
// CHECK:STDOUT: !175 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.9d368fc2e01d20c2", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !185)
|
||||
// CHECK:STDOUT: !176 = !DILocalVariable(arg: 1, scope: !175, type: !25)
|
||||
// CHECK:STDOUT: !180 = !DILocation(line: 18, column: 3, scope: !175)
|
||||
// CHECK:STDOUT: !181 = !DILocation(line: 18, column: 14, scope: !175)
|
||||
// CHECK:STDOUT: !183 = !DILocation(line: 19, column: 10, scope: !175)
|
||||
// CHECK:STDOUT: !184 = !DILocation(line: 19, column: 3, scope: !175)
|
||||
// CHECK:STDOUT: !185 = !{!176}
|
||||
// CHECK:STDOUT: !186 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.a5d0440dfa027ffe", scope: null, file: !18, line: 17, type: !31, spFlags: DISPFlagDefinition, unit: !19)
|
||||
// CHECK:STDOUT: !190 = !DILocation(line: 18, column: 3, scope: !186)
|
||||
// CHECK:STDOUT: !191 = !DILocation(line: 18, column: 14, scope: !186)
|
||||
// CHECK:STDOUT: !193 = !DILocation(line: 19, column: 10, scope: !186)
|
||||
// CHECK:STDOUT: !194 = !DILocation(line: 19, column: 3, scope: !186)
|
||||
// CHECK:STDOUT: !195 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.25802053f9465fe8", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !205)
|
||||
// CHECK:STDOUT: !196 = !DILocalVariable(arg: 1, scope: !195, type: !25)
|
||||
// CHECK:STDOUT: !200 = !DILocation(line: 18, column: 3, scope: !195)
|
||||
// CHECK:STDOUT: !201 = !DILocation(line: 18, column: 14, scope: !195)
|
||||
// CHECK:STDOUT: !203 = !DILocation(line: 19, column: 10, scope: !195)
|
||||
// CHECK:STDOUT: !204 = !DILocation(line: 19, column: 3, scope: !195)
|
||||
// CHECK:STDOUT: !205 = !{!196}
|
||||
// CHECK:STDOUT: !206 = distinct !DISubprogram(name: "F", linkageName: "_CF.Main.f37d80e656707351", scope: null, file: !18, line: 17, type: !27, spFlags: DISPFlagDefinition, unit: !19, retainedNodes: !216)
|
||||
// CHECK:STDOUT: !207 = !DILocalVariable(arg: 1, scope: !206, type: !25)
|
||||
// CHECK:STDOUT: !211 = !DILocation(line: 18, column: 3, scope: !206)
|
||||
// CHECK:STDOUT: !212 = !DILocation(line: 18, column: 14, scope: !206)
|
||||
// CHECK:STDOUT: !214 = !DILocation(line: 19, column: 10, scope: !206)
|
||||
// CHECK:STDOUT: !215 = !DILocation(line: 19, column: 3, scope: !206)
|
||||
// CHECK:STDOUT: !216 = !{!207}
|
||||
// CHECK:STDOUT:
|
||||
|
||||
Reference in New Issue
Block a user