Guest User

Untitled

a guest
Feb 25th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.33 KB | None | 0 0
  1. ; ModuleID = 'bad-position-simple.bad_position_simple3-317d481089b8c8fe83113de504472633.rs.rcgu.thin-lto-after-patch.bc'
  2. source_filename = "bad_position_simple3-317d481089b8c8fe83113de504472633.rs"
  3. target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-unknown-linux-gnu"
  5.  
  6. %"core::result::Result<usize, usize>" = type { [0 x i64], i64, [1 x i64] }
  7. %"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], %"core::option::Option<&[core::fmt::rt::v1::Argument]>", [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
  8. %"core::option::Option<&[core::fmt::rt::v1::Argument]>" = type { [0 x i64], {}*, [1 x i64] }
  9. %"core::fmt::rt::v1::Argument" = type { [0 x i64], %"core::fmt::rt::v1::Position", [0 x i64], %"core::fmt::rt::v1::FormatSpec", [0 x i64] }
  10. %"core::fmt::rt::v1::Position" = type { [0 x i64], i64, [1 x i64] }
  11. %"core::fmt::rt::v1::FormatSpec" = type { [0 x i64], %"core::fmt::rt::v1::Count", [0 x i64], %"core::fmt::rt::v1::Count", [0 x i32], i32, [0 x i32], i32, [0 x i8], i8, [7 x i8] }
  12. %"core::fmt::rt::v1::Count" = type { [0 x i64], i64, [1 x i64] }
  13. %"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
  14. %"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }
  15. %"core::fmt::Formatter" = type { [0 x i64], %"core::option::Option<usize>", [0 x i64], %"core::option::Option<usize>", [0 x i64], { {}*, {}* }, [0 x i64], { i64*, i64* }, [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i8], i8, [7 x i8] }
  16. %"core::option::Option<usize>" = type { [0 x i64], i64, [1 x i64] }
  17. %"core::fmt::Void" = type { [0 x i8], {}, [0 x i8], {}, [0 x i8] }
  18.  
  19. @str.5 = internal constant [46 x i8] c"/home/alex/code/rust4/src/libcore/slice/mod.rs"
  20. @str.7 = internal constant [28 x i8] c"attempt to add with overflow"
  21. @panic_loc.8 = private unnamed_addr constant { { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([28 x i8]* @str.7 to [0 x i8]*), i64 28 }, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([46 x i8]* @str.5 to [0 x i8]*), i64 46 }, i32 1252, i32 31 }, align 8
  22. @ref.b = private unnamed_addr constant [1 x i32] [i32 1], align 4
  23. @ref.c = private unnamed_addr constant [0 x i32] zeroinitializer, align 4
  24. @str.d = internal constant [22 x i8] c"bad-position-simple.rs"
  25. @panic_bounds_check_loc.e = private unnamed_addr constant { { [0 x i8]*, i64 }, i32, i32 } { { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, i32 8, i32 39 }, align 8
  26. @str.f = internal constant [0 x i8] zeroinitializer
  27. @ref.g = private unnamed_addr constant [1 x { [0 x i8]*, i64 }] [{ [0 x i8]*, i64 } { [0 x i8]* @str.f, i64 0 }], align 8
  28. @ref.h = private unnamed_addr constant { { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } } { { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } { [0 x i8] undef, { i64, [0 x i8], i64, [0 x i8] } { i64 1, [0 x i8] undef, i64 0, [0 x i8] undef }, [0 x i8] undef, { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] } { [0 x i8] undef, <{ i64, [8 x i8] }> <{ i64 3, [8 x i8] undef }>, [0 x i8] undef, <{ i64, [8 x i8] }> <{ i64 3, [8 x i8] undef }>, [0 x i8] undef, i32 32, [0 x i8] undef, i32 0, [0 x i8] undef, i8 3, [7 x i8] undef }, [0 x i8] undef } }, align 8
  29. @ref.j = private unnamed_addr constant { [0 x i8], { [0 x i8]*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] } { [0 x i8] undef, { [0 x i8]*, i64 } { [0 x i8]* bitcast ([22 x i8]* @str.d to [0 x i8]*), i64 22 }, [0 x i8] undef, i32 14, [0 x i8] undef, i32 13, [0 x i8] undef }, align 8
  30. @vtable.0.llvm.2036171870872840413 = external hidden unnamed_addr constant { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8*)* }, align 8
  31.  
  32. ; Function Attrs: uwtable
  33. define internal void @_ZN19bad_position_simple4main17hd6968b5c65b64145E() unnamed_addr #0 {
  34. tail call fastcc void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly bitcast ([1 x i32]* @ref.b to [0 x i32]*), i64 1)
  35. tail call fastcc void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly @ref.c, i64 0)
  36. ret void
  37. }
  38.  
  39. ; Function Attrs: uwtable
  40. define internal fastcc void @_ZN19bad_position_simple21import_path_to_string17h210232a05b4d0302E([0 x i32]* noalias nonnull readonly, i64) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
  41. %3 = alloca %"core::result::Result<usize, usize>", align 8
  42. %4 = alloca %"core::result::Result<usize, usize>", align 8
  43. %5 = alloca %"core::result::Result<usize, usize>", align 8
  44. %6 = alloca %"core::result::Result<usize, usize>", align 8
  45. %7 = alloca %"core::result::Result<usize, usize>", align 8
  46. %8 = alloca %"core::result::Result<usize, usize>", align 8
  47. %9 = alloca %"core::result::Result<usize, usize>", align 8
  48. %10 = alloca %"core::result::Result<usize, usize>", align 8
  49. %11 = alloca %"core::result::Result<usize, usize>", align 8
  50. %12 = alloca %"core::result::Result<usize, usize>", align 8
  51. %13 = alloca %"core::result::Result<usize, usize>", align 8
  52. %14 = alloca i64, align 8
  53. %15 = alloca [1 x { i8*, i8* }], align 8
  54. %16 = alloca %"core::fmt::Arguments", align 8
  55. %17 = getelementptr inbounds [0 x i32], [0 x i32]* %0, i64 0, i64 0
  56. %18 = getelementptr inbounds [0 x i32], [0 x i32]* %0, i64 0, i64 %1
  57. %19 = ptrtoint i32* %18 to i64
  58. %20 = bitcast %"core::result::Result<usize, usize>"* %13 to i8*
  59. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %20)
  60. %21 = bitcast %"core::result::Result<usize, usize>"* %3 to i8*
  61. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %21), !noalias !1
  62. %22 = bitcast %"core::result::Result<usize, usize>"* %4 to i8*
  63. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %22), !noalias !1
  64. %23 = bitcast %"core::result::Result<usize, usize>"* %5 to i8*
  65. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %23), !noalias !1
  66. %24 = bitcast %"core::result::Result<usize, usize>"* %6 to i8*
  67. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %24), !noalias !1
  68. %25 = bitcast %"core::result::Result<usize, usize>"* %7 to i8*
  69. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %25), !noalias !1
  70. %26 = bitcast %"core::result::Result<usize, usize>"* %8 to i8*
  71. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %26), !noalias !1
  72. %27 = bitcast %"core::result::Result<usize, usize>"* %9 to i8*
  73. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %27), !noalias !1
  74. %28 = bitcast %"core::result::Result<usize, usize>"* %10 to i8*
  75. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %28), !noalias !1
  76. %29 = bitcast %"core::result::Result<usize, usize>"* %11 to i8*
  77. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %29), !noalias !1
  78. %30 = bitcast %"core::result::Result<usize, usize>"* %12 to i8*
  79. call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %30), !noalias !1
  80. %31 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %11, i64 0, i32 2, i64 0
  81. %32 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %11, i64 0, i32 0, i64 0
  82. %33 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %12, i64 0, i32 0, i64 0
  83. %34 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %12, i64 0, i32 2, i64 0
  84. %35 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %9, i64 0, i32 2, i64 0
  85. %36 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %9, i64 0, i32 0, i64 0
  86. %37 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %10, i64 0, i32 0, i64 0
  87. %38 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %10, i64 0, i32 2, i64 0
  88. %39 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %7, i64 0, i32 2, i64 0
  89. %40 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %7, i64 0, i32 0, i64 0
  90. %41 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %8, i64 0, i32 0, i64 0
  91. %42 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %8, i64 0, i32 2, i64 0
  92. %43 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %5, i64 0, i32 2, i64 0
  93. %44 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %5, i64 0, i32 0, i64 0
  94. %45 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %6, i64 0, i32 0, i64 0
  95. %46 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %6, i64 0, i32 2, i64 0
  96. %47 = shl nuw i64 %1, 2
  97. %48 = sdiv i64 %47, 4
  98. %49 = icmp ugt i64 %48, 3
  99. br i1 %49, label %50, label %56
  100.  
  101. ; <label>:50: ; preds = %2
  102. br label %65
  103.  
  104. ; <label>:51: ; preds = %131
  105. %52 = ptrtoint i32* %122 to i64
  106. %53 = sub i64 %19, %52
  107. %54 = sdiv i64 %53, 4
  108. %55 = icmp ugt i64 %54, 3
  109. br i1 %55, label %65, label %56
  110.  
  111. ; <label>:56: ; preds = %51, %2
  112. %57 = phi i32* [ %17, %2 ], [ %122, %51 ]
  113. %58 = phi i64 [ 0, %2 ], [ %135, %51 ]
  114. %59 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %3, i64 0, i32 2, i64 0
  115. %60 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %3, i64 0, i32 0, i64 0
  116. %61 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %4, i64 0, i32 0, i64 0
  117. %62 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %4, i64 0, i32 2, i64 0
  118. %63 = icmp eq i32* %57, %18
  119. br i1 %63, label %139, label %64
  120.  
  121. ; <label>:64: ; preds = %56
  122. br label %141
  123.  
  124. ; <label>:65: ; preds = %51, %50
  125. %66 = phi i64 [ %135, %51 ], [ 0, %50 ]
  126. %67 = phi i32* [ %122, %51 ], [ %17, %50 ]
  127. %68 = getelementptr inbounds i32, i32* %67, i64 1
  128. %69 = load i32, i32* %67, align 4, !alias.scope !4, !noalias !9
  129. %70 = icmp eq i32 %69, 1
  130. br i1 %70, label %71, label %77
  131.  
  132. ; <label>:71: ; preds = %65
  133. %72 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %66, i64 1)
  134. %73 = extractvalue { i64, i1 } %72, 1
  135. br i1 %73, label %76, label %74, !prof !13
  136.  
  137. ; <label>:74: ; preds = %71
  138. %75 = extractvalue { i64, i1 } %72, 0
  139. br label %77
  140.  
  141. ; <label>:76: ; preds = %71
  142. call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  143. unreachable
  144.  
  145. ; <label>:77: ; preds = %74, %65
  146. %78 = phi i64 [ %75, %74 ], [ %66, %65 ]
  147. %79 = phi i64 [ 0, %74 ], [ 1, %65 ]
  148. store i64 %78, i64* %31, align 8, !alias.scope !14, !noalias !15
  149. store i64 %79, i64* %32, align 8, !alias.scope !14, !noalias !15
  150. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %12, %"core::result::Result<usize, usize>"* noalias nocapture nonnull dereferenceable(16) %11)
  151. %80 = load i64, i64* %33, align 8, !range !16, !noalias !17
  152. %81 = icmp eq i64 %80, 1
  153. %82 = load i64, i64* %34, align 8, !noalias !17
  154. br i1 %81, label %83, label %85
  155.  
  156. ; <label>:83: ; preds = %77
  157. %84 = call i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %82)
  158. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %84)
  159. br label %163
  160.  
  161. ; <label>:85: ; preds = %77
  162. %86 = getelementptr inbounds i32, i32* %67, i64 2
  163. %87 = load i32, i32* %68, align 4, !alias.scope !18, !noalias !23
  164. %88 = icmp eq i32 %87, 1
  165. br i1 %88, label %89, label %95
  166.  
  167. ; <label>:89: ; preds = %85
  168. %90 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %82, i64 1)
  169. %91 = extractvalue { i64, i1 } %90, 1
  170. br i1 %91, label %94, label %92, !prof !13
  171.  
  172. ; <label>:92: ; preds = %89
  173. %93 = extractvalue { i64, i1 } %90, 0
  174. br label %95
  175.  
  176. ; <label>:94: ; preds = %89
  177. call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  178. unreachable
  179.  
  180. ; <label>:95: ; preds = %92, %85
  181. %96 = phi i64 [ %93, %92 ], [ %82, %85 ]
  182. %97 = phi i64 [ 0, %92 ], [ 1, %85 ]
  183. store i64 %96, i64* %35, align 8, !alias.scope !25, !noalias !26
  184. store i64 %97, i64* %36, align 8, !alias.scope !25, !noalias !26
  185. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %10, %"core::result::Result<usize, usize>"* noalias nocapture nonnull dereferenceable(16) %9)
  186. %98 = load i64, i64* %37, align 8, !range !16, !noalias !17
  187. %99 = icmp eq i64 %98, 1
  188. %100 = load i64, i64* %38, align 8, !noalias !17
  189. br i1 %99, label %101, label %103
  190.  
  191. ; <label>:101: ; preds = %95
  192. %102 = call i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %100)
  193. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %102)
  194. br label %163
  195.  
  196. ; <label>:103: ; preds = %95
  197. %104 = getelementptr inbounds i32, i32* %67, i64 3
  198. %105 = load i32, i32* %86, align 4, !alias.scope !27, !noalias !32
  199. %106 = icmp eq i32 %105, 1
  200. br i1 %106, label %107, label %113
  201.  
  202. ; <label>:107: ; preds = %103
  203. %108 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %100, i64 1)
  204. %109 = extractvalue { i64, i1 } %108, 1
  205. br i1 %109, label %112, label %110, !prof !13
  206.  
  207. ; <label>:110: ; preds = %107
  208. %111 = extractvalue { i64, i1 } %108, 0
  209. br label %113
  210.  
  211. ; <label>:112: ; preds = %107
  212. call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  213. unreachable
  214.  
  215. ; <label>:113: ; preds = %110, %103
  216. %114 = phi i64 [ %111, %110 ], [ %100, %103 ]
  217. %115 = phi i64 [ 0, %110 ], [ 1, %103 ]
  218. store i64 %114, i64* %39, align 8, !alias.scope !34, !noalias !35
  219. store i64 %115, i64* %40, align 8, !alias.scope !34, !noalias !35
  220. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %8, %"core::result::Result<usize, usize>"* noalias nocapture nonnull dereferenceable(16) %7)
  221. %116 = load i64, i64* %41, align 8, !range !16, !noalias !17
  222. %117 = icmp eq i64 %116, 1
  223. %118 = load i64, i64* %42, align 8, !noalias !17
  224. br i1 %117, label %119, label %121
  225.  
  226. ; <label>:119: ; preds = %113
  227. %120 = call i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %118)
  228. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %120)
  229. br label %163
  230.  
  231. ; <label>:121: ; preds = %113
  232. %122 = getelementptr inbounds i32, i32* %67, i64 4
  233. %123 = load i32, i32* %104, align 4, !alias.scope !36, !noalias !41
  234. %124 = icmp eq i32 %123, 1
  235. br i1 %124, label %125, label %131
  236.  
  237. ; <label>:125: ; preds = %121
  238. %126 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %118, i64 1)
  239. %127 = extractvalue { i64, i1 } %126, 1
  240. br i1 %127, label %130, label %128, !prof !13
  241.  
  242. ; <label>:128: ; preds = %125
  243. %129 = extractvalue { i64, i1 } %126, 0
  244. br label %131
  245.  
  246. ; <label>:130: ; preds = %125
  247. call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  248. unreachable
  249.  
  250. ; <label>:131: ; preds = %128, %121
  251. %132 = phi i64 [ %129, %128 ], [ %118, %121 ]
  252. %133 = phi i64 [ 0, %128 ], [ 1, %121 ]
  253. store i64 %132, i64* %43, align 8, !alias.scope !43, !noalias !44
  254. store i64 %133, i64* %44, align 8, !alias.scope !43, !noalias !44
  255. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %6, %"core::result::Result<usize, usize>"* noalias nocapture nonnull dereferenceable(16) %5)
  256. %134 = load i64, i64* %45, align 8, !range !16, !noalias !17
  257. %135 = load i64, i64* %46, align 8, !noalias !17
  258. %136 = icmp eq i64 %134, 1
  259. br i1 %136, label %137, label %51
  260.  
  261. ; <label>:137: ; preds = %131
  262. %138 = call i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %135)
  263. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %138)
  264. br label %163
  265.  
  266. ; <label>:139: ; preds = %159, %56
  267. %140 = phi i64 [ %58, %56 ], [ %157, %159 ]
  268. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$7from_ok17hed12cd599a454669E"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %140)
  269. br label %163
  270.  
  271. ; <label>:141: ; preds = %159, %64
  272. %142 = phi i64 [ %157, %159 ], [ %58, %64 ]
  273. %143 = phi i32* [ %144, %159 ], [ %57, %64 ]
  274. %144 = getelementptr inbounds i32, i32* %143, i64 1
  275. %145 = load i32, i32* %143, align 4, !alias.scope !45, !noalias !50
  276. %146 = icmp eq i32 %145, 1
  277. br i1 %146, label %147, label %153
  278.  
  279. ; <label>:147: ; preds = %141
  280. %148 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %142, i64 1)
  281. %149 = extractvalue { i64, i1 } %148, 1
  282. br i1 %149, label %152, label %150, !prof !13
  283.  
  284. ; <label>:150: ; preds = %147
  285. %151 = extractvalue { i64, i1 } %148, 0
  286. br label %153
  287.  
  288. ; <label>:152: ; preds = %147
  289. call void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40) bitcast ({ { [0 x i8]*, i64 }, { [0 x i8]*, i64 }, i32, i32 }* @panic_loc.8 to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  290. unreachable
  291.  
  292. ; <label>:153: ; preds = %150, %141
  293. %154 = phi i64 [ %151, %150 ], [ %142, %141 ]
  294. %155 = phi i64 [ 0, %150 ], [ 1, %141 ]
  295. store i64 %154, i64* %59, align 8, !alias.scope !52, !noalias !53
  296. store i64 %155, i64* %60, align 8, !alias.scope !52, !noalias !53
  297. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %4, %"core::result::Result<usize, usize>"* noalias nocapture nonnull dereferenceable(16) %3)
  298. %156 = load i64, i64* %61, align 8, !range !16, !noalias !17
  299. %157 = load i64, i64* %62, align 8, !noalias !17
  300. %158 = icmp eq i64 %156, 1
  301. br i1 %158, label %161, label %159
  302.  
  303. ; <label>:159: ; preds = %153
  304. %160 = icmp eq i32* %144, %18
  305. br i1 %160, label %139, label %141
  306.  
  307. ; <label>:161: ; preds = %153
  308. %162 = call i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 %157)
  309. call void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture nonnull sret dereferenceable(16) %13, i64 %162)
  310. br label %163
  311.  
  312. ; <label>:163: ; preds = %161, %139, %137, %119, %101, %83
  313. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %21), !noalias !1
  314. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %22), !noalias !1
  315. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %23), !noalias !1
  316. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %24), !noalias !1
  317. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %25), !noalias !1
  318. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %26), !noalias !1
  319. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %27), !noalias !1
  320. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %28), !noalias !1
  321. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %29), !noalias !1
  322. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %30), !noalias !1
  323. %164 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %13, i64 0, i32 0, i64 0
  324. %165 = load i64, i64* %164, align 8, !range !16, !alias.scope !54, !noalias !57
  325. %166 = icmp eq i64 %165, 1
  326. br i1 %166, label %167, label %172
  327.  
  328. ; <label>:167: ; preds = %163
  329. %168 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %13, i64 0, i32 2, i64 0
  330. %169 = load i64, i64* %168, align 8, !alias.scope !54, !noalias !57
  331. %170 = icmp ult i64 %169, %1
  332. tail call void @llvm.assume(i1 %170) #2, !noalias !59
  333. %171 = add i64 %169, 1
  334. br label %172
  335.  
  336. ; <label>:172: ; preds = %167, %163
  337. %173 = phi i64 [ %171, %167 ], [ undef, %163 ]
  338. %174 = phi i64 [ 1, %167 ], [ 0, %163 ]
  339. call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %20)
  340. %175 = tail call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h5df57ca3a59651deE([0 x i32]* noalias nonnull readonly %0, i64 %1)
  341. br i1 %175, label %176, label %177
  342.  
  343. ; <label>:176: ; preds = %182, %172
  344. br label %179
  345.  
  346. ; <label>:177: ; preds = %172
  347. %178 = icmp eq i64 %1, 0
  348. br i1 %178, label %218, label %182, !prof !13
  349.  
  350. ; <label>:179: ; preds = %182, %176
  351. %180 = phi i1 [ false, %176 ], [ true, %182 ]
  352. %181 = icmp eq i64 %174, 1
  353. br i1 %181, label %186, label %185
  354.  
  355. ; <label>:182: ; preds = %177
  356. %183 = load i32, i32* %17, align 4
  357. %184 = icmp eq i32 %183, 1
  358. br i1 %184, label %179, label %176
  359.  
  360. ; <label>:185: ; preds = %179
  361. br i1 %180, label %193, label %200
  362.  
  363. ; <label>:186: ; preds = %179
  364. %187 = icmp ugt i64 %173, %1
  365. br i1 %180, label %189, label %191
  366.  
  367. ; <label>:188: ; preds = %200, %191, %189
  368. ret void
  369.  
  370. ; <label>:189: ; preds = %186
  371. br i1 %187, label %190, label %188
  372.  
  373. ; <label>:190: ; preds = %189
  374. tail call void @_ZN4core5slice20slice_index_len_fail17h41ae248f36c196f1E(i64 %173, i64 %1)
  375. unreachable
  376.  
  377. ; <label>:191: ; preds = %186
  378. br i1 %187, label %192, label %188
  379.  
  380. ; <label>:192: ; preds = %191
  381. tail call void @_ZN4core5slice20slice_index_len_fail17h41ae248f36c196f1E(i64 %173, i64 %1)
  382. unreachable
  383.  
  384. ; <label>:193: ; preds = %185
  385. %194 = icmp eq i64 %1, 0
  386. br i1 %194, label %195, label %196
  387.  
  388. ; <label>:195: ; preds = %193
  389. tail call void @_ZN4core5slice22slice_index_order_fail17hd0a9eb5d87471258E(i64 1, i64 0)
  390. unreachable
  391.  
  392. ; <label>:196: ; preds = %193
  393. %197 = add i64 %1, -1
  394. %198 = getelementptr inbounds [0 x i32], [0 x i32]* %0, i64 0, i64 1
  395. %199 = bitcast i32* %198 to [0 x i32]*
  396. br label %200
  397.  
  398. ; <label>:200: ; preds = %196, %185
  399. %201 = phi [0 x i32]* [ %199, %196 ], [ %0, %185 ]
  400. %202 = phi i64 [ %197, %196 ], [ %1, %185 ]
  401. %203 = tail call zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h5df57ca3a59651deE([0 x i32]* noalias nonnull readonly %201, i64 %202)
  402. br i1 %203, label %188, label %204
  403.  
  404. ; <label>:204: ; preds = %200
  405. store i64 %202, i64* %14, align 8
  406. %205 = call { i8*, i8* } @_ZN4core3fmt10ArgumentV13new17h62ac4e23745d2eacE(i64* noalias nonnull readonly dereferenceable(8) %14, i1 (i64*, %"core::fmt::Formatter"*)* nonnull @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h4b475879c6110157E")
  407. %206 = extractvalue { i8*, i8* } %205, 0
  408. %207 = extractvalue { i8*, i8* } %205, 1
  409. %208 = getelementptr inbounds [1 x { i8*, i8* }], [1 x { i8*, i8* }]* %15, i64 0, i64 0, i32 0
  410. store i8* %206, i8** %208, align 8
  411. %209 = getelementptr inbounds [1 x { i8*, i8* }], [1 x { i8*, i8* }]* %15, i64 0, i64 0, i32 1
  412. store i8* %207, i8** %209, align 8
  413. %210 = bitcast %"core::fmt::Arguments"* %16 to [0 x { [0 x i8]*, i64 }]**
  414. store [0 x { [0 x i8]*, i64 }]* bitcast ([1 x { [0 x i8]*, i64 }]* @ref.g to [0 x { [0 x i8]*, i64 }]*), [0 x { [0 x i8]*, i64 }]** %210, align 8, !alias.scope !66, !noalias !69
  415. %211 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %16, i64 0, i32 1, i32 1
  416. store i64 1, i64* %211, align 8, !alias.scope !66, !noalias !69
  417. %212 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %16, i64 0, i32 3
  418. %213 = bitcast %"core::option::Option<&[core::fmt::rt::v1::Argument]>"* %212 to [0 x %"core::fmt::rt::v1::Argument"]**
  419. store [0 x %"core::fmt::rt::v1::Argument"]* bitcast ({ { [0 x i8], { i64, [0 x i8], i64, [0 x i8] }, [0 x i8], { [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], <{ i64, [8 x i8] }>, [0 x i8], i32, [0 x i8], i32, [0 x i8], i8, [7 x i8] }, [0 x i8] } }* @ref.h to [0 x %"core::fmt::rt::v1::Argument"]*), [0 x %"core::fmt::rt::v1::Argument"]** %213, align 8, !alias.scope !66, !noalias !69
  420. %214 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %16, i64 0, i32 3, i32 2, i64 0
  421. store i64 1, i64* %214, align 8, !alias.scope !66, !noalias !69
  422. %215 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %16, i64 0, i32 5, i32 0
  423. %216 = bitcast [0 x { i8*, i8* }]** %215 to [1 x { i8*, i8* }]**
  424. store [1 x { i8*, i8* }]* %15, [1 x { i8*, i8* }]** %216, align 8, !alias.scope !66, !noalias !69
  425. %217 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %16, i64 0, i32 5, i32 1
  426. store i64 1, i64* %217, align 8, !alias.scope !66, !noalias !69
  427. call void @_ZN3std9panicking15begin_panic_fmt17h12231957b6c3aabeE(%"core::fmt::Arguments"* noalias nonnull readonly dereferenceable(48) %16, { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24) bitcast ({ [0 x i8], { [0 x i8]*, i64 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] }* @ref.j to { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*))
  428. unreachable
  429.  
  430. ; <label>:218: ; preds = %177
  431. tail call void @_ZN4core9panicking18panic_bounds_check17hb9ff1ec5af7b2839E({ [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24) bitcast ({ { [0 x i8]*, i64 }, i32, i32 }* @panic_bounds_check_loc.e to { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*), i64 0, i64 0)
  432. unreachable
  433. }
  434.  
  435. declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #1
  436.  
  437. ; Function Attrs: nounwind
  438. declare void @llvm.assume(i1) #2
  439.  
  440. ; Function Attrs: cold noinline noreturn
  441. declare void @_ZN4core9panicking5panic17hfefa0158f97fa77bE({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(40)) unnamed_addr #3
  442.  
  443. ; Function Attrs: nounwind readnone speculatable
  444. declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #4
  445.  
  446. ; Function Attrs: cold noinline noreturn
  447. declare void @_ZN4core5slice22slice_index_order_fail17hd0a9eb5d87471258E(i64, i64) unnamed_addr #3
  448.  
  449. ; Function Attrs: cold noinline noreturn
  450. declare void @_ZN4core5slice20slice_index_len_fail17h41ae248f36c196f1E(i64, i64) unnamed_addr #3
  451.  
  452. ; Function Attrs: cold noinline noreturn
  453. declare void @_ZN4core9panicking18panic_bounds_check17hb9ff1ec5af7b2839E({ [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24), i64, i64) unnamed_addr #3
  454.  
  455. declare zeroext i1 @"_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h4b475879c6110157E"(i64* noalias readonly dereferenceable(8), %"core::fmt::Formatter"* dereferenceable(96)) unnamed_addr #1
  456.  
  457. ; Function Attrs: cold noinline noreturn
  458. declare void @_ZN3std9panicking15begin_panic_fmt17h12231957b6c3aabeE(%"core::fmt::Arguments"* noalias readonly dereferenceable(48), { [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly dereferenceable(24)) unnamed_addr #3
  459.  
  460. define i32 @main(i32, i8**) unnamed_addr {
  461. %3 = sext i32 %0 to i64
  462. %4 = tail call i64 @_ZN3std2rt10lang_start17hc22bd9d4d8304f2bE(void ()* @_ZN19bad_position_simple4main17hd6968b5c65b64145E, i64 %3, i8** %1)
  463. %5 = trunc i64 %4 to i32
  464. ret i32 %5
  465. }
  466.  
  467. ; Function Attrs: argmemonly nounwind
  468. declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #5
  469.  
  470. ; Function Attrs: argmemonly nounwind
  471. declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #5
  472.  
  473. ; Function Attrs: norecurse nounwind readnone uwtable
  474. define available_externally hidden zeroext i1 @_ZN4core5slice8SliceExt8is_empty17h5df57ca3a59651deE([0 x i32]* noalias nocapture nonnull readonly, i64) unnamed_addr #6 !thinlto_src_module !71 {
  475. %3 = icmp eq i64 %1, 0
  476. ret i1 %3
  477. }
  478.  
  479. ; Function Attrs: uwtable
  480. define available_externally hidden i64 @_ZN3std2rt10lang_start17hc22bd9d4d8304f2bE(void ()* nonnull, i64, i8**) unnamed_addr #0 !thinlto_src_module !72 {
  481. %4 = alloca i8*, align 8
  482. %5 = bitcast i8** %4 to void ()**
  483. store void ()* %0, void ()** %5, align 8
  484. %6 = bitcast i8** %4 to {}*
  485. %7 = call i64 @_ZN3std2rt19lang_start_internal17h69c4318380fa99c8E({}* nonnull %6, {}* noalias nonnull readonly bitcast ({ void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8*)* }* @vtable.0.llvm.2036171870872840413 to {}*), i64 %1, i8** %2)
  486. ret i64 %7
  487. }
  488.  
  489. declare i64 @_ZN3std2rt19lang_start_internal17h69c4318380fa99c8E({}* nonnull, {}* noalias nonnull readonly, i64, i8**) unnamed_addr #1
  490.  
  491. ; Function Attrs: norecurse nounwind readnone uwtable
  492. define available_externally hidden i64 @"_ZN50_$LT$T$u20$as$u20$core..convert..From$LT$T$GT$$GT$4from17h514ffbaf3bb75a3eE"(i64 returned) unnamed_addr #6 !thinlto_src_module !73 {
  493. ret i64 %0
  494. }
  495.  
  496. ; Function Attrs: norecurse nounwind uwtable
  497. define available_externally hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$10from_error17h222e7515b9cde0afE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #7 !thinlto_src_module !74 {
  498. %3 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %0, i64 0, i32 2, i64 0
  499. store i64 %1, i64* %3, align 8
  500. %4 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %0, i64 0, i32 0, i64 0
  501. store i64 1, i64* %4, align 8
  502. ret void
  503. }
  504.  
  505. ; Function Attrs: nounwind uwtable
  506. define available_externally hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$11into_result17h20c389a4d040cb5eE"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), %"core::result::Result<usize, usize>"* noalias nocapture readonly dereferenceable(16)) unnamed_addr #8 !thinlto_src_module !74 {
  507. %3 = bitcast %"core::result::Result<usize, usize>"* %1 to i8*
  508. %4 = bitcast %"core::result::Result<usize, usize>"* %0 to i8*
  509. tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %4, i8* nonnull %3, i64 16, i32 8, i1 false)
  510. ret void
  511. }
  512.  
  513. ; Function Attrs: argmemonly nounwind
  514. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #5
  515.  
  516. ; Function Attrs: norecurse nounwind uwtable
  517. define available_externally hidden void @"_ZN78_$LT$core..result..Result$LT$T$C$$u20$E$GT$$u20$as$u20$core..ops..try..Try$GT$7from_ok17hed12cd599a454669E"(%"core::result::Result<usize, usize>"* noalias nocapture sret dereferenceable(16), i64) unnamed_addr #7 !thinlto_src_module !74 {
  518. %3 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %0, i64 0, i32 2, i64 0
  519. store i64 %1, i64* %3, align 8
  520. %4 = getelementptr inbounds %"core::result::Result<usize, usize>", %"core::result::Result<usize, usize>"* %0, i64 0, i32 0, i64 0
  521. store i64 0, i64* %4, align 8
  522. ret void
  523. }
  524.  
  525. ; Function Attrs: norecurse nounwind readnone uwtable
  526. define available_externally hidden { i8*, i8* } @_ZN4core3fmt10ArgumentV13new17h62ac4e23745d2eacE(i64* noalias readonly dereferenceable(8), i1 (i64*, %"core::fmt::Formatter"*)* nonnull) unnamed_addr #6 !thinlto_src_module !75 {
  527. %3 = bitcast i1 (i64*, %"core::fmt::Formatter"*)* %1 to i1 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)*
  528. %4 = bitcast i64* %0 to i8*
  529. %5 = bitcast i1 (%"core::fmt::Void"*, %"core::fmt::Formatter"*)* %3 to i8*
  530. %6 = insertvalue { i8*, i8* } undef, i8* %4, 0
  531. %7 = insertvalue { i8*, i8* } %6, i8* %5, 1
  532. ret { i8*, i8* } %7
  533. }
  534.  
  535. attributes #0 = { uwtable "probe-stack"="__rust_probestack" }
  536. attributes #1 = { "probe-stack"="__rust_probestack" }
  537. attributes #2 = { nounwind }
  538. attributes #3 = { cold noinline noreturn "probe-stack"="__rust_probestack" }
  539. attributes #4 = { nounwind readnone speculatable }
  540. attributes #5 = { argmemonly nounwind }
  541. attributes #6 = { norecurse nounwind readnone uwtable "probe-stack"="__rust_probestack" }
  542. attributes #7 = { norecurse nounwind uwtable "probe-stack"="__rust_probestack" }
  543. attributes #8 = { nounwind uwtable "probe-stack"="__rust_probestack" }
  544.  
  545. !llvm.module.flags = !{!0}
  546.  
  547. !0 = !{i32 7, !"PIE Level", i32 2}
  548. !1 = !{!2}
  549. !2 = distinct !{!2, !3, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position17hf1a29b42059163daE: argument 0"}
  550. !3 = distinct !{!3, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position17hf1a29b42059163daE"}
  551. !4 = !{!5, !7}
  552. !5 = distinct !{!5, !6, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE: argument 0"}
  553. !6 = distinct !{!6, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"}
  554. !7 = distinct !{!7, !8, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 1"}
  555. !8 = distinct !{!8, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"}
  556. !9 = !{!10, !11, !2}
  557. !10 = distinct !{!10, !8, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 0"}
  558. !11 = distinct !{!11, !12, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8try_fold17h67c1a77f983d137aE: argument 0"}
  559. !12 = distinct !{!12, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8try_fold17h67c1a77f983d137aE"}
  560. !13 = !{!"branch_weights", i32 1, i32 2000}
  561. !14 = !{!10}
  562. !15 = !{!7, !11, !2}
  563. !16 = !{i64 0, i64 2}
  564. !17 = !{!11, !2}
  565. !18 = !{!19, !21}
  566. !19 = distinct !{!19, !20, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE: argument 0"}
  567. !20 = distinct !{!20, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"}
  568. !21 = distinct !{!21, !22, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 1"}
  569. !22 = distinct !{!22, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"}
  570. !23 = !{!24, !11, !2}
  571. !24 = distinct !{!24, !22, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 0"}
  572. !25 = !{!24}
  573. !26 = !{!21, !11, !2}
  574. !27 = !{!28, !30}
  575. !28 = distinct !{!28, !29, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE: argument 0"}
  576. !29 = distinct !{!29, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"}
  577. !30 = distinct !{!30, !31, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 1"}
  578. !31 = distinct !{!31, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"}
  579. !32 = !{!33, !11, !2}
  580. !33 = distinct !{!33, !31, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 0"}
  581. !34 = !{!33}
  582. !35 = !{!30, !11, !2}
  583. !36 = !{!37, !39}
  584. !37 = distinct !{!37, !38, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE: argument 0"}
  585. !38 = distinct !{!38, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"}
  586. !39 = distinct !{!39, !40, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 1"}
  587. !40 = distinct !{!40, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"}
  588. !41 = !{!42, !11, !2}
  589. !42 = distinct !{!42, !40, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 0"}
  590. !43 = !{!42}
  591. !44 = !{!39, !11, !2}
  592. !45 = !{!46, !48}
  593. !46 = distinct !{!46, !47, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE: argument 0"}
  594. !47 = distinct !{!47, !"_ZN19bad_position_simple21import_path_to_string28_$u7b$$u7b$closure$u7d$$u7d$17h6e8857c45441a25dE"}
  595. !48 = distinct !{!48, !49, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 1"}
  596. !49 = distinct !{!49, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE"}
  597. !50 = !{!51, !11, !2}
  598. !51 = distinct !{!51, !49, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hbb59cc67849b96ddE: argument 0"}
  599. !52 = !{!51}
  600. !53 = !{!48, !11, !2}
  601. !54 = !{!55}
  602. !55 = distinct !{!55, !56, !"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$3err17h7575ad3e8a4fc754E: argument 1"}
  603. !56 = distinct !{!56, !"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$3err17h7575ad3e8a4fc754E"}
  604. !57 = !{!58, !2}
  605. !58 = distinct !{!58, !56, !"_ZN47_$LT$core..result..Result$LT$T$C$$u20$E$GT$$GT$3err17h7575ad3e8a4fc754E: argument 0"}
  606. !59 = !{!60, !62, !64, !65, !2}
  607. !60 = distinct !{!60, !61, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hab0db5dfbde4de17E: argument 0"}
  608. !61 = distinct !{!61, !"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$8position28_$u7b$$u7b$closure$u7d$$u7d$17hab0db5dfbde4de17E"}
  609. !62 = distinct !{!62, !63, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E: argument 0"}
  610. !63 = distinct !{!63, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E"}
  611. !64 = distinct !{!64, !63, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E: argument 1"}
  612. !65 = distinct !{!65, !63, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$3map17hac95c6f09e5eb2e1E: argument 2"}
  613. !66 = !{!67}
  614. !67 = distinct !{!67, !68, !"_ZN4core3fmt9Arguments16new_v1_formatted17hea2ae333548f7201E: argument 0"}
  615. !68 = distinct !{!68, !"_ZN4core3fmt9Arguments16new_v1_formatted17hea2ae333548f7201E"}
  616. !69 = !{!70}
  617. !70 = distinct !{!70, !68, !"_ZN4core3fmt9Arguments16new_v1_formatted17hea2ae333548f7201E: argument 1"}
  618. !71 = !{!"bad_position_simple0-317d481089b8c8fe83113de504472633.rs"}
  619. !72 = !{!"bad_position_simple1-317d481089b8c8fe83113de504472633.rs"}
  620. !73 = !{!"bad_position_simple2-317d481089b8c8fe83113de504472633.rs"}
  621. !74 = !{!"bad_position_simple4-317d481089b8c8fe83113de504472633.rs"}
  622. !75 = !{!"bad_position_simple5-317d481089b8c8fe83113de504472633.rs"}
Add Comment
Please, Sign In to add comment