Guest User

Untitled

a guest
Nov 21st, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 882.00 KB | None | 0 0
  1. ; ModuleID = 'hello'
  2. source_filename = "hello"
  3. target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-apple-darwin-unknown"
  5.  
  6. %Allocator = type { void ({ i16, %"[]u8" }*, %Allocator*, i64, i64)*, void ({ i16, %"[]u8" }*, %Allocator*, %"[]u8"*, i64, i64)*, void (%Allocator*, %"[]u8"*)* }
  7. %"[]u8" = type { i8*, i64 }
  8. %File = type { i32 }
  9. %"[]&u8" = type { i8**, i64 }
  10. %OutStream = type { i16 (%OutStream*, %"[]u8"*)* }
  11. %FileOutStream = type { %File*, %OutStream }
  12.  
  13. @os = internal unnamed_addr constant i5 3, align 1
  14. @link_libc = internal unnamed_addr constant i1 true, align 1
  15. @want_start_symbol = internal unnamed_addr constant i1 false, align 1
  16. @is_windows = internal unnamed_addr constant i1 false, align 1
  17. @panicking = internal unnamed_addr global i1 false, align 1
  18. @global_allocator_state = internal unnamed_addr global %Allocator { void ({ i16, %"[]u8" }*, %Allocator*, i64, i64)* @globalAlloc, void ({ i16, %"[]u8" }*, %Allocator*, %"[]u8"*, i64, i64)* @globalRealloc, void (%Allocator*, %"[]u8"*)* @globalFree }, align 8
  19. @0 = internal unnamed_addr constant %Allocator* @global_allocator_state, align 8
  20. @is_windows.1 = internal unnamed_addr constant i1 false, align 1
  21. @stderr_file = internal unnamed_addr global %File undef, align 4
  22. @raw = internal unnamed_addr global %"[]&u8" undef, align 8
  23. @posix_environ_raw = internal unnamed_addr global %"[]&u8" undef, align 8
  24. @user_main_fn = internal unnamed_addr global i16 ()* null, align 8
  25. @stderr_stream = internal unnamed_addr global %OutStream* null, align 8
  26. @stderr_file_out_stream = internal unnamed_addr global %FileOutStream undef, align 8
  27. @object_format = internal unnamed_addr constant i3 3, align 1
  28. @some_mem = internal unnamed_addr global [102400 x i8] undef, align 1
  29. @some_mem_index = internal unnamed_addr global i64 0, align 8
  30. @is_windows.2 = internal unnamed_addr constant i1 false, align 1
  31. @is_posix = internal unnamed_addr constant i1 true, align 1
  32. @unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1
  33. @_errno = internal unnamed_addr constant i32* ()* @__error, align 8
  34. @1 = internal unnamed_addr constant i8* getelementptr inbounds ([24 x i8], [24 x i8]* @2, i64 0, i64 0), align 8
  35. @2 = internal unnamed_addr constant [24 x i8] c"reached unreachable code", align 1
  36. @3 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @2, i64 0, i64 0), i64 24 }, align 8
  37. @4 = internal unnamed_addr constant i1* @panicking, align 8
  38. @5 = internal unnamed_addr constant i1* @panicking, align 8
  39. @6 = internal unnamed_addr constant %File* @stderr_file, align 8
  40. @7 = internal unnamed_addr constant i8* getelementptr inbounds ([19 x i8], [19 x i8]* @8, i64 0, i64 0), align 8
  41. @8 = internal unnamed_addr constant [19 x i8] c"index out of bounds", align 1
  42. @9 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @8, i64 0, i64 0), i64 19 }, align 8
  43. @10 = internal unnamed_addr constant %"[]&u8"* @raw, align 8
  44. @11 = internal unnamed_addr constant i8* getelementptr inbounds ([16 x i8], [16 x i8]* @12, i64 0, i64 0), align 8
  45. @12 = internal unnamed_addr constant [16 x i8] c"integer overflow", align 1
  46. @13 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @12, i64 0, i64 0), i64 16 }, align 8
  47. @14 = internal unnamed_addr constant %"[]&u8"* @posix_environ_raw, align 8
  48. @15 = internal unnamed_addr constant i16 ()** @user_main_fn, align 8
  49. @16 = internal unnamed_addr constant %OutStream** @stderr_stream, align 8
  50. @17 = internal unnamed_addr constant %File* @stderr_file, align 8
  51. @18 = internal unnamed_addr constant %File* @stderr_file, align 8
  52. @19 = internal unnamed_addr constant %FileOutStream* @stderr_file_out_stream, align 8
  53. @20 = internal unnamed_addr constant %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), align 8
  54. @21 = internal unnamed_addr constant %OutStream** @stderr_stream, align 8
  55. @22 = internal unnamed_addr constant { i16, %OutStream* } { i16 0, %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1) }, align 8
  56. @23 = internal unnamed_addr constant i8* getelementptr inbounds ([51 x i8], [51 x i8]* @24, i64 0, i64 0), align 8
  57. @24 = internal unnamed_addr constant [51 x i8] c"(stack trace unavailable for Mach-O object format)\0A", align 1
  58. @25 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([51 x i8], [51 x i8]* @24, i64 0, i64 0), i64 51 }, align 8
  59. @26 = internal unnamed_addr constant i64* @some_mem_index, align 8
  60. @27 = internal unnamed_addr constant [102400 x i8]* @some_mem, align 8
  61. @28 = internal unnamed_addr constant i8* getelementptr inbounds ([44 x i8], [44 x i8]* @29, i64 0, i64 0), align 8
  62. @29 = internal unnamed_addr constant [44 x i8] c"remainder division by zero or negative value", align 1
  63. @30 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @29, i64 0, i64 0), i64 44 }, align 8
  64. @31 = internal unnamed_addr constant i64* @some_mem_index, align 8
  65. @32 = internal unnamed_addr constant { i16, %"[]u8" } { i16 5, %"[]u8" zeroinitializer }, align 8
  66. @33 = internal unnamed_addr constant [102400 x i8]* @some_mem, align 8
  67. @34 = internal unnamed_addr constant i64* @some_mem_index, align 8
  68. @35 = internal unnamed_addr constant %OutStream { i16 (%OutStream*, %"[]u8"*)* @FileOutStream_writeFn }, align 8
  69. @36 = internal unnamed_addr constant i8* getelementptr inbounds ([3 x i8], [3 x i8]* @37, i64 0, i64 2), align 8
  70. @37 = internal unnamed_addr constant [3 x i8] c"{}\0A", align 1
  71. @38 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @37, i64 0, i64 2), i64 1 }, align 8
  72. @39 = internal unnamed_addr constant i8* getelementptr inbounds ([50 x i8], [50 x i8]* @40, i64 0, i64 0), align 8
  73. @40 = internal unnamed_addr constant [50 x i8] c"attempt to cast negative value to unsigned integer", align 1
  74. @41 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @40, i64 0, i64 0), i64 50 }, align 8
  75.  
  76. ; Function Attrs: nobuiltin nounwind sspstrong
  77. define internal fastcc void @globalAlloc({ i16, %"[]u8" }* nonnull sret, %Allocator* nonnull, i64, i64) unnamed_addr #0 !dbg !181 {
  78. Entry:
  79. %4 = alloca %"[]u8", align 8
  80. %5 = alloca { i16, %"[]u8" }, align 8
  81. %self = alloca %Allocator*, align 8
  82. %n = alloca i64, align 8
  83. %alignment = alloca i64, align 8
  84. %addr = alloca i64, align 8
  85. %rem = alloca i64, align 8
  86. %march_forward_bytes = alloca i64, align 8
  87. %adjusted_index = alloca i64, align 8
  88. %end_index = alloca i64, align 8
  89. %result = alloca %"[]u8", align 8
  90. store %Allocator* %1, %Allocator** %self, align 8
  91. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !183, metadata !201), !dbg !202
  92. store i64 %2, i64* %n, align 8
  93. call void @llvm.dbg.declare(metadata i64* %n, metadata !184, metadata !201), !dbg !203
  94. store i64 %3, i64* %alignment, align 8
  95. call void @llvm.dbg.declare(metadata i64* %alignment, metadata !186, metadata !201), !dbg !204
  96. %6 = load i64, i64* @some_mem_index, align 8, !dbg !205
  97. %7 = icmp ult i64 %6, 102400, !dbg !206
  98. br i1 %7, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !206
  99.  
  100. Then: ; preds = %RemZeroOk
  101. br label %EndIf, !dbg !207
  102.  
  103. Else: ; preds = %RemZeroOk
  104. %8 = load i64, i64* %alignment, align 8, !dbg !208
  105. %9 = load i64, i64* %rem, align 8, !dbg !209
  106. %10 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %8, i64 %9), !dbg !210
  107. %11 = extractvalue { i64, i1 } %10, 0, !dbg !210
  108. %12 = extractvalue { i64, i1 } %10, 1, !dbg !210
  109. br i1 %12, label %OverflowFail, label %OverflowOk, !dbg !210
  110.  
  111. EndIf: ; preds = %OverflowOk, %Then
  112. %13 = phi i64 [ 0, %Then ], [ %11, %OverflowOk ], !dbg !207
  113. store i64 %13, i64* %march_forward_bytes, align 8, !dbg !211
  114. call void @llvm.dbg.declare(metadata i64* %march_forward_bytes, metadata !193, metadata !201), !dbg !211
  115. %14 = load i64, i64* @some_mem_index, align 8, !dbg !212
  116. %15 = load i64, i64* %march_forward_bytes, align 8, !dbg !213
  117. %16 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %14, i64 %15), !dbg !214
  118. %17 = extractvalue { i64, i1 } %16, 0, !dbg !214
  119. %18 = extractvalue { i64, i1 } %16, 1, !dbg !214
  120. br i1 %18, label %OverflowFail3, label %OverflowOk4, !dbg !214
  121.  
  122. Then1: ; preds = %OverflowOk6
  123. %19 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !215
  124. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %19, i8* bitcast ({ i16, %"[]u8" }* @32 to i8*), i64 24, i32 8, i1 false), !dbg !215
  125. ret void, !dbg !215
  126.  
  127. Else2: ; preds = %OverflowOk6
  128. %20 = load i64, i64* %adjusted_index, align 8, !dbg !217
  129. %21 = load i64, i64* %end_index, align 8, !dbg !218
  130. %22 = icmp ule i64 %20, %21, !dbg !219
  131. br i1 %22, label %BoundsCheckOk8, label %BoundsCheckFail7, !dbg !219
  132.  
  133. BoundsCheckFail: ; preds = %Entry
  134. call coldcc void @panic(%"[]u8"* @9), !dbg !206
  135. unreachable, !dbg !206
  136.  
  137. BoundsCheckOk: ; preds = %Entry
  138. %23 = getelementptr inbounds [102400 x i8], [102400 x i8]* @some_mem, i64 0, i64 %6, !dbg !206
  139. %24 = ptrtoint i8* %23 to i64, !dbg !220
  140. store i64 %24, i64* %addr, align 8, !dbg !221
  141. call void @llvm.dbg.declare(metadata i64* %addr, metadata !188, metadata !201), !dbg !221
  142. %25 = load i64, i64* %addr, align 8, !dbg !222
  143. %26 = load i64, i64* %alignment, align 8, !dbg !223
  144. %27 = icmp eq i64 %26, 0, !dbg !224
  145. br i1 %27, label %RemZeroFail, label %RemZeroOk, !dbg !224
  146.  
  147. RemZeroOk: ; preds = %BoundsCheckOk
  148. %28 = urem i64 %25, %26, !dbg !224
  149. store i64 %28, i64* %rem, align 8, !dbg !225
  150. call void @llvm.dbg.declare(metadata i64* %rem, metadata !191, metadata !201), !dbg !225
  151. %29 = load i64, i64* %rem, align 8, !dbg !226
  152. %30 = icmp eq i64 %29, 0, !dbg !227
  153. br i1 %30, label %Then, label %Else, !dbg !227
  154.  
  155. RemZeroFail: ; preds = %BoundsCheckOk
  156. call coldcc void @panic(%"[]u8"* @30), !dbg !224
  157. unreachable, !dbg !224
  158.  
  159. OverflowFail: ; preds = %Else
  160. call coldcc void @panic(%"[]u8"* @13), !dbg !210
  161. unreachable, !dbg !210
  162.  
  163. OverflowOk: ; preds = %Else
  164. br label %EndIf, !dbg !207
  165.  
  166. OverflowFail3: ; preds = %EndIf
  167. call coldcc void @panic(%"[]u8"* @13), !dbg !214
  168. unreachable, !dbg !214
  169.  
  170. OverflowOk4: ; preds = %EndIf
  171. store i64 %17, i64* %adjusted_index, align 8, !dbg !228
  172. call void @llvm.dbg.declare(metadata i64* %adjusted_index, metadata !195, metadata !201), !dbg !228
  173. %31 = load i64, i64* %adjusted_index, align 8, !dbg !229
  174. %32 = load i64, i64* %n, align 8, !dbg !230
  175. %33 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %31, i64 %32), !dbg !231
  176. %34 = extractvalue { i64, i1 } %33, 0, !dbg !231
  177. %35 = extractvalue { i64, i1 } %33, 1, !dbg !231
  178. br i1 %35, label %OverflowFail5, label %OverflowOk6, !dbg !231
  179.  
  180. OverflowFail5: ; preds = %OverflowOk4
  181. call coldcc void @panic(%"[]u8"* @13), !dbg !231
  182. unreachable, !dbg !231
  183.  
  184. OverflowOk6: ; preds = %OverflowOk4
  185. store i64 %34, i64* %end_index, align 8, !dbg !232
  186. call void @llvm.dbg.declare(metadata i64* %end_index, metadata !197, metadata !201), !dbg !232
  187. %36 = load i64, i64* %end_index, align 8, !dbg !233
  188. %37 = icmp ugt i64 %36, 102400, !dbg !234
  189. br i1 %37, label %Then1, label %Else2, !dbg !234
  190.  
  191. BoundsCheckFail7: ; preds = %Else2
  192. call coldcc void @panic(%"[]u8"* @9), !dbg !219
  193. unreachable, !dbg !219
  194.  
  195. BoundsCheckOk8: ; preds = %Else2
  196. %38 = icmp ule i64 %21, 102400, !dbg !219
  197. br i1 %38, label %BoundsCheckOk10, label %BoundsCheckFail9, !dbg !219
  198.  
  199. BoundsCheckFail9: ; preds = %BoundsCheckOk8
  200. call coldcc void @panic(%"[]u8"* @9), !dbg !219
  201. unreachable, !dbg !219
  202.  
  203. BoundsCheckOk10: ; preds = %BoundsCheckOk8
  204. %39 = getelementptr inbounds %"[]u8", %"[]u8"* %4, i32 0, i32 0, !dbg !219
  205. %40 = getelementptr inbounds [102400 x i8], [102400 x i8]* @some_mem, i64 0, i64 %20, !dbg !219
  206. store i8* %40, i8** %39, align 8, !dbg !219
  207. %41 = getelementptr inbounds %"[]u8", %"[]u8"* %4, i32 0, i32 1, !dbg !219
  208. %42 = sub nsw i64 %21, %20, !dbg !219
  209. store i64 %42, i64* %41, align 8, !dbg !219
  210. %43 = bitcast %"[]u8"* %4 to i8*, !dbg !235
  211. %44 = bitcast %"[]u8"* %result to i8*, !dbg !235
  212. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %44, i8* %43, i64 16, i32 8, i1 false), !dbg !235
  213. call void @llvm.dbg.declare(metadata %"[]u8"* %result, metadata !199, metadata !201), !dbg !235
  214. %45 = load i64, i64* %end_index, align 8, !dbg !236
  215. store i64 %45, i64* @some_mem_index, align 8, !dbg !238
  216. %46 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %5, i32 0, i32 0, !dbg !239
  217. store i16 0, i16* %46, align 2, !dbg !239
  218. %47 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %5, i32 0, i32 1, !dbg !239
  219. %48 = bitcast %"[]u8"* %result to i8*, !dbg !239
  220. %49 = bitcast %"[]u8"* %47 to i8*, !dbg !239
  221. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %49, i8* %48, i64 16, i32 8, i1 false), !dbg !239
  222. %50 = bitcast { i16, %"[]u8" }* %5 to i8*, !dbg !240
  223. %51 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !240
  224. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %51, i8* %50, i64 24, i32 8, i1 false), !dbg !240
  225. ret void, !dbg !240
  226. }
  227.  
  228. ; Function Attrs: nobuiltin nounwind sspstrong
  229. define internal fastcc void @globalRealloc({ i16, %"[]u8" }* nonnull sret, %Allocator* nonnull, %"[]u8"* byval nonnull readonly, i64, i64) unnamed_addr #0 !dbg !241 {
  230. Entry:
  231. %5 = alloca %"[]u8", align 8
  232. %6 = alloca { i16, %"[]u8" }, align 8
  233. %7 = alloca { i16, %"[]u8" }, align 8
  234. %8 = alloca { i16, %"[]u8" }, align 8
  235. %9 = alloca { i16, %"[]u8" }, align 8
  236. %10 = alloca { i16, %"[]u8" }, align 8
  237. %self = alloca %Allocator*, align 8
  238. %new_size = alloca i64, align 8
  239. %alignment = alloca i64, align 8
  240. %result = alloca %"[]u8", align 8
  241. store %Allocator* %1, %Allocator** %self, align 8
  242. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !243, metadata !201), !dbg !254
  243. call void @llvm.dbg.declare(metadata %"[]u8"* %2, metadata !244, metadata !201), !dbg !255
  244. store i64 %3, i64* %new_size, align 8
  245. call void @llvm.dbg.declare(metadata i64* %new_size, metadata !246, metadata !201), !dbg !256
  246. store i64 %4, i64* %alignment, align 8
  247. call void @llvm.dbg.declare(metadata i64* %alignment, metadata !248, metadata !201), !dbg !257
  248. %11 = load i64, i64* %new_size, align 8, !dbg !258
  249. %12 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !259
  250. %13 = load i64, i64* %12, align 8, !dbg !259
  251. %14 = icmp ule i64 %11, %13, !dbg !260
  252. br i1 %14, label %Then, label %Else, !dbg !260
  253.  
  254. Then: ; preds = %Entry
  255. %15 = load i64, i64* %new_size, align 8, !dbg !261
  256. %16 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !263
  257. %17 = load i64, i64* %16, align 8, !dbg !263
  258. %18 = icmp ule i64 0, %15, !dbg !263
  259. br i1 %18, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !263
  260.  
  261. Else: ; preds = %Entry
  262. %19 = load %Allocator*, %Allocator** %self, align 8, !dbg !264
  263. %20 = load i64, i64* %new_size, align 8, !dbg !265
  264. %21 = load i64, i64* %alignment, align 8, !dbg !266
  265. call fastcc void @globalAlloc({ i16, %"[]u8" }* %7, %Allocator* %19, i64 %20, i64 %21), !dbg !267
  266. %22 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %7, i32 0, i32 0, !dbg !268
  267. %23 = load i16, i16* %22, align 2, !dbg !268
  268. %24 = icmp ne i16 %23, 0, !dbg !268
  269. br i1 %24, label %ErrRetReturn, label %ErrRetContinue, !dbg !268
  270.  
  271. ErrRetReturn: ; preds = %Else
  272. %25 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %7, i32 0, i32 0, !dbg !268
  273. %26 = load i16, i16* %25, align 2, !dbg !268
  274. %27 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %9, i32 0, i32 0, !dbg !268
  275. store i16 %26, i16* %27, align 2, !dbg !268
  276. %28 = bitcast { i16, %"[]u8" }* %9 to i8*, !dbg !268
  277. %29 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !268
  278. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %29, i8* %28, i64 24, i32 8, i1 false), !dbg !268
  279. ret void, !dbg !268
  280.  
  281. ErrRetContinue: ; preds = %Else
  282. %30 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %7, i32 0, i32 1, !dbg !268
  283. %31 = bitcast %"[]u8"* %30 to i8*, !dbg !269
  284. %32 = bitcast %"[]u8"* %result to i8*, !dbg !269
  285. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %32, i8* %31, i64 16, i32 8, i1 false), !dbg !269
  286. call void @llvm.dbg.declare(metadata %"[]u8"* %result, metadata !250, metadata !201), !dbg !269
  287. %33 = getelementptr inbounds %"[]u8", %"[]u8"* %result, i32 0, i32 0, !dbg !270
  288. %34 = load i8*, i8** %33, align 8, !dbg !270
  289. %35 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 0, !dbg !272
  290. %36 = load i8*, i8** %35, align 8, !dbg !272
  291. %37 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !273
  292. %38 = load i64, i64* %37, align 8, !dbg !273
  293. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %34, i8* %36, i64 %38, i32 1, i1 false), !dbg !274
  294. %39 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %10, i32 0, i32 0, !dbg !275
  295. store i16 0, i16* %39, align 2, !dbg !275
  296. %40 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %10, i32 0, i32 1, !dbg !275
  297. %41 = bitcast %"[]u8"* %result to i8*, !dbg !275
  298. %42 = bitcast %"[]u8"* %40 to i8*, !dbg !275
  299. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %42, i8* %41, i64 16, i32 8, i1 false), !dbg !275
  300. %43 = bitcast { i16, %"[]u8" }* %10 to i8*, !dbg !276
  301. %44 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !276
  302. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %44, i8* %43, i64 24, i32 8, i1 false), !dbg !276
  303. ret void, !dbg !276
  304.  
  305. BoundsCheckFail: ; preds = %Then
  306. call coldcc void @panic(%"[]u8"* @9), !dbg !263
  307. unreachable, !dbg !263
  308.  
  309. BoundsCheckOk: ; preds = %Then
  310. %45 = icmp ule i64 %15, %17, !dbg !263
  311. br i1 %45, label %BoundsCheckOk2, label %BoundsCheckFail1, !dbg !263
  312.  
  313. BoundsCheckFail1: ; preds = %BoundsCheckOk
  314. call coldcc void @panic(%"[]u8"* @9), !dbg !263
  315. unreachable, !dbg !263
  316.  
  317. BoundsCheckOk2: ; preds = %BoundsCheckOk
  318. %46 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 0, !dbg !263
  319. %47 = load i8*, i8** %46, align 8, !dbg !263
  320. %48 = getelementptr inbounds %"[]u8", %"[]u8"* %5, i32 0, i32 0, !dbg !263
  321. %49 = getelementptr inbounds i8, i8* %47, i64 0, !dbg !263
  322. store i8* %49, i8** %48, align 8, !dbg !263
  323. %50 = getelementptr inbounds %"[]u8", %"[]u8"* %5, i32 0, i32 1, !dbg !263
  324. %51 = sub nsw i64 %15, 0, !dbg !263
  325. store i64 %51, i64* %50, align 8, !dbg !263
  326. %52 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %6, i32 0, i32 0, !dbg !263
  327. store i16 0, i16* %52, align 2, !dbg !263
  328. %53 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %6, i32 0, i32 1, !dbg !263
  329. %54 = bitcast %"[]u8"* %5 to i8*, !dbg !263
  330. %55 = bitcast %"[]u8"* %53 to i8*, !dbg !263
  331. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %55, i8* %54, i64 16, i32 8, i1 false), !dbg !263
  332. %56 = bitcast { i16, %"[]u8" }* %6 to i8*, !dbg !277
  333. %57 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !277
  334. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %57, i8* %56, i64 24, i32 8, i1 false), !dbg !277
  335. ret void, !dbg !277
  336. }
  337.  
  338. ; Function Attrs: nobuiltin nounwind sspstrong
  339. define internal fastcc void @globalFree(%Allocator* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !278 {
  340. Entry:
  341. %self = alloca %Allocator*, align 8
  342. store %Allocator* %0, %Allocator** %self, align 8
  343. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !280, metadata !201), !dbg !283
  344. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !281, metadata !201), !dbg !284
  345. ret void, !dbg !285
  346. }
  347.  
  348. ; Function Attrs: nobuiltin nounwind
  349. declare nonnull i32* @__error() #1
  350.  
  351. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  352. define internal coldcc void @panic(%"[]u8"* byval nonnull readonly) unnamed_addr #2 !dbg !287 {
  353. Entry:
  354. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !293, metadata !201), !dbg !294
  355. call fastcc void @panic.3(%"[]u8"* byval %0), !dbg !295
  356. unreachable, !dbg !295
  357. }
  358.  
  359. ; Function Attrs: nounwind readnone speculatable
  360. declare void @llvm.dbg.declare(metadata, metadata, metadata) #3
  361.  
  362. ; Function Attrs: nobuiltin noreturn nounwind sspstrong
  363. define internal fastcc void @panic.3(%"[]u8"* byval nonnull readonly) unnamed_addr #4 !dbg !299 {
  364. Entry:
  365. %1 = alloca { i16, %OutStream* }, align 8
  366. %2 = alloca { i16, %OutStream* }, align 8
  367. %3 = alloca i16, align 2
  368. %4 = alloca i16, align 2
  369. %stderr = alloca %OutStream*, align 8
  370. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !301, metadata !201), !dbg !315
  371. %5 = load i1, i1* @panicking, align 1, !dbg !316
  372. br i1 %5, label %Then, label %Else, !dbg !316
  373.  
  374. Then: ; preds = %Entry
  375. call coldcc void @abort.0(), !dbg !317
  376. unreachable, !dbg !317
  377.  
  378. Else: ; preds = %Entry
  379. store i1 true, i1* @panicking, align 1, !dbg !319
  380. br label %EndIf, !dbg !321
  381.  
  382. EndIf: ; preds = %Else
  383. call fastcc void @getStderrStream({ i16, %OutStream* }* %1), !dbg !322
  384. %6 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 0, !dbg !323
  385. %7 = load i16, i16* %6, align 2, !dbg !323
  386. %8 = icmp ne i16 %7, 0, !dbg !323
  387. br i1 %8, label %UnwrapErrError, label %UnwrapErrOk, !dbg !323
  388.  
  389. UnwrapErrError: ; preds = %EndIf
  390. call coldcc void @abort.0(), !dbg !324
  391. unreachable, !dbg !324
  392.  
  393. UnwrapErrOk: ; preds = %EndIf
  394. %9 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 1, !dbg !323
  395. %10 = load %OutStream*, %OutStream** %9, align 8, !dbg !323
  396. br label %UnwrapErrEnd, !dbg !323
  397.  
  398. UnwrapErrEnd: ; preds = %UnwrapErrOk
  399. store %OutStream* %10, %OutStream** %stderr, align 8, !dbg !325
  400. call void @llvm.dbg.declare(metadata %OutStream** %stderr, metadata !304, metadata !201), !dbg !325
  401. %11 = load %OutStream*, %OutStream** %stderr, align 8, !dbg !326
  402. %12 = call fastcc i16 @OutStream_print(%OutStream* %11, %"[]u8"* byval %0), !dbg !328
  403. store i16 %12, i16* %3, align 2, !dbg !328
  404. %13 = load i16, i16* %3, align 2, !dbg !329
  405. %14 = icmp ne i16 %13, 0, !dbg !329
  406. br i1 %14, label %UnwrapErrError1, label %UnwrapErrOk2, !dbg !329
  407.  
  408. UnwrapErrError1: ; preds = %UnwrapErrEnd
  409. call coldcc void @abort.0(), !dbg !330
  410. unreachable, !dbg !330
  411.  
  412. UnwrapErrOk2: ; preds = %UnwrapErrEnd
  413. %15 = load i16, i16* %3, align 2, !dbg !329
  414. br label %UnwrapErrEnd3, !dbg !329
  415.  
  416. UnwrapErrEnd3: ; preds = %UnwrapErrOk2
  417. %16 = load %OutStream*, %OutStream** %stderr, align 8, !dbg !331
  418. %17 = call fastcc i1 @File_isTty(%File* @stderr_file), !dbg !332
  419. %18 = call fastcc i16 @writeStackTrace(%OutStream* %16, %Allocator* @global_allocator_state, i1 %17, i64 1), !dbg !333
  420. store i16 %18, i16* %4, align 2, !dbg !333
  421. %19 = load i16, i16* %4, align 2, !dbg !334
  422. %20 = icmp ne i16 %19, 0, !dbg !334
  423. br i1 %20, label %UnwrapErrError4, label %UnwrapErrOk5, !dbg !334
  424.  
  425. UnwrapErrError4: ; preds = %UnwrapErrEnd3
  426. call coldcc void @abort.0(), !dbg !335
  427. unreachable, !dbg !335
  428.  
  429. UnwrapErrOk5: ; preds = %UnwrapErrEnd3
  430. %21 = load i16, i16* %4, align 2, !dbg !334
  431. br label %UnwrapErrEnd6, !dbg !334
  432.  
  433. UnwrapErrEnd6: ; preds = %UnwrapErrOk5
  434. call coldcc void @abort.0(), !dbg !336
  435. unreachable, !dbg !336
  436. }
  437.  
  438. ; Function Attrs: naked nobuiltin noreturn nounwind sspstrong
  439. define internal void @_start.0() unnamed_addr #5 !dbg !337 {
  440. Entry:
  441. call coldcc void @panic(%"[]u8"* @3), !dbg !341
  442. unreachable, !dbg !341
  443. }
  444.  
  445. ; Function Attrs: nobuiltin noreturn nounwind sspstrong
  446. define internal void @WinMainCRTStartup.0() unnamed_addr #4 !dbg !344 {
  447. Entry:
  448. call coldcc void @panic(%"[]u8"* @3), !dbg !345
  449. unreachable, !dbg !345
  450. }
  451.  
  452. ; Function Attrs: nobuiltin nounwind sspstrong
  453. define i32 @main(i32, i8** nonnull, i8** nonnull) #0 !dbg !348 {
  454. Entry:
  455. %3 = alloca i16, align 2
  456. %c_argc = alloca i32, align 4
  457. %c_argv = alloca i8**, align 8
  458. %c_envp = alloca i8**, align 8
  459. store i32 %0, i32* %c_argc, align 4
  460. call void @llvm.dbg.declare(metadata i32* %c_argc, metadata !355, metadata !201), !dbg !360
  461. store i8** %1, i8*** %c_argv, align 8
  462. call void @llvm.dbg.declare(metadata i8*** %c_argv, metadata !356, metadata !201), !dbg !361
  463. store i8** %2, i8*** %c_envp, align 8
  464. call void @llvm.dbg.declare(metadata i8*** %c_envp, metadata !358, metadata !201), !dbg !362
  465. %4 = load i32, i32* %c_argc, align 4, !dbg !363
  466. %5 = sext i32 %4 to i64, !dbg !366
  467. %6 = load i8**, i8*** %c_argv, align 8, !dbg !367
  468. %7 = load i8**, i8*** %c_envp, align 8, !dbg !368
  469. %8 = call fastcc i16 @callMain(i64 %5, i8** %6, i8** %7), !dbg !369
  470. store i16 %8, i16* %3, align 2, !dbg !369
  471. %9 = load i16, i16* %3, align 2, !dbg !370
  472. %10 = icmp ne i16 %9, 0, !dbg !370
  473. br i1 %10, label %UnwrapErrError, label %UnwrapErrOk, !dbg !370
  474.  
  475. UnwrapErrError: ; preds = %Entry
  476. ret i32 1, !dbg !371
  477.  
  478. UnwrapErrOk: ; preds = %Entry
  479. %11 = load i16, i16* %3, align 2, !dbg !370
  480. ret i32 0, !dbg !372
  481. }
  482.  
  483. ; Function Attrs: nobuiltin nounwind sspstrong
  484. define internal fastcc i16 @callMain(i64, i8** nonnull, i8** nonnull) unnamed_addr #0 !dbg !373 {
  485. Entry:
  486. %3 = alloca %"[]&u8", align 8
  487. %4 = alloca i8**, align 8
  488. %5 = alloca %"[]&u8", align 8
  489. %argc = alloca i64, align 8
  490. %argv = alloca i8**, align 8
  491. %envp = alloca i8**, align 8
  492. %env_count = alloca i64, align 8
  493. store i64 %0, i64* %argc, align 8
  494. call void @llvm.dbg.declare(metadata i64* %argc, metadata !377, metadata !201), !dbg !385
  495. store i8** %1, i8*** %argv, align 8
  496. call void @llvm.dbg.declare(metadata i8*** %argv, metadata !378, metadata !201), !dbg !386
  497. store i8** %2, i8*** %envp, align 8
  498. call void @llvm.dbg.declare(metadata i8*** %envp, metadata !380, metadata !201), !dbg !387
  499. %6 = load i64, i64* %argc, align 8, !dbg !388
  500. %7 = load i8**, i8*** %argv, align 8, !dbg !389
  501. %8 = icmp ule i64 0, %6, !dbg !389
  502. br i1 %8, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !389
  503.  
  504. WhileCond: ; preds = %OverflowOk, %BoundsCheckOk
  505. %9 = load i64, i64* %env_count, align 8, !dbg !390
  506. %10 = load i8**, i8*** %envp, align 8, !dbg !392
  507. %11 = getelementptr inbounds i8*, i8** %10, i64 %9, !dbg !392
  508. %12 = load i8*, i8** %11, align 8, !dbg !392
  509. %13 = icmp ne i8* %12, null, !dbg !393
  510. br i1 %13, label %WhileBody, label %WhileEnd, !dbg !393
  511.  
  512. WhileBody: ; preds = %WhileCond
  513. %14 = load i64, i64* %env_count, align 8, !dbg !394
  514. %15 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %14, i64 1), !dbg !395
  515. %16 = extractvalue { i64, i1 } %15, 0, !dbg !395
  516. %17 = extractvalue { i64, i1 } %15, 1, !dbg !395
  517. br i1 %17, label %OverflowFail, label %OverflowOk, !dbg !395
  518.  
  519. WhileEnd: ; preds = %WhileCond
  520. %18 = load i8**, i8*** %envp, align 8, !dbg !396
  521. store i8** %18, i8*** %4, align 8, !dbg !397
  522. %19 = load i64, i64* %env_count, align 8, !dbg !398
  523. %20 = load i8**, i8*** %4, align 8, !dbg !399
  524. %21 = icmp ule i64 0, %19, !dbg !399
  525. br i1 %21, label %BoundsCheckOk2, label %BoundsCheckFail1, !dbg !399
  526.  
  527. BoundsCheckFail: ; preds = %Entry
  528. call coldcc void @panic(%"[]u8"* @9), !dbg !389
  529. unreachable, !dbg !389
  530.  
  531. BoundsCheckOk: ; preds = %Entry
  532. %22 = getelementptr inbounds %"[]&u8", %"[]&u8"* %3, i32 0, i32 0, !dbg !389
  533. %23 = getelementptr inbounds i8*, i8** %7, i64 0, !dbg !389
  534. store i8** %23, i8*** %22, align 8, !dbg !389
  535. %24 = getelementptr inbounds %"[]&u8", %"[]&u8"* %3, i32 0, i32 1, !dbg !389
  536. %25 = sub nsw i64 %6, 0, !dbg !389
  537. store i64 %25, i64* %24, align 8, !dbg !389
  538. %26 = bitcast %"[]&u8"* %3 to i8*, !dbg !400
  539. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%"[]&u8"* @raw to i8*), i8* %26, i64 16, i32 8, i1 false), !dbg !400
  540. store i64 0, i64* %env_count, align 8, !dbg !401
  541. call void @llvm.dbg.declare(metadata i64* %env_count, metadata !382, metadata !201), !dbg !401
  542. br label %WhileCond, !dbg !402
  543.  
  544. OverflowFail: ; preds = %WhileBody
  545. call coldcc void @panic(%"[]u8"* @13), !dbg !395
  546. unreachable, !dbg !395
  547.  
  548. OverflowOk: ; preds = %WhileBody
  549. store i64 %16, i64* %env_count, align 8, !dbg !395
  550. br label %WhileCond, !dbg !402
  551.  
  552. BoundsCheckFail1: ; preds = %WhileEnd
  553. call coldcc void @panic(%"[]u8"* @9), !dbg !399
  554. unreachable, !dbg !399
  555.  
  556. BoundsCheckOk2: ; preds = %WhileEnd
  557. %27 = getelementptr inbounds %"[]&u8", %"[]&u8"* %5, i32 0, i32 0, !dbg !399
  558. %28 = getelementptr inbounds i8*, i8** %20, i64 0, !dbg !399
  559. store i8** %28, i8*** %27, align 8, !dbg !399
  560. %29 = getelementptr inbounds %"[]&u8", %"[]&u8"* %5, i32 0, i32 1, !dbg !399
  561. %30 = sub nsw i64 %19, 0, !dbg !399
  562. store i64 %30, i64* %29, align 8, !dbg !399
  563. %31 = bitcast %"[]&u8"* %5 to i8*, !dbg !403
  564. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%"[]&u8"* @posix_environ_raw to i8*), i8* %31, i64 16, i32 8, i1 false), !dbg !403
  565. store i16 ()* @main.0, i16 ()** @user_main_fn, align 8, !dbg !404
  566. %32 = call fastcc i16 @main.0(), !dbg !405
  567. ret i16 %32, !dbg !406
  568. }
  569.  
  570. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  571. define internal coldcc void @abort.0() unnamed_addr #2 !dbg !407 {
  572. Entry:
  573. call void @abort(), !dbg !408
  574. unreachable, !dbg !408
  575. }
  576.  
  577. ; Function Attrs: nobuiltin nounwind sspstrong
  578. define internal fastcc void @getStderrStream({ i16, %OutStream* }* nonnull sret) unnamed_addr #0 !dbg !411 {
  579. Entry:
  580. %1 = alloca { i16, %OutStream* }, align 8
  581. %2 = alloca { i16, %File }, align 4
  582. %3 = alloca { i16, %File }, align 4
  583. %4 = alloca { i16, %OutStream* }, align 8
  584. %5 = alloca %FileOutStream, align 8
  585. %st = alloca %OutStream*, align 8
  586. %st1 = alloca %OutStream*, align 8
  587. %6 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !424
  588. %7 = icmp ne %OutStream* %6, null, !dbg !424
  589. br i1 %7, label %MaybeThen, label %MaybeElse, !dbg !424
  590.  
  591. MaybeThen: ; preds = %Entry
  592. %8 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !424
  593. %9 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !424
  594. store %OutStream* %9, %OutStream** %st, align 8, !dbg !424
  595. call void @llvm.dbg.declare(metadata %OutStream** %st, metadata !420, metadata !201), !dbg !424
  596. %10 = load %OutStream*, %OutStream** %st, align 8, !dbg !425
  597. %11 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 0, !dbg !425
  598. store i16 0, i16* %11, align 2, !dbg !425
  599. %12 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 1, !dbg !425
  600. store %OutStream* %10, %OutStream** %12, align 8, !dbg !425
  601. %13 = bitcast { i16, %OutStream* }* %1 to i8*, !dbg !428
  602. %14 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !428
  603. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %14, i8* %13, i64 16, i32 8, i1 false), !dbg !428
  604. ret void, !dbg !428
  605.  
  606. MaybeElse: ; preds = %Entry
  607. call fastcc void @getStdErr({ i16, %File }* %2), !dbg !429
  608. %15 = getelementptr inbounds { i16, %File }, { i16, %File }* %2, i32 0, i32 0, !dbg !430
  609. %16 = load i16, i16* %15, align 2, !dbg !430
  610. %17 = icmp ne i16 %16, 0, !dbg !430
  611. br i1 %17, label %ErrRetReturn, label %ErrRetContinue, !dbg !430
  612.  
  613. ErrRetReturn: ; preds = %MaybeElse
  614. %18 = getelementptr inbounds { i16, %File }, { i16, %File }* %2, i32 0, i32 0, !dbg !430
  615. %19 = load i16, i16* %18, align 2, !dbg !430
  616. %20 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %4, i32 0, i32 0, !dbg !430
  617. store i16 %19, i16* %20, align 2, !dbg !430
  618. %21 = bitcast { i16, %OutStream* }* %4 to i8*, !dbg !430
  619. %22 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !430
  620. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %22, i8* %21, i64 16, i32 8, i1 false), !dbg !430
  621. ret void, !dbg !430
  622.  
  623. ErrRetContinue: ; preds = %MaybeElse
  624. %23 = getelementptr inbounds { i16, %File }, { i16, %File }* %2, i32 0, i32 1, !dbg !430
  625. %24 = bitcast %File* %23 to i8*, !dbg !431
  626. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%File* @stderr_file to i8*), i8* %24, i64 4, i32 4, i1 false), !dbg !431
  627. call fastcc void @FileOutStream_init(%FileOutStream* %5, %File* @stderr_file), !dbg !432
  628. %25 = bitcast %FileOutStream* %5 to i8*, !dbg !433
  629. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%FileOutStream* @stderr_file_out_stream to i8*), i8* %25, i64 16, i32 8, i1 false), !dbg !433
  630. store %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), %OutStream** %st1, align 8, !dbg !434
  631. call void @llvm.dbg.declare(metadata %OutStream** %st1, metadata !422, metadata !201), !dbg !434
  632. store %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), %OutStream** @stderr_stream, align 8, !dbg !435
  633. %26 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !437
  634. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %26, i8* bitcast ({ i16, %OutStream* }* @22 to i8*), i64 16, i32 8, i1 false), !dbg !437
  635. ret void, !dbg !437
  636. }
  637.  
  638. ; Function Attrs: nobuiltin nounwind sspstrong
  639. define internal fastcc i16 @OutStream_print(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !438 {
  640. Entry:
  641. %self = alloca %OutStream*, align 8
  642. store %OutStream* %0, %OutStream** %self, align 8
  643. call void @llvm.dbg.declare(metadata %OutStream** %self, metadata !440, metadata !201), !dbg !446
  644. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !444, metadata !201), !dbg !447
  645. %2 = load %OutStream*, %OutStream** %self, align 8, !dbg !448
  646. %3 = load %OutStream*, %OutStream** %self, align 8, !dbg !451
  647. %4 = getelementptr inbounds %OutStream, %OutStream* %3, i32 0, i32 0, !dbg !451
  648. %5 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %4, align 8, !dbg !451
  649. %6 = call fastcc i16 @format(%OutStream* %2, i16 (%OutStream*, %"[]u8"*)* %5, %"[]u8"* byval %1), !dbg !452
  650. ret i16 %6, !dbg !453
  651. }
  652.  
  653. ; Function Attrs: nobuiltin nounwind sspstrong
  654. define internal fastcc i1 @File_isTty(%File* nonnull) unnamed_addr #0 !dbg !454 {
  655. Entry:
  656. %self = alloca %File*, align 8
  657. store %File* %0, %File** %self, align 8
  658. call void @llvm.dbg.declare(metadata %File** %self, metadata !462, metadata !201), !dbg !463
  659. %1 = load %File*, %File** %self, align 8, !dbg !464
  660. %2 = getelementptr inbounds %File, %File* %1, i32 0, i32 0, !dbg !464
  661. %3 = load i32, i32* %2, align 4, !dbg !464
  662. %4 = call fastcc i1 @isTty(i32 %3), !dbg !467
  663. ret i1 %4, !dbg !468
  664. }
  665.  
  666. ; Function Attrs: nobuiltin nounwind sspstrong
  667. define internal fastcc i16 @writeStackTrace(%OutStream* nonnull, %Allocator* nonnull, i1, i64) unnamed_addr #0 !dbg !469 {
  668. Entry:
  669. %4 = alloca i16, align 2
  670. %out_stream = alloca %OutStream*, align 8
  671. %allocator = alloca %Allocator*, align 8
  672. %tty_color = alloca i1, align 1
  673. %ignore_frame_count = alloca i64, align 8
  674. store %OutStream* %0, %OutStream** %out_stream, align 8
  675. call void @llvm.dbg.declare(metadata %OutStream** %out_stream, metadata !473, metadata !201), !dbg !480
  676. store %Allocator* %1, %Allocator** %allocator, align 8
  677. call void @llvm.dbg.declare(metadata %Allocator** %allocator, metadata !474, metadata !201), !dbg !481
  678. store i1 %2, i1* %tty_color, align 1
  679. call void @llvm.dbg.declare(metadata i1* %tty_color, metadata !476, metadata !201), !dbg !482
  680. store i64 %3, i64* %ignore_frame_count, align 8
  681. call void @llvm.dbg.declare(metadata i64* %ignore_frame_count, metadata !478, metadata !201), !dbg !483
  682. %5 = load %OutStream*, %OutStream** %out_stream, align 8, !dbg !484
  683. %6 = call fastcc i16 @OutStream_write(%OutStream* %5, %"[]u8"* byval @25), !dbg !488
  684. store i16 %6, i16* %4, align 2, !dbg !488
  685. %7 = load i16, i16* %4, align 2, !dbg !489
  686. %8 = icmp ne i16 %7, 0, !dbg !489
  687. br i1 %8, label %ErrRetReturn, label %ErrRetContinue, !dbg !489
  688.  
  689. ErrRetReturn: ; preds = %Entry
  690. %9 = load i16, i16* %4, align 2, !dbg !489
  691. ret i16 %9, !dbg !489
  692.  
  693. ErrRetContinue: ; preds = %Entry
  694. %10 = load i16, i16* %4, align 2, !dbg !489
  695. ret i16 0, !dbg !490
  696. }
  697.  
  698. ; Function Attrs: argmemonly nounwind
  699. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #6
  700.  
  701. ; Function Attrs: nounwind readnone speculatable
  702. declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #3
  703.  
  704. ; Function Attrs: nobuiltin nounwind sspstrong
  705. define internal fastcc i16 @main.0() unnamed_addr #0 !dbg !491 {
  706. Entry:
  707. ret i16 0, !dbg !495
  708. }
  709.  
  710. ; Function Attrs: nobuiltin noreturn nounwind
  711. declare void @abort() #7
  712.  
  713. ; Function Attrs: nobuiltin nounwind sspstrong
  714. define internal fastcc void @getStdErr({ i16, %File }* nonnull sret) unnamed_addr #0 !dbg !496 {
  715. Entry:
  716. %1 = alloca %File, align 4
  717. %2 = alloca { i16, %File }, align 4
  718. call fastcc void @File_openHandle(%File* %1, i32 2), !dbg !504
  719. %3 = getelementptr inbounds { i16, %File }, { i16, %File }* %2, i32 0, i32 0, !dbg !504
  720. store i16 0, i16* %3, align 2, !dbg !504
  721. %4 = getelementptr inbounds { i16, %File }, { i16, %File }* %2, i32 0, i32 1, !dbg !504
  722. %5 = bitcast %File* %1 to i8*, !dbg !504
  723. %6 = bitcast %File* %4 to i8*, !dbg !504
  724. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* %5, i64 4, i32 4, i1 false), !dbg !504
  725. %7 = bitcast { i16, %File }* %2 to i8*, !dbg !507
  726. %8 = bitcast { i16, %File }* %0 to i8*, !dbg !507
  727. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 8, i32 4, i1 false), !dbg !507
  728. ret void, !dbg !507
  729. }
  730.  
  731. ; Function Attrs: nobuiltin nounwind sspstrong
  732. define internal fastcc void @FileOutStream_init(%FileOutStream* nonnull sret, %File* nonnull) unnamed_addr #0 !dbg !508 {
  733. Entry:
  734. %2 = alloca %FileOutStream, align 8
  735. %file = alloca %File*, align 8
  736. store %File* %1, %File** %file, align 8
  737. call void @llvm.dbg.declare(metadata %File** %file, metadata !517, metadata !201), !dbg !518
  738. %3 = load %File*, %File** %file, align 8, !dbg !519
  739. %4 = getelementptr inbounds %FileOutStream, %FileOutStream* %2, i32 0, i32 0, !dbg !522
  740. store %File* %3, %File** %4, align 8, !dbg !522
  741. %5 = getelementptr inbounds %FileOutStream, %FileOutStream* %2, i32 0, i32 1, !dbg !522
  742. %6 = bitcast %OutStream* %5 to i8*, !dbg !522
  743. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* bitcast (%OutStream* @35 to i8*), i64 8, i32 8, i1 false), !dbg !522
  744. %7 = bitcast %FileOutStream* %2 to i8*, !dbg !523
  745. %8 = bitcast %FileOutStream* %0 to i8*, !dbg !523
  746. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 16, i32 8, i1 false), !dbg !523
  747. ret void, !dbg !523
  748. }
  749.  
  750. ; Function Attrs: nobuiltin nounwind sspstrong
  751. define internal fastcc i16 @format(%OutStream* nonnull, i16 (%OutStream*, %"[]u8"*)*, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !524 {
  752. Entry:
  753. %3 = alloca i16, align 2
  754. %4 = alloca i16, align 2
  755. %context = alloca %OutStream*, align 8
  756. %output = alloca i16 (%OutStream*, %"[]u8"*)*, align 8
  757. store %OutStream* %0, %OutStream** %context, align 8
  758. call void @llvm.dbg.declare(metadata %OutStream** %context, metadata !528, metadata !201), !dbg !537
  759. store i16 (%OutStream*, %"[]u8"*)* %1, i16 (%OutStream*, %"[]u8"*)** %output, align 8
  760. call void @llvm.dbg.declare(metadata i16 (%OutStream*, %"[]u8"*)** %output, metadata !533, metadata !201), !dbg !538
  761. call void @llvm.dbg.declare(metadata %"[]u8"* %2, metadata !535, metadata !201), !dbg !539
  762. %5 = load %OutStream*, %OutStream** %context, align 8, !dbg !540
  763. %6 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !554
  764. %7 = call fastcc i16 @formatValue(%"[]u8"* byval %2, %OutStream* %5, i16 (%OutStream*, %"[]u8"*)* %6), !dbg !555
  765. store i16 %7, i16* %3, align 2, !dbg !555
  766. %8 = load i16, i16* %3, align 2, !dbg !556
  767. %9 = icmp ne i16 %8, 0, !dbg !556
  768. br i1 %9, label %ErrRetReturn, label %ErrRetContinue, !dbg !556
  769.  
  770. ErrRetReturn: ; preds = %Entry
  771. %10 = load i16, i16* %3, align 2, !dbg !556
  772. ret i16 %10, !dbg !556
  773.  
  774. ErrRetContinue: ; preds = %Entry
  775. %11 = load i16, i16* %3, align 2, !dbg !556
  776. %12 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !557
  777. %13 = load %OutStream*, %OutStream** %context, align 8, !dbg !559
  778. %14 = call fastcc i16 %12(%OutStream* %13, %"[]u8"* byval @38), !dbg !560
  779. store i16 %14, i16* %4, align 2, !dbg !560
  780. %15 = load i16, i16* %4, align 2, !dbg !561
  781. %16 = icmp ne i16 %15, 0, !dbg !561
  782. br i1 %16, label %ErrRetReturn1, label %ErrRetContinue2, !dbg !561
  783.  
  784. ErrRetReturn1: ; preds = %ErrRetContinue
  785. %17 = load i16, i16* %4, align 2, !dbg !561
  786. ret i16 %17, !dbg !561
  787.  
  788. ErrRetContinue2: ; preds = %ErrRetContinue
  789. %18 = load i16, i16* %4, align 2, !dbg !561
  790. ret i16 0, !dbg !562
  791. }
  792.  
  793. ; Function Attrs: nobuiltin nounwind sspstrong
  794. define internal fastcc i16 @OutStream_write(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !563 {
  795. Entry:
  796. %self = alloca %OutStream*, align 8
  797. store %OutStream* %0, %OutStream** %self, align 8
  798. call void @llvm.dbg.declare(metadata %OutStream** %self, metadata !565, metadata !201), !dbg !568
  799. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !566, metadata !201), !dbg !569
  800. %2 = load %OutStream*, %OutStream** %self, align 8, !dbg !570
  801. %3 = getelementptr inbounds %OutStream, %OutStream* %2, i32 0, i32 0, !dbg !570
  802. %4 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %3, align 8, !dbg !570
  803. %5 = load %OutStream*, %OutStream** %self, align 8, !dbg !573
  804. %6 = call fastcc i16 %4(%OutStream* %5, %"[]u8"* byval %1), !dbg !574
  805. ret i16 %6, !dbg !575
  806. }
  807.  
  808. ; Function Attrs: nounwind readnone speculatable
  809. declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) #3
  810.  
  811. ; Function Attrs: nobuiltin nounwind sspstrong
  812. define internal fastcc i1 @isTty(i32) unnamed_addr #0 !dbg !576 {
  813. Entry:
  814. %handle = alloca i32, align 4
  815. store i32 %0, i32* %handle, align 4
  816. call void @llvm.dbg.declare(metadata i32* %handle, metadata !580, metadata !201), !dbg !581
  817. %1 = load i32, i32* %handle, align 4, !dbg !582
  818. %2 = call i32 @isatty(i32 %1), !dbg !587
  819. %3 = icmp ne i32 %2, 0, !dbg !588
  820. ret i1 %3, !dbg !589
  821. }
  822.  
  823. ; Function Attrs: nobuiltin nounwind sspstrong
  824. define internal fastcc void @File_openHandle(%File* nonnull sret, i32) unnamed_addr #0 !dbg !590 {
  825. Entry:
  826. %2 = alloca %File, align 4
  827. %handle = alloca i32, align 4
  828. store i32 %1, i32* %handle, align 4
  829. call void @llvm.dbg.declare(metadata i32* %handle, metadata !594, metadata !201), !dbg !595
  830. %3 = load i32, i32* %handle, align 4, !dbg !596
  831. %4 = getelementptr inbounds %File, %File* %2, i32 0, i32 0, !dbg !599
  832. store i32 %3, i32* %4, align 4, !dbg !599
  833. %5 = bitcast %File* %2 to i8*, !dbg !600
  834. %6 = bitcast %File* %0 to i8*, !dbg !600
  835. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* %5, i64 4, i32 4, i1 false), !dbg !600
  836. ret void, !dbg !600
  837. }
  838.  
  839. ; Function Attrs: nobuiltin nounwind sspstrong
  840. define internal fastcc i16 @FileOutStream_writeFn(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !601 {
  841. Entry:
  842. %out_stream = alloca %OutStream*, align 8
  843. %self = alloca %FileOutStream*, align 8
  844. store %OutStream* %0, %OutStream** %out_stream, align 8
  845. call void @llvm.dbg.declare(metadata %OutStream** %out_stream, metadata !603, metadata !201), !dbg !609
  846. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !604, metadata !201), !dbg !610
  847. %2 = load %OutStream*, %OutStream** %out_stream, align 8, !dbg !611
  848. %3 = ptrtoint %OutStream* %2 to i64, !dbg !612
  849. %4 = sub nuw i64 %3, 8, !dbg !612
  850. %5 = inttoptr i64 %4 to %FileOutStream*, !dbg !612
  851. store %FileOutStream* %5, %FileOutStream** %self, align 8, !dbg !613
  852. call void @llvm.dbg.declare(metadata %FileOutStream** %self, metadata !606, metadata !201), !dbg !613
  853. %6 = load %FileOutStream*, %FileOutStream** %self, align 8, !dbg !614
  854. %7 = getelementptr inbounds %FileOutStream, %FileOutStream* %6, i32 0, i32 0, !dbg !614
  855. %8 = load %File*, %File** %7, align 8, !dbg !616
  856. %9 = call fastcc i16 @File_write(%File* %8, %"[]u8"* byval %1), !dbg !617
  857. ret i16 %9, !dbg !618
  858. }
  859.  
  860. ; Function Attrs: nobuiltin nounwind sspstrong
  861. define internal fastcc i16 @formatValue(%"[]u8"* byval nonnull readonly, %OutStream* nonnull, i16 (%OutStream*, %"[]u8"*)*) unnamed_addr #0 !dbg !619 {
  862. Entry:
  863. %context = alloca %OutStream*, align 8
  864. %output = alloca i16 (%OutStream*, %"[]u8"*)*, align 8
  865. %casted_value = alloca %"[]u8", align 8
  866. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !623, metadata !201), !dbg !636
  867. store %OutStream* %1, %OutStream** %context, align 8
  868. call void @llvm.dbg.declare(metadata %OutStream** %context, metadata !627, metadata !201), !dbg !637
  869. store i16 (%OutStream*, %"[]u8"*)* %2, i16 (%OutStream*, %"[]u8"*)** %output, align 8
  870. call void @llvm.dbg.declare(metadata i16 (%OutStream*, %"[]u8"*)** %output, metadata !629, metadata !201), !dbg !638
  871. %3 = bitcast %"[]u8"* %0 to i8*, !dbg !639
  872. %4 = bitcast %"[]u8"* %casted_value to i8*, !dbg !639
  873. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* %3, i64 16, i32 8, i1 false), !dbg !639
  874. call void @llvm.dbg.declare(metadata %"[]u8"* %casted_value, metadata !631, metadata !201), !dbg !639
  875. %5 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !640
  876. %6 = load %OutStream*, %OutStream** %context, align 8, !dbg !642
  877. %7 = call fastcc i16 %5(%OutStream* %6, %"[]u8"* byval %casted_value), !dbg !643
  878. ret i16 %7, !dbg !644
  879. }
  880.  
  881. ; Function Attrs: nobuiltin nounwind
  882. declare i32 @isatty(i32) #1
  883.  
  884. ; Function Attrs: nobuiltin nounwind sspstrong
  885. define internal fastcc i16 @File_write(%File* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !645 {
  886. Entry:
  887. %2 = alloca i16, align 2
  888. %self = alloca %File*, align 8
  889. store %File* %0, %File** %self, align 8
  890. call void @llvm.dbg.declare(metadata %File** %self, metadata !649, metadata !201), !dbg !652
  891. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !650, metadata !201), !dbg !653
  892. %3 = load %File*, %File** %self, align 8, !dbg !654
  893. %4 = getelementptr inbounds %File, %File* %3, i32 0, i32 0, !dbg !654
  894. %5 = load i32, i32* %4, align 4, !dbg !654
  895. %6 = call fastcc i16 @posixWrite(i32 %5, %"[]u8"* byval %1), !dbg !658
  896. store i16 %6, i16* %2, align 2, !dbg !658
  897. %7 = load i16, i16* %2, align 2, !dbg !659
  898. %8 = icmp ne i16 %7, 0, !dbg !659
  899. br i1 %8, label %ErrRetReturn, label %ErrRetContinue, !dbg !659
  900.  
  901. ErrRetReturn: ; preds = %Entry
  902. %9 = load i16, i16* %2, align 2, !dbg !659
  903. ret i16 %9, !dbg !659
  904.  
  905. ErrRetContinue: ; preds = %Entry
  906. %10 = load i16, i16* %2, align 2, !dbg !659
  907. ret i16 0, !dbg !660
  908. }
  909.  
  910. ; Function Attrs: nobuiltin nounwind sspstrong
  911. define internal fastcc i16 @posixWrite(i32, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !661 {
  912. Entry:
  913. %fd = alloca i32, align 4
  914. %write_ret = alloca i64, align 8
  915. %write_err = alloca i64, align 8
  916. store i32 %0, i32* %fd, align 4
  917. call void @llvm.dbg.declare(metadata i32* %fd, metadata !665, metadata !201), !dbg !674
  918. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !666, metadata !201), !dbg !675
  919. br label %WhileCond, !dbg !676
  920.  
  921. WhileCond: ; preds = %SwitchProng, %Entry
  922. br label %WhileBody, !dbg !677
  923.  
  924. WhileBody: ; preds = %WhileCond
  925. %2 = load i32, i32* %fd, align 4, !dbg !678
  926. %3 = getelementptr inbounds %"[]u8", %"[]u8"* %1, i32 0, i32 0, !dbg !679
  927. %4 = load i8*, i8** %3, align 8, !dbg !679
  928. %5 = getelementptr inbounds %"[]u8", %"[]u8"* %1, i32 0, i32 1, !dbg !680
  929. %6 = load i64, i64* %5, align 8, !dbg !680
  930. %7 = call fastcc i64 @write.0(i32 %2, i8* %4, i64 %6), !dbg !681
  931. store i64 %7, i64* %write_ret, align 8, !dbg !682
  932. call void @llvm.dbg.declare(metadata i64* %write_ret, metadata !668, metadata !201), !dbg !682
  933. %8 = load i64, i64* %write_ret, align 8, !dbg !683
  934. %9 = call fastcc i64 @getErrno(i64 %8), !dbg !684
  935. store i64 %9, i64* %write_err, align 8, !dbg !685
  936. call void @llvm.dbg.declare(metadata i64* %write_err, metadata !672, metadata !201), !dbg !685
  937. %10 = load i64, i64* %write_err, align 8, !dbg !686
  938. %11 = icmp ugt i64 %10, 0, !dbg !688
  939. br i1 %11, label %Then, label %Else, !dbg !688
  940.  
  941. Then: ; preds = %WhileBody
  942. %12 = load i64, i64* %write_err, align 8, !dbg !689
  943. switch i64 %12, label %SwitchElse [
  944. i64 4, label %SwitchProng
  945. i64 22, label %SwitchProng1
  946. i64 14, label %SwitchProng1
  947. i64 35, label %SwitchProng2
  948. i64 9, label %SwitchProng3
  949. i64 39, label %SwitchProng4
  950. i64 69, label %SwitchProng5
  951. i64 27, label %SwitchProng6
  952. i64 5, label %SwitchProng7
  953. i64 28, label %SwitchProng8
  954. i64 1, label %SwitchProng9
  955. i64 32, label %SwitchProng10
  956. ], !dbg !689
  957.  
  958. Else: ; preds = %WhileBody
  959. ret i16 0, !dbg !691
  960.  
  961. SwitchProng: ; preds = %Then
  962. br label %WhileCond, !dbg !692
  963.  
  964. SwitchProng1: ; preds = %Then, %Then
  965. call coldcc void @panic(%"[]u8"* @3), !dbg !693
  966. unreachable, !dbg !693
  967.  
  968. SwitchProng2: ; preds = %Then
  969. br label %SwitchEnd, !dbg !689
  970.  
  971. SwitchProng3: ; preds = %Then
  972. br label %SwitchEnd, !dbg !689
  973.  
  974. SwitchProng4: ; preds = %Then
  975. br label %SwitchEnd, !dbg !689
  976.  
  977. SwitchProng5: ; preds = %Then
  978. br label %SwitchEnd, !dbg !689
  979.  
  980. SwitchProng6: ; preds = %Then
  981. br label %SwitchEnd, !dbg !689
  982.  
  983. SwitchProng7: ; preds = %Then
  984. br label %SwitchEnd, !dbg !689
  985.  
  986. SwitchProng8: ; preds = %Then
  987. br label %SwitchEnd, !dbg !689
  988.  
  989. SwitchProng9: ; preds = %Then
  990. br label %SwitchEnd, !dbg !689
  991.  
  992. SwitchProng10: ; preds = %Then
  993. br label %SwitchEnd, !dbg !689
  994.  
  995. SwitchElse: ; preds = %Then
  996. %13 = load i64, i64* %write_err, align 8, !dbg !694
  997. %14 = call fastcc i16 @unexpectedErrorPosix(i64 %13), !dbg !695
  998. br label %SwitchEnd, !dbg !689
  999.  
  1000. SwitchEnd: ; preds = %SwitchElse, %SwitchProng10, %SwitchProng9, %SwitchProng8, %SwitchProng7, %SwitchProng6, %SwitchProng5, %SwitchProng4, %SwitchProng3, %SwitchProng2
  1001. %15 = phi i16 [ 19, %SwitchProng2 ], [ 20, %SwitchProng3 ], [ 21, %SwitchProng4 ], [ 22, %SwitchProng5 ], [ 23, %SwitchProng6 ], [ 24, %SwitchProng7 ], [ 25, %SwitchProng8 ], [ 7, %SwitchProng9 ], [ 26, %SwitchProng10 ], [ %14, %SwitchElse ], !dbg !689
  1002. ret i16 %15, !dbg !696
  1003. }
  1004.  
  1005. ; Function Attrs: nobuiltin nounwind sspstrong
  1006. define internal fastcc i64 @write.0(i32, i8* nonnull readonly, i64) unnamed_addr #0 !dbg !697 {
  1007. Entry:
  1008. %fd = alloca i32, align 4
  1009. %buf = alloca i8*, align 8
  1010. %nbyte = alloca i64, align 8
  1011. store i32 %0, i32* %fd, align 4
  1012. call void @llvm.dbg.declare(metadata i32* %fd, metadata !701, metadata !201), !dbg !706
  1013. store i8* %1, i8** %buf, align 8
  1014. call void @llvm.dbg.declare(metadata i8** %buf, metadata !702, metadata !201), !dbg !707
  1015. store i64 %2, i64* %nbyte, align 8
  1016. call void @llvm.dbg.declare(metadata i64* %nbyte, metadata !704, metadata !201), !dbg !708
  1017. %3 = load i32, i32* %fd, align 4, !dbg !709
  1018. %4 = load i8*, i8** %buf, align 8, !dbg !712
  1019. %5 = load i64, i64* %nbyte, align 8, !dbg !713
  1020. %6 = call i32 @write(i32 %3, i8* %4, i64 %5), !dbg !714
  1021. %7 = sext i32 %6 to i64, !dbg !714
  1022. %8 = call fastcc i64 @errnoWrap(i64 %7), !dbg !715
  1023. ret i64 %8, !dbg !716
  1024. }
  1025.  
  1026. ; Function Attrs: nobuiltin nounwind sspstrong
  1027. define internal fastcc i64 @getErrno(i64) unnamed_addr #0 !dbg !717 {
  1028. Entry:
  1029. %r = alloca i64, align 8
  1030. %signed_r = alloca i64, align 8
  1031. store i64 %0, i64* %r, align 8
  1032. call void @llvm.dbg.declare(metadata i64* %r, metadata !721, metadata !201), !dbg !726
  1033. %1 = load i64, i64* %r, align 8, !dbg !727
  1034. store i64 %1, i64* %signed_r, align 8, !dbg !728
  1035. call void @llvm.dbg.declare(metadata i64* %signed_r, metadata !722, metadata !201), !dbg !728
  1036. %2 = load i64, i64* %signed_r, align 8, !dbg !729
  1037. %3 = icmp sgt i64 %2, -4096, !dbg !731
  1038. br i1 %3, label %BoolAndTrue, label %BoolAndFalse, !dbg !732
  1039.  
  1040. BoolAndTrue: ; preds = %Entry
  1041. %4 = load i64, i64* %signed_r, align 8, !dbg !733
  1042. %5 = icmp slt i64 %4, 0, !dbg !734
  1043. br label %BoolAndFalse, !dbg !732
  1044.  
  1045. BoolAndFalse: ; preds = %BoolAndTrue, %Entry
  1046. %6 = phi i1 [ %3, %Entry ], [ %5, %BoolAndTrue ], !dbg !732
  1047. br i1 %6, label %Then, label %Else, !dbg !732
  1048.  
  1049. Then: ; preds = %BoolAndFalse
  1050. %7 = load i64, i64* %signed_r, align 8, !dbg !735
  1051. %8 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 0, i64 %7), !dbg !736
  1052. %9 = extractvalue { i64, i1 } %8, 0, !dbg !736
  1053. %10 = extractvalue { i64, i1 } %8, 1, !dbg !736
  1054. br i1 %10, label %OverflowFail, label %OverflowOk, !dbg !736
  1055.  
  1056. Else: ; preds = %BoolAndFalse
  1057. br label %EndIf, !dbg !737
  1058.  
  1059. EndIf: ; preds = %Else, %SignCastOk
  1060. %11 = phi i64 [ %9, %SignCastOk ], [ 0, %Else ], !dbg !737
  1061. ret i64 %11, !dbg !738
  1062.  
  1063. OverflowFail: ; preds = %Then
  1064. call coldcc void @panic(%"[]u8"* @13), !dbg !736
  1065. unreachable, !dbg !736
  1066.  
  1067. OverflowOk: ; preds = %Then
  1068. %12 = icmp sge i64 %9, 0, !dbg !739
  1069. br i1 %12, label %SignCastOk, label %SignCastFail, !dbg !739
  1070.  
  1071. SignCastOk: ; preds = %OverflowOk
  1072. br label %EndIf, !dbg !737
  1073.  
  1074. SignCastFail: ; preds = %OverflowOk
  1075. call coldcc void @panic(%"[]u8"* @41), !dbg !739
  1076. unreachable, !dbg !739
  1077. }
  1078.  
  1079. ; Function Attrs: nobuiltin nounwind sspstrong
  1080. define internal fastcc i16 @unexpectedErrorPosix(i64) unnamed_addr #0 !dbg !740 {
  1081. Entry:
  1082. %errno = alloca i64, align 8
  1083. store i64 %0, i64* %errno, align 8
  1084. call void @llvm.dbg.declare(metadata i64* %errno, metadata !744, metadata !201), !dbg !745
  1085. ret i16 32, !dbg !746
  1086. }
  1087.  
  1088. ; Function Attrs: nobuiltin nounwind
  1089. declare i32 @write(i32, i8* nonnull readonly, i64) #1
  1090.  
  1091. ; Function Attrs: nobuiltin nounwind sspstrong
  1092. define internal fastcc i64 @errnoWrap(i64) unnamed_addr #0 !dbg !749 {
  1093. Entry:
  1094. %value = alloca i64, align 8
  1095. store i64 %0, i64* %value, align 8
  1096. call void @llvm.dbg.declare(metadata i64* %value, metadata !753, metadata !201), !dbg !754
  1097. %1 = load i64, i64* %value, align 8, !dbg !755
  1098. %2 = icmp eq i64 %1, -1, !dbg !758
  1099. br i1 %2, label %Then, label %Else, !dbg !758
  1100.  
  1101. Then: ; preds = %Entry
  1102. %3 = call i32* @__error(), !dbg !759
  1103. %4 = load i32, i32* %3, align 4, !dbg !761
  1104. %5 = sext i32 %4 to i64, !dbg !762
  1105. %6 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 0, i64 %5), !dbg !763
  1106. %7 = extractvalue { i64, i1 } %6, 0, !dbg !763
  1107. %8 = extractvalue { i64, i1 } %6, 1, !dbg !763
  1108. br i1 %8, label %OverflowFail, label %OverflowOk, !dbg !763
  1109.  
  1110. Else: ; preds = %Entry
  1111. %9 = load i64, i64* %value, align 8, !dbg !764
  1112. br label %EndIf, !dbg !766
  1113.  
  1114. EndIf: ; preds = %Else, %OverflowOk
  1115. %10 = phi i64 [ %7, %OverflowOk ], [ %9, %Else ], !dbg !766
  1116. ret i64 %10, !dbg !767
  1117.  
  1118. OverflowFail: ; preds = %Then
  1119. call coldcc void @panic(%"[]u8"* @13), !dbg !763
  1120. unreachable, !dbg !763
  1121.  
  1122. OverflowOk: ; preds = %Then
  1123. br label %EndIf, !dbg !766
  1124. }
  1125.  
  1126. ; Function Attrs: nounwind readnone speculatable
  1127. declare { i64, i1 } @llvm.ssub.with.overflow.i64(i64, i64) #3
  1128.  
  1129. attributes #0 = { nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  1130. attributes #1 = { nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  1131. attributes #2 = { cold nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  1132. attributes #3 = { nounwind readnone speculatable }
  1133. attributes #4 = { nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  1134. attributes #5 = { naked nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  1135. attributes #6 = { argmemonly nounwind }
  1136. attributes #7 = { nobuiltin noreturn nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  1137.  
  1138. !llvm.module.flags = !{!0}
  1139. !llvm.dbg.cu = !{!1}
  1140.  
  1141. !0 = !{i32 2, !"Debug Info Version", i32 3}
  1142. !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "zig 0.1.1.339d48ac", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !93)
  1143. !2 = !DIFile(filename: "hello", directory: ".")
  1144. !3 = !{!4, !40, !47, !55, !66}
  1145. !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Os", scope: !5, file: !5, line: 1, baseType: !6, size: 8, align: 8, elements: !7)
  1146. !5 = !DIFile(filename: "builtin.zig", directory: "/Users/jfo/sandbox/zigwasm/zig-cache")
  1147. !6 = !DIBasicType(name: "u5", size: 8, encoding: DW_ATE_unsigned)
  1148. !7 = !{!8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39}
  1149. !8 = !DIEnumerator(name: "freestanding", value: 0)
  1150. !9 = !DIEnumerator(name: "ananas", value: 1)
  1151. !10 = !DIEnumerator(name: "cloudabi", value: 2)
  1152. !11 = !DIEnumerator(name: "darwin", value: 3)
  1153. !12 = !DIEnumerator(name: "dragonfly", value: 4)
  1154. !13 = !DIEnumerator(name: "freebsd", value: 5)
  1155. !14 = !DIEnumerator(name: "fuchsia", value: 6)
  1156. !15 = !DIEnumerator(name: "ios", value: 7)
  1157. !16 = !DIEnumerator(name: "kfreebsd", value: 8)
  1158. !17 = !DIEnumerator(name: "linux", value: 9)
  1159. !18 = !DIEnumerator(name: "lv2", value: 10)
  1160. !19 = !DIEnumerator(name: "macosx", value: 11)
  1161. !20 = !DIEnumerator(name: "netbsd", value: 12)
  1162. !21 = !DIEnumerator(name: "openbsd", value: 13)
  1163. !22 = !DIEnumerator(name: "solaris", value: 14)
  1164. !23 = !DIEnumerator(name: "windows", value: 15)
  1165. !24 = !DIEnumerator(name: "haiku", value: 16)
  1166. !25 = !DIEnumerator(name: "minix", value: 17)
  1167. !26 = !DIEnumerator(name: "rtems", value: 18)
  1168. !27 = !DIEnumerator(name: "nacl", value: 19)
  1169. !28 = !DIEnumerator(name: "cnk", value: 20)
  1170. !29 = !DIEnumerator(name: "bitrig", value: 21)
  1171. !30 = !DIEnumerator(name: "aix", value: 22)
  1172. !31 = !DIEnumerator(name: "cuda", value: 23)
  1173. !32 = !DIEnumerator(name: "nvcl", value: 24)
  1174. !33 = !DIEnumerator(name: "amdhsa", value: 25)
  1175. !34 = !DIEnumerator(name: "ps4", value: 26)
  1176. !35 = !DIEnumerator(name: "elfiamcu", value: 27)
  1177. !36 = !DIEnumerator(name: "tvos", value: 28)
  1178. !37 = !DIEnumerator(name: "watchos", value: 29)
  1179. !38 = !DIEnumerator(name: "mesa3d", value: 30)
  1180. !39 = !DIEnumerator(name: "contiki", value: 31)
  1181. !40 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage", scope: !5, file: !5, line: 138, baseType: !41, size: 8, align: 8, elements: !42)
  1182. !41 = !DIBasicType(name: "u2", size: 8, encoding: DW_ATE_unsigned)
  1183. !42 = !{!43, !44, !45, !46}
  1184. !43 = !DIEnumerator(name: "Internal", value: 0)
  1185. !44 = !DIEnumerator(name: "Strong", value: 1)
  1186. !45 = !DIEnumerator(name: "Weak", value: 2)
  1187. !46 = !DIEnumerator(name: "LinkOnce", value: 3)
  1188. !47 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ObjectFormat", scope: !5, file: !5, line: 130, baseType: !48, size: 8, align: 8, elements: !49)
  1189. !48 = !DIBasicType(name: "u3", size: 8, encoding: DW_ATE_unsigned)
  1190. !49 = !{!50, !51, !52, !53, !54}
  1191. !50 = !DIEnumerator(name: "unknown", value: 0)
  1192. !51 = !DIEnumerator(name: "coff", value: 1)
  1193. !52 = !DIEnumerator(name: "elf", value: 2)
  1194. !53 = !DIEnumerator(name: "macho", value: 3)
  1195. !54 = !DIEnumerator(name: "wasm", value: 4)
  1196. !55 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "State", scope: !56, file: !56, line: 10, baseType: !48, size: 8, align: 8, elements: !57)
  1197. !56 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/fmt")
  1198. !57 = !{!58, !59, !60, !61, !62, !63, !64, !65}
  1199. !58 = !DIEnumerator(name: "Start", value: 0)
  1200. !59 = !DIEnumerator(name: "OpenBrace", value: 1)
  1201. !60 = !DIEnumerator(name: "CloseBrace", value: 2)
  1202. !61 = !DIEnumerator(name: "Integer", value: 3)
  1203. !62 = !DIEnumerator(name: "IntegerWidth", value: 4)
  1204. !63 = !DIEnumerator(name: "Character", value: 5)
  1205. !64 = !DIEnumerator(name: "Buf", value: 6)
  1206. !65 = !DIEnumerator(name: "BufWidth", value: 7)
  1207. !66 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "TypeId", scope: !5, file: !5, line: 160, baseType: !6, size: 8, align: 8, elements: !67)
  1208. !67 = !{!68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92}
  1209. !68 = !DIEnumerator(name: "Type", value: 0)
  1210. !69 = !DIEnumerator(name: "Void", value: 1)
  1211. !70 = !DIEnumerator(name: "Bool", value: 2)
  1212. !71 = !DIEnumerator(name: "NoReturn", value: 3)
  1213. !72 = !DIEnumerator(name: "Int", value: 4)
  1214. !73 = !DIEnumerator(name: "Float", value: 5)
  1215. !74 = !DIEnumerator(name: "Pointer", value: 6)
  1216. !75 = !DIEnumerator(name: "Array", value: 7)
  1217. !76 = !DIEnumerator(name: "Struct", value: 8)
  1218. !77 = !DIEnumerator(name: "FloatLiteral", value: 9)
  1219. !78 = !DIEnumerator(name: "IntLiteral", value: 10)
  1220. !79 = !DIEnumerator(name: "UndefinedLiteral", value: 11)
  1221. !80 = !DIEnumerator(name: "NullLiteral", value: 12)
  1222. !81 = !DIEnumerator(name: "Nullable", value: 13)
  1223. !82 = !DIEnumerator(name: "ErrorUnion", value: 14)
  1224. !83 = !DIEnumerator(name: "Error", value: 15)
  1225. !84 = !DIEnumerator(name: "Enum", value: 16)
  1226. !85 = !DIEnumerator(name: "EnumTag", value: 17)
  1227. !86 = !DIEnumerator(name: "Union", value: 18)
  1228. !87 = !DIEnumerator(name: "Fn", value: 19)
  1229. !88 = !DIEnumerator(name: "Namespace", value: 20)
  1230. !89 = !DIEnumerator(name: "Block", value: 21)
  1231. !90 = !DIEnumerator(name: "BoundFn", value: 22)
  1232. !91 = !DIEnumerator(name: "ArgTuple", value: 23)
  1233. !92 = !DIEnumerator(name: "Opaque", value: 24)
  1234. !93 = !{!94, !96, !99, !102, !104, !106, !108, !141, !144, !146, !149, !151, !154, !157, !159, !161, !163, !165, !167, !169, !171, !173, !175, !177, !179}
  1235. !94 = !DIGlobalVariableExpression(var: !95)
  1236. !95 = distinct !DIGlobalVariable(name: "os", linkageName: "os", scope: !5, file: !5, line: 195, type: !4, isLocal: true, isDefinition: true)
  1237. !96 = !DIGlobalVariableExpression(var: !97)
  1238. !97 = distinct !DIGlobalVariable(name: "link_libc", linkageName: "link_libc", scope: !5, file: !5, line: 200, type: !98, isLocal: true, isDefinition: true)
  1239. !98 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
  1240. !99 = !DIGlobalVariableExpression(var: !100)
  1241. !100 = distinct !DIGlobalVariable(name: "want_main_symbol", linkageName: "want_main_symbol", scope: !101, file: !101, line: 9, type: !98, isLocal: true, isDefinition: true)
  1242. !101 = !DIFile(filename: "bootstrap.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special")
  1243. !102 = !DIGlobalVariableExpression(var: !103)
  1244. !103 = distinct !DIGlobalVariable(name: "want_start_symbol", linkageName: "want_start_symbol", scope: !101, file: !101, line: 10, type: !98, isLocal: true, isDefinition: true)
  1245. !104 = !DIGlobalVariableExpression(var: !105)
  1246. !105 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !101, file: !101, line: 8, type: !98, isLocal: true, isDefinition: true)
  1247. !106 = !DIGlobalVariableExpression(var: !107)
  1248. !107 = distinct !DIGlobalVariable(name: "want_WinMainCRTStartup", linkageName: "want_WinMainCRTStartup", scope: !101, file: !101, line: 11, type: !98, isLocal: true, isDefinition: true)
  1249. !108 = !DIGlobalVariableExpression(var: !109)
  1250. !109 = distinct !DIGlobalVariable(name: "global_allocator", linkageName: "global_allocator", scope: !110, file: !110, line: 970, type: !111, isLocal: true, isDefinition: true)
  1251. !110 = !DIFile(filename: "debug.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  1252. !111 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&Allocator", baseType: !112, size: 64, align: 64)
  1253. !112 = !DICompositeType(tag: DW_TAG_structure_type, name: "Allocator", scope: !113, file: !113, line: 7, size: 192, align: 192, elements: !114)
  1254. !113 = !DIFile(filename: "mem.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  1255. !114 = !{!115, !131, !136}
  1256. !115 = !DIDerivedType(tag: DW_TAG_member, name: "allocFn", scope: !112, file: !113, line: 10, baseType: !116, size: 64, align: 64)
  1257. !116 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, usize, usize) -> %[]u8", baseType: !117, size: 64, align: 64)
  1258. !117 = !DISubroutineType(types: !118)
  1259. !118 = !{!119, !130, !111, !128, !128}
  1260. !119 = !DICompositeType(tag: DW_TAG_structure_type, name: "%[]u8", size: 192, align: 192, elements: !120)
  1261. !120 = !{!121, !129}
  1262. !121 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !119, baseType: !122, size: 16, align: 16)
  1263. !122 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128, align: 64, elements: !123)
  1264. !123 = !{!124, !127}
  1265. !124 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !122, baseType: !125, size: 64, align: 64)
  1266. !125 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u8", baseType: !126, size: 64, align: 64)
  1267. !126 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
  1268. !127 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !122, baseType: !128, size: 64, align: 64, offset: 64)
  1269. !128 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
  1270. !129 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !119, baseType: !122, size: 128, align: 128, offset: 64)
  1271. !130 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%[]u8", baseType: !119, size: 64, align: 64)
  1272. !131 = !DIDerivedType(tag: DW_TAG_member, name: "reallocFn", scope: !112, file: !113, line: 17, baseType: !132, size: 64, align: 64, offset: 64)
  1273. !132 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, []u8, usize, usize) -> %[]u8", baseType: !133, size: 64, align: 64)
  1274. !133 = !DISubroutineType(types: !134)
  1275. !134 = !{!119, !130, !111, !135, !128, !128}
  1276. !135 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]u8", baseType: !122, size: 64, align: 64)
  1277. !136 = !DIDerivedType(tag: DW_TAG_member, name: "freeFn", scope: !112, file: !113, line: 20, baseType: !137, size: 64, align: 64, offset: 128)
  1278. !137 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, []u8)", baseType: !138, size: 64, align: 64)
  1279. !138 = !DISubroutineType(types: !139)
  1280. !139 = !{!140, !111, !135}
  1281. !140 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned)
  1282. !141 = !DIGlobalVariableExpression(var: !142)
  1283. !142 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !143, file: !143, line: 3, type: !98, isLocal: true, isDefinition: true)
  1284. !143 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  1285. !144 = !DIGlobalVariableExpression(var: !145)
  1286. !145 = distinct !DIGlobalVariable(name: "object_format", linkageName: "object_format", scope: !5, file: !5, line: 198, type: !47, isLocal: true, isDefinition: true)
  1287. !146 = !DIGlobalVariableExpression(var: !147)
  1288. !147 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !148, file: !148, line: 21, type: !98, isLocal: true, isDefinition: true)
  1289. !148 = !DIFile(filename: "io.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  1290. !149 = !DIGlobalVariableExpression(var: !150)
  1291. !150 = distinct !DIGlobalVariable(name: "is_posix", linkageName: "is_posix", scope: !148, file: !148, line: 20, type: !98, isLocal: true, isDefinition: true)
  1292. !151 = !DIGlobalVariableExpression(var: !152)
  1293. !152 = distinct !DIGlobalVariable(name: "STDERR_FILENO", linkageName: "STDERR_FILENO", scope: !153, file: !153, line: 10, type: !126, isLocal: true, isDefinition: true)
  1294. !153 = !DIFile(filename: "darwin.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  1295. !154 = !DIGlobalVariableExpression(var: !155)
  1296. !155 = distinct !DIGlobalVariable(name: "EINTR", linkageName: "EINTR", scope: !156, file: !156, line: 5, type: !126, isLocal: true, isDefinition: true)
  1297. !156 = !DIFile(filename: "darwin_errno.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  1298. !157 = !DIGlobalVariableExpression(var: !158)
  1299. !158 = distinct !DIGlobalVariable(name: "EINVAL", linkageName: "EINVAL", scope: !156, file: !156, line: 24, type: !126, isLocal: true, isDefinition: true)
  1300. !159 = !DIGlobalVariableExpression(var: !160)
  1301. !160 = distinct !DIGlobalVariable(name: "EFAULT", linkageName: "EFAULT", scope: !156, file: !156, line: 16, type: !126, isLocal: true, isDefinition: true)
  1302. !161 = !DIGlobalVariableExpression(var: !162)
  1303. !162 = distinct !DIGlobalVariable(name: "EAGAIN", linkageName: "EAGAIN", scope: !156, file: !156, line: 41, type: !126, isLocal: true, isDefinition: true)
  1304. !163 = !DIGlobalVariableExpression(var: !164)
  1305. !164 = distinct !DIGlobalVariable(name: "EBADF", linkageName: "EBADF", scope: !156, file: !156, line: 10, type: !126, isLocal: true, isDefinition: true)
  1306. !165 = !DIGlobalVariableExpression(var: !166)
  1307. !166 = distinct !DIGlobalVariable(name: "EDESTADDRREQ", linkageName: "EDESTADDRREQ", scope: !156, file: !156, line: 48, type: !126, isLocal: true, isDefinition: true)
  1308. !167 = !DIGlobalVariableExpression(var: !168)
  1309. !168 = distinct !DIGlobalVariable(name: "EDQUOT", linkageName: "EDQUOT", scope: !156, file: !156, line: 89, type: !126, isLocal: true, isDefinition: true)
  1310. !169 = !DIGlobalVariableExpression(var: !170)
  1311. !170 = distinct !DIGlobalVariable(name: "EFBIG", linkageName: "EFBIG", scope: !156, file: !156, line: 29, type: !126, isLocal: true, isDefinition: true)
  1312. !171 = !DIGlobalVariableExpression(var: !172)
  1313. !172 = distinct !DIGlobalVariable(name: "EIO", linkageName: "EIO", scope: !156, file: !156, line: 6, type: !126, isLocal: true, isDefinition: true)
  1314. !173 = !DIGlobalVariableExpression(var: !174)
  1315. !174 = distinct !DIGlobalVariable(name: "ENOSPC", linkageName: "ENOSPC", scope: !156, file: !156, line: 30, type: !126, isLocal: true, isDefinition: true)
  1316. !175 = !DIGlobalVariableExpression(var: !176)
  1317. !176 = distinct !DIGlobalVariable(name: "EPERM", linkageName: "EPERM", scope: !156, file: !156, line: 2, type: !126, isLocal: true, isDefinition: true)
  1318. !177 = !DIGlobalVariableExpression(var: !178)
  1319. !178 = distinct !DIGlobalVariable(name: "EPIPE", linkageName: "EPIPE", scope: !156, file: !156, line: 34, type: !126, isLocal: true, isDefinition: true)
  1320. !179 = !DIGlobalVariableExpression(var: !180)
  1321. !180 = distinct !DIGlobalVariable(name: "unexpected_error_tracing", linkageName: "unexpected_error_tracing", scope: !143, file: !143, line: 1460, type: !98, isLocal: true, isDefinition: true)
  1322. !181 = distinct !DISubprogram(name: "globalAlloc", scope: !110, file: !110, line: 982, type: !117, isLocal: true, isDefinition: true, scopeLine: 982, isOptimized: false, unit: !1, variables: !182)
  1323. !182 = !{!183, !184, !186, !188, !191, !193, !195, !197, !199}
  1324. !183 = !DILocalVariable(name: "self", arg: 2, scope: !181, file: !110, line: 982, type: !111)
  1325. !184 = !DILocalVariable(name: "n", arg: 3, scope: !185, file: !110, line: 982, type: !128)
  1326. !185 = distinct !DILexicalBlock(scope: !181, file: !110, line: 982, column: 16)
  1327. !186 = !DILocalVariable(name: "alignment", arg: 4, scope: !187, file: !110, line: 982, type: !128)
  1328. !187 = distinct !DILexicalBlock(scope: !185, file: !110, line: 982, column: 38)
  1329. !188 = !DILocalVariable(name: "addr", scope: !189, file: !110, line: 983, type: !128)
  1330. !189 = distinct !DILexicalBlock(scope: !190, file: !110, line: 982, column: 75)
  1331. !190 = distinct !DILexicalBlock(scope: !187, file: !110, line: 982, column: 48)
  1332. !191 = !DILocalVariable(name: "rem", scope: !192, file: !110, line: 984, type: !128)
  1333. !192 = distinct !DILexicalBlock(scope: !189, file: !110, line: 983, column: 5)
  1334. !193 = !DILocalVariable(name: "march_forward_bytes", scope: !194, file: !110, line: 985, type: !128)
  1335. !194 = distinct !DILexicalBlock(scope: !192, file: !110, line: 984, column: 5)
  1336. !195 = !DILocalVariable(name: "adjusted_index", scope: !196, file: !110, line: 986, type: !128)
  1337. !196 = distinct !DILexicalBlock(scope: !194, file: !110, line: 985, column: 5)
  1338. !197 = !DILocalVariable(name: "end_index", scope: !198, file: !110, line: 987, type: !128)
  1339. !198 = distinct !DILexicalBlock(scope: !196, file: !110, line: 986, column: 5)
  1340. !199 = !DILocalVariable(name: "result", scope: !200, file: !110, line: 991, type: !122)
  1341. !200 = distinct !DILexicalBlock(scope: !198, file: !110, line: 987, column: 5)
  1342. !201 = !DIExpression()
  1343. !202 = !DILocation(line: 982, column: 16, scope: !181)
  1344. !203 = !DILocation(line: 982, column: 38, scope: !185)
  1345. !204 = !DILocation(line: 982, column: 48, scope: !187)
  1346. !205 = !DILocation(line: 983, column: 38, scope: !189)
  1347. !206 = !DILocation(line: 983, column: 37, scope: !189)
  1348. !207 = !DILocation(line: 985, column: 33, scope: !194)
  1349. !208 = !DILocation(line: 985, column: 55, scope: !194)
  1350. !209 = !DILocation(line: 985, column: 67, scope: !194)
  1351. !210 = !DILocation(line: 985, column: 65, scope: !194)
  1352. !211 = !DILocation(line: 985, column: 5, scope: !194)
  1353. !212 = !DILocation(line: 986, column: 28, scope: !196)
  1354. !213 = !DILocation(line: 986, column: 45, scope: !196)
  1355. !214 = !DILocation(line: 986, column: 43, scope: !196)
  1356. !215 = !DILocation(line: 989, column: 9, scope: !216)
  1357. !216 = distinct !DILexicalBlock(scope: !200, file: !110, line: 988, column: 35)
  1358. !217 = !DILocation(line: 991, column: 29, scope: !200)
  1359. !218 = !DILocation(line: 991, column: 47, scope: !200)
  1360. !219 = !DILocation(line: 991, column: 28, scope: !200)
  1361. !220 = !DILocation(line: 983, column: 18, scope: !189)
  1362. !221 = !DILocation(line: 983, column: 5, scope: !189)
  1363. !222 = !DILocation(line: 984, column: 22, scope: !192)
  1364. !223 = !DILocation(line: 984, column: 28, scope: !192)
  1365. !224 = !DILocation(line: 984, column: 17, scope: !192)
  1366. !225 = !DILocation(line: 984, column: 5, scope: !192)
  1367. !226 = !DILocation(line: 985, column: 37, scope: !194)
  1368. !227 = !DILocation(line: 985, column: 41, scope: !194)
  1369. !228 = !DILocation(line: 986, column: 5, scope: !196)
  1370. !229 = !DILocation(line: 987, column: 23, scope: !198)
  1371. !230 = !DILocation(line: 987, column: 40, scope: !198)
  1372. !231 = !DILocation(line: 987, column: 38, scope: !198)
  1373. !232 = !DILocation(line: 987, column: 5, scope: !198)
  1374. !233 = !DILocation(line: 988, column: 9, scope: !200)
  1375. !234 = !DILocation(line: 988, column: 19, scope: !200)
  1376. !235 = !DILocation(line: 991, column: 5, scope: !200)
  1377. !236 = !DILocation(line: 992, column: 22, scope: !237)
  1378. !237 = distinct !DILexicalBlock(scope: !200, file: !110, line: 991, column: 5)
  1379. !238 = !DILocation(line: 992, column: 20, scope: !237)
  1380. !239 = !DILocation(line: 993, column: 12, scope: !237)
  1381. !240 = !DILocation(line: 993, column: 5, scope: !237)
  1382. !241 = distinct !DISubprogram(name: "globalRealloc", scope: !110, file: !110, line: 996, type: !133, isLocal: true, isDefinition: true, scopeLine: 996, isOptimized: false, unit: !1, variables: !242)
  1383. !242 = !{!243, !244, !246, !248, !250}
  1384. !243 = !DILocalVariable(name: "self", arg: 2, scope: !241, file: !110, line: 996, type: !111)
  1385. !244 = !DILocalVariable(name: "old_mem", arg: 3, scope: !245, file: !110, line: 996, type: !122)
  1386. !245 = distinct !DILexicalBlock(scope: !241, file: !110, line: 996, column: 18)
  1387. !246 = !DILocalVariable(name: "new_size", arg: 4, scope: !247, file: !110, line: 996, type: !128)
  1388. !247 = distinct !DILexicalBlock(scope: !245, file: !110, line: 996, column: 40)
  1389. !248 = !DILocalVariable(name: "alignment", arg: 5, scope: !249, file: !110, line: 996, type: !128)
  1390. !249 = distinct !DILexicalBlock(scope: !247, file: !110, line: 996, column: 55)
  1391. !250 = !DILocalVariable(name: "result", scope: !251, file: !110, line: 1000, type: !122)
  1392. !251 = distinct !DILexicalBlock(scope: !252, file: !110, line: 999, column: 12)
  1393. !252 = distinct !DILexicalBlock(scope: !253, file: !110, line: 996, column: 99)
  1394. !253 = distinct !DILexicalBlock(scope: !249, file: !110, line: 996, column: 72)
  1395. !254 = !DILocation(line: 996, column: 18, scope: !241)
  1396. !255 = !DILocation(line: 996, column: 40, scope: !245)
  1397. !256 = !DILocation(line: 996, column: 55, scope: !247)
  1398. !257 = !DILocation(line: 996, column: 72, scope: !249)
  1399. !258 = !DILocation(line: 997, column: 9, scope: !252)
  1400. !259 = !DILocation(line: 997, column: 28, scope: !252)
  1401. !260 = !DILocation(line: 997, column: 18, scope: !252)
  1402. !261 = !DILocation(line: 998, column: 28, scope: !262)
  1403. !262 = distinct !DILexicalBlock(scope: !252, file: !110, line: 997, column: 34)
  1404. !263 = !DILocation(line: 998, column: 23, scope: !262)
  1405. !264 = !DILocation(line: 1000, column: 44, scope: !251)
  1406. !265 = !DILocation(line: 1000, column: 50, scope: !251)
  1407. !266 = !DILocation(line: 1000, column: 60, scope: !251)
  1408. !267 = !DILocation(line: 1000, column: 43, scope: !251)
  1409. !268 = !DILocation(line: 1000, column: 24, scope: !251)
  1410. !269 = !DILocation(line: 1000, column: 9, scope: !251)
  1411. !270 = !DILocation(line: 1001, column: 23, scope: !271)
  1412. !271 = distinct !DILexicalBlock(scope: !251, file: !110, line: 1000, column: 9)
  1413. !272 = !DILocation(line: 1001, column: 36, scope: !271)
  1414. !273 = !DILocation(line: 1001, column: 49, scope: !271)
  1415. !274 = !DILocation(line: 1001, column: 9, scope: !271)
  1416. !275 = !DILocation(line: 1002, column: 16, scope: !271)
  1417. !276 = !DILocation(line: 1002, column: 9, scope: !271)
  1418. !277 = !DILocation(line: 998, column: 9, scope: !262)
  1419. !278 = distinct !DISubprogram(name: "globalFree", scope: !110, file: !110, line: 1006, type: !138, isLocal: true, isDefinition: true, scopeLine: 1006, isOptimized: false, unit: !1, variables: !279)
  1420. !279 = !{!280, !281}
  1421. !280 = !DILocalVariable(name: "self", arg: 1, scope: !278, file: !110, line: 1006, type: !111)
  1422. !281 = !DILocalVariable(name: "memory", arg: 2, scope: !282, file: !110, line: 1006, type: !122)
  1423. !282 = distinct !DILexicalBlock(scope: !278, file: !110, line: 1006, column: 15)
  1424. !283 = !DILocation(line: 1006, column: 15, scope: !278)
  1425. !284 = !DILocation(line: 1006, column: 37, scope: !282)
  1426. !285 = !DILocation(line: 1006, column: 51, scope: !286)
  1427. !286 = distinct !DILexicalBlock(scope: !282, file: !110, line: 1006, column: 37)
  1428. !287 = distinct !DISubprogram(name: "panic", scope: !288, file: !288, line: 8, type: !289, isLocal: true, isDefinition: true, scopeLine: 8, isOptimized: false, unit: !1, variables: !292)
  1429. !288 = !DIFile(filename: "panic.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special")
  1430. !289 = !DISubroutineType(types: !290)
  1431. !290 = !{!140, !291}
  1432. !291 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]const u8", baseType: !122, size: 64, align: 64)
  1433. !292 = !{!293}
  1434. !293 = !DILocalVariable(name: "msg", arg: 1, scope: !287, file: !288, line: 8, type: !122)
  1435. !294 = !DILocation(line: 8, column: 21, scope: !287)
  1436. !295 = !DILocation(line: 12, column: 35, scope: !296)
  1437. !296 = distinct !DILexicalBlock(scope: !297, file: !288, line: 11, column: 12)
  1438. !297 = distinct !DILexicalBlock(scope: !298, file: !288, line: 8, column: 50)
  1439. !298 = distinct !DILexicalBlock(scope: !287, file: !288, line: 8, column: 21)
  1440. !299 = distinct !DISubprogram(name: "panic", scope: !110, file: !110, line: 72, type: !289, isLocal: true, isDefinition: true, scopeLine: 72, isOptimized: false, unit: !1, variables: !300)
  1441. !300 = !{!301, !304}
  1442. !301 = !DILocalVariable(name: "arg0", arg: 1, scope: !302, file: !110, line: 72, type: !122)
  1443. !302 = distinct !DILexicalBlock(scope: !303, file: !110, line: 72, column: 43)
  1444. !303 = distinct !DILexicalBlock(scope: !299, file: !110, line: 72, column: 14)
  1445. !304 = !DILocalVariable(name: "stderr", scope: !305, file: !110, line: 87, type: !307)
  1446. !305 = distinct !DILexicalBlock(scope: !306, file: !110, line: 72, column: 66)
  1447. !306 = distinct !DILexicalBlock(scope: !302, file: !110, line: 72, column: 43)
  1448. !307 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&OutStream", baseType: !308, size: 64, align: 64)
  1449. !308 = !DICompositeType(tag: DW_TAG_structure_type, name: "OutStream", scope: !148, file: !148, line: 469, size: 64, align: 64, elements: !309)
  1450. !309 = !{!310}
  1451. !310 = !DIDerivedType(tag: DW_TAG_member, name: "writeFn", scope: !308, file: !148, line: 470, baseType: !311, size: 64, align: 64)
  1452. !311 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&OutStream, []const u8) -> %void", baseType: !312, size: 64, align: 64)
  1453. !312 = !DISubroutineType(types: !313)
  1454. !313 = !{!314, !307, !291}
  1455. !314 = !DIBasicType(name: "u16", size: 16, encoding: DW_ATE_unsigned)
  1456. !315 = !DILocation(line: 72, column: 43, scope: !302)
  1457. !316 = !DILocation(line: 77, column: 9, scope: !305)
  1458. !317 = !DILocation(line: 82, column: 17, scope: !318)
  1459. !318 = distinct !DILexicalBlock(scope: !305, file: !110, line: 77, column: 20)
  1460. !319 = !DILocation(line: 84, column: 19, scope: !320)
  1461. !320 = distinct !DILexicalBlock(scope: !305, file: !110, line: 83, column: 12)
  1462. !321 = !DILocation(line: 77, column: 5, scope: !305)
  1463. !322 = !DILocation(line: 87, column: 35, scope: !305)
  1464. !323 = !DILocation(line: 87, column: 38, scope: !305)
  1465. !324 = !DILocation(line: 87, column: 49, scope: !305)
  1466. !325 = !DILocation(line: 87, column: 5, scope: !305)
  1467. !326 = !DILocation(line: 88, column: 11, scope: !327)
  1468. !327 = distinct !DILexicalBlock(scope: !305, file: !110, line: 87, column: 5)
  1469. !328 = !DILocation(line: 88, column: 17, scope: !327)
  1470. !329 = !DILocation(line: 88, column: 40, scope: !327)
  1471. !330 = !DILocation(line: 88, column: 51, scope: !327)
  1472. !331 = !DILocation(line: 89, column: 21, scope: !327)
  1473. !332 = !DILocation(line: 89, column: 64, scope: !327)
  1474. !333 = !DILocation(line: 89, column: 20, scope: !327)
  1475. !334 = !DILocation(line: 89, column: 71, scope: !327)
  1476. !335 = !DILocation(line: 89, column: 82, scope: !327)
  1477. !336 = !DILocation(line: 91, column: 13, scope: !327)
  1478. !337 = distinct !DISubprogram(name: "_start", scope: !101, file: !101, line: 16, type: !338, isLocal: true, isDefinition: true, scopeLine: 16, isOptimized: false, unit: !1, variables: !340)
  1479. !338 = !DISubroutineType(types: !339)
  1480. !339 = !{!140}
  1481. !340 = !{}
  1482. !341 = !DILocation(line: 19, column: 9, scope: !342)
  1483. !342 = distinct !DILexicalBlock(scope: !343, file: !101, line: 17, column: 29)
  1484. !343 = distinct !DILexicalBlock(scope: !337, file: !101, line: 16, column: 40)
  1485. !344 = distinct !DISubprogram(name: "WinMainCRTStartup", scope: !101, file: !101, line: 34, type: !338, isLocal: true, isDefinition: true, scopeLine: 34, isOptimized: false, unit: !1, variables: !340)
  1486. !345 = !DILocation(line: 37, column: 9, scope: !346)
  1487. !346 = distinct !DILexicalBlock(scope: !347, file: !101, line: 35, column: 34)
  1488. !347 = distinct !DILexicalBlock(scope: !344, file: !101, line: 34, column: 43)
  1489. !348 = distinct !DISubprogram(name: "main", scope: !101, file: !101, line: 66, type: !349, isLocal: false, isDefinition: true, scopeLine: 66, isOptimized: false, unit: !1, variables: !354)
  1490. !349 = !DISubroutineType(types: !350)
  1491. !350 = !{!351, !351, !352, !353}
  1492. !351 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
  1493. !352 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&u8", baseType: !125, size: 64, align: 64)
  1494. !353 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&?&u8", baseType: !125, size: 64, align: 64)
  1495. !354 = !{!355, !356, !358}
  1496. !355 = !DILocalVariable(name: "c_argc", arg: 1, scope: !348, file: !101, line: 66, type: !351)
  1497. !356 = !DILocalVariable(name: "c_argv", arg: 2, scope: !357, file: !101, line: 66, type: !352)
  1498. !357 = distinct !DILexicalBlock(scope: !348, file: !101, line: 66, column: 16)
  1499. !358 = !DILocalVariable(name: "c_envp", arg: 3, scope: !359, file: !101, line: 66, type: !353)
  1500. !359 = distinct !DILexicalBlock(scope: !357, file: !101, line: 66, column: 29)
  1501. !360 = !DILocation(line: 66, column: 16, scope: !348)
  1502. !361 = !DILocation(line: 66, column: 29, scope: !357)
  1503. !362 = !DILocation(line: 66, column: 43, scope: !359)
  1504. !363 = !DILocation(line: 72, column: 20, scope: !364)
  1505. !364 = distinct !DILexicalBlock(scope: !365, file: !101, line: 66, column: 65)
  1506. !365 = distinct !DILexicalBlock(scope: !359, file: !101, line: 66, column: 43)
  1507. !366 = !DILocation(line: 72, column: 19, scope: !364)
  1508. !367 = !DILocation(line: 72, column: 29, scope: !364)
  1509. !368 = !DILocation(line: 72, column: 37, scope: !364)
  1510. !369 = !DILocation(line: 72, column: 13, scope: !364)
  1511. !370 = !DILocation(line: 72, column: 45, scope: !364)
  1512. !371 = !DILocation(line: 72, column: 48, scope: !364)
  1513. !372 = !DILocation(line: 73, column: 5, scope: !364)
  1514. !373 = distinct !DISubprogram(name: "callMain", scope: !101, file: !101, line: 54, type: !374, isLocal: true, isDefinition: true, scopeLine: 54, isOptimized: false, unit: !1, variables: !376)
  1515. !374 = !DISubroutineType(types: !375)
  1516. !375 = !{!314, !128, !352, !353}
  1517. !376 = !{!377, !378, !380, !382}
  1518. !377 = !DILocalVariable(name: "argc", arg: 1, scope: !373, file: !101, line: 54, type: !128)
  1519. !378 = !DILocalVariable(name: "argv", arg: 2, scope: !379, file: !101, line: 54, type: !352)
  1520. !379 = distinct !DILexicalBlock(scope: !373, file: !101, line: 54, column: 13)
  1521. !380 = !DILocalVariable(name: "envp", arg: 3, scope: !381, file: !101, line: 54, type: !353)
  1522. !381 = distinct !DILexicalBlock(scope: !379, file: !101, line: 54, column: 26)
  1523. !382 = !DILocalVariable(name: "env_count", scope: !383, file: !101, line: 57, type: !128)
  1524. !383 = distinct !DILexicalBlock(scope: !384, file: !101, line: 54, column: 60)
  1525. !384 = distinct !DILexicalBlock(scope: !381, file: !101, line: 54, column: 38)
  1526. !385 = !DILocation(line: 54, column: 13, scope: !373)
  1527. !386 = !DILocation(line: 54, column: 26, scope: !379)
  1528. !387 = !DILocation(line: 54, column: 38, scope: !381)
  1529. !388 = !DILocation(line: 55, column: 44, scope: !383)
  1530. !389 = !DILocation(line: 55, column: 39, scope: !383)
  1531. !390 = !DILocation(line: 58, column: 17, scope: !391)
  1532. !391 = distinct !DILexicalBlock(scope: !383, file: !101, line: 57, column: 5)
  1533. !392 = !DILocation(line: 58, column: 16, scope: !391)
  1534. !393 = !DILocation(line: 58, column: 28, scope: !391)
  1535. !394 = !DILocation(line: 58, column: 40, scope: !391)
  1536. !395 = !DILocation(line: 58, column: 50, scope: !391)
  1537. !396 = !DILocation(line: 59, column: 47, scope: !391)
  1538. !397 = !DILocation(line: 59, column: 32, scope: !391)
  1539. !398 = !DILocation(line: 59, column: 57, scope: !391)
  1540. !399 = !DILocation(line: 59, column: 52, scope: !391)
  1541. !400 = !DILocation(line: 55, column: 33, scope: !383)
  1542. !401 = !DILocation(line: 57, column: 5, scope: !383)
  1543. !402 = !DILocation(line: 58, column: 5, scope: !391)
  1544. !403 = !DILocation(line: 59, column: 30, scope: !391)
  1545. !404 = !DILocation(line: 61, column: 28, scope: !391)
  1546. !405 = !DILocation(line: 63, column: 21, scope: !391)
  1547. !406 = !DILocation(line: 63, column: 5, scope: !391)
  1548. !407 = distinct !DISubprogram(name: "abort", scope: !143, file: !143, line: 127, type: !338, isLocal: true, isDefinition: true, scopeLine: 127, isOptimized: false, unit: !1, variables: !340)
  1549. !408 = !DILocation(line: 129, column: 16, scope: !409)
  1550. !409 = distinct !DILexicalBlock(scope: !410, file: !143, line: 128, column: 28)
  1551. !410 = distinct !DILexicalBlock(scope: !407, file: !143, line: 127, column: 35)
  1552. !411 = distinct !DISubprogram(name: "getStderrStream", scope: !110, file: !110, line: 26, type: !412, isLocal: true, isDefinition: true, scopeLine: 26, isOptimized: false, unit: !1, variables: !419)
  1553. !412 = !DISubroutineType(types: !413)
  1554. !413 = !{!414, !418}
  1555. !414 = !DICompositeType(tag: DW_TAG_structure_type, name: "%&OutStream", size: 128, align: 128, elements: !415)
  1556. !415 = !{!416, !417}
  1557. !416 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !414, baseType: !307, size: 16, align: 16)
  1558. !417 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !414, baseType: !307, size: 64, align: 64, offset: 64)
  1559. !418 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%&OutStream", baseType: !414, size: 64, align: 64)
  1560. !419 = !{!420, !422}
  1561. !420 = !DILocalVariable(name: "st", scope: !421, file: !110, line: 27, type: !307)
  1562. !421 = distinct !DILexicalBlock(scope: !411, file: !110, line: 26, column: 40)
  1563. !422 = !DILocalVariable(name: "st", scope: !423, file: !110, line: 32, type: !307)
  1564. !423 = distinct !DILexicalBlock(scope: !421, file: !110, line: 29, column: 12)
  1565. !424 = !DILocation(line: 27, column: 5, scope: !421)
  1566. !425 = !DILocation(line: 28, column: 16, scope: !426)
  1567. !426 = distinct !DILexicalBlock(scope: !427, file: !110, line: 27, column: 29)
  1568. !427 = distinct !DILexicalBlock(scope: !421, file: !110, line: 27, column: 5)
  1569. !428 = !DILocation(line: 28, column: 9, scope: !426)
  1570. !429 = !DILocation(line: 30, column: 43, scope: !423)
  1571. !430 = !DILocation(line: 30, column: 23, scope: !423)
  1572. !431 = !DILocation(line: 30, column: 21, scope: !423)
  1573. !432 = !DILocation(line: 31, column: 55, scope: !423)
  1574. !433 = !DILocation(line: 31, column: 32, scope: !423)
  1575. !434 = !DILocation(line: 32, column: 9, scope: !423)
  1576. !435 = !DILocation(line: 33, column: 23, scope: !436)
  1577. !436 = distinct !DILexicalBlock(scope: !423, file: !110, line: 32, column: 9)
  1578. !437 = !DILocation(line: 34, column: 9, scope: !436)
  1579. !438 = distinct !DISubprogram(name: "OutStream_print", scope: !308, file: !148, line: 472, type: !312, isLocal: true, isDefinition: true, scopeLine: 472, isOptimized: false, unit: !1, variables: !439)
  1580. !439 = !{!440, !444}
  1581. !440 = !DILocalVariable(name: "self", arg: 1, scope: !441, file: !148, line: 472, type: !307)
  1582. !441 = distinct !DILexicalBlock(scope: !442, file: !148, line: 472, column: 65)
  1583. !442 = distinct !DILexicalBlock(scope: !443, file: !148, line: 472, column: 36)
  1584. !443 = distinct !DILexicalBlock(scope: !438, file: !148, line: 472, column: 18)
  1585. !444 = !DILocalVariable(name: "arg1", arg: 2, scope: !445, file: !148, line: 472, type: !122)
  1586. !445 = distinct !DILexicalBlock(scope: !441, file: !148, line: 472, column: 18)
  1587. !446 = !DILocation(line: 472, column: 18, scope: !441)
  1588. !447 = !DILocation(line: 472, column: 65, scope: !445)
  1589. !448 = !DILocation(line: 473, column: 31, scope: !449)
  1590. !449 = distinct !DILexicalBlock(scope: !450, file: !148, line: 472, column: 85)
  1591. !450 = distinct !DILexicalBlock(scope: !445, file: !148, line: 472, column: 65)
  1592. !451 = !DILocation(line: 473, column: 41, scope: !449)
  1593. !452 = !DILocation(line: 473, column: 30, scope: !449)
  1594. !453 = !DILocation(line: 473, column: 9, scope: !449)
  1595. !454 = distinct !DISubprogram(name: "File_isTty", scope: !455, file: !148, line: 190, type: !458, isLocal: true, isDefinition: true, scopeLine: 190, isOptimized: false, unit: !1, variables: !461)
  1596. !455 = !DICompositeType(tag: DW_TAG_structure_type, name: "File", scope: !148, file: !148, line: 125, size: 32, align: 32, elements: !456)
  1597. !456 = !{!457}
  1598. !457 = !DIDerivedType(tag: DW_TAG_member, name: "handle", scope: !455, file: !148, line: 127, baseType: !351, size: 32, align: 32)
  1599. !458 = !DISubroutineType(types: !459)
  1600. !459 = !{!98, !460}
  1601. !460 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&File", baseType: !455, size: 64, align: 64)
  1602. !461 = !{!462}
  1603. !462 = !DILocalVariable(name: "self", arg: 1, scope: !454, file: !148, line: 190, type: !460)
  1604. !463 = !DILocation(line: 190, column: 18, scope: !454)
  1605. !464 = !DILocation(line: 191, column: 29, scope: !465)
  1606. !465 = distinct !DILexicalBlock(scope: !466, file: !148, line: 190, column: 39)
  1607. !466 = distinct !DILexicalBlock(scope: !454, file: !148, line: 190, column: 18)
  1608. !467 = !DILocation(line: 191, column: 24, scope: !465)
  1609. !468 = !DILocation(line: 191, column: 9, scope: !465)
  1610. !469 = distinct !DISubprogram(name: "writeStackTrace", scope: !110, file: !110, line: 104, type: !470, isLocal: true, isDefinition: true, scopeLine: 104, isOptimized: false, unit: !1, variables: !472)
  1611. !470 = !DISubroutineType(types: !471)
  1612. !471 = !{!314, !307, !111, !98, !128}
  1613. !472 = !{!473, !474, !476, !478}
  1614. !473 = !DILocalVariable(name: "out_stream", arg: 1, scope: !469, file: !110, line: 104, type: !307)
  1615. !474 = !DILocalVariable(name: "allocator", arg: 2, scope: !475, file: !110, line: 104, type: !111)
  1616. !475 = distinct !DILexicalBlock(scope: !469, file: !110, line: 104, column: 24)
  1617. !476 = !DILocalVariable(name: "tty_color", arg: 3, scope: !477, file: !110, line: 104, type: !98)
  1618. !477 = distinct !DILexicalBlock(scope: !475, file: !110, line: 104, column: 51)
  1619. !478 = !DILocalVariable(name: "ignore_frame_count", arg: 4, scope: !479, file: !110, line: 105, type: !128)
  1620. !479 = distinct !DILexicalBlock(scope: !477, file: !110, line: 104, column: 78)
  1621. !480 = !DILocation(line: 104, column: 24, scope: !469)
  1622. !481 = !DILocation(line: 104, column: 51, scope: !475)
  1623. !482 = !DILocation(line: 104, column: 78, scope: !477)
  1624. !483 = !DILocation(line: 105, column: 5, scope: !479)
  1625. !484 = !DILocation(line: 185, column: 31, scope: !485)
  1626. !485 = distinct !DILexicalBlock(scope: !486, file: !110, line: 184, column: 39)
  1627. !486 = distinct !DILexicalBlock(scope: !487, file: !110, line: 106, column: 1)
  1628. !487 = distinct !DILexicalBlock(scope: !479, file: !110, line: 105, column: 5)
  1629. !488 = !DILocation(line: 185, column: 37, scope: !485)
  1630. !489 = !DILocation(line: 185, column: 13, scope: !485)
  1631. !490 = !DILocation(line: 107, column: 5, scope: !487)
  1632. !491 = distinct !DISubprogram(name: "main", scope: !492, file: !492, type: !493, isLocal: true, isDefinition: true, isOptimized: false, unit: !1, variables: !340)
  1633. !492 = !DIFile(filename: "hello.zig", directory: "/Users/jfo/sandbox/zigwasm")
  1634. !493 = !DISubroutineType(types: !494)
  1635. !494 = !{!314}
  1636. !495 = !DILocation(line: 1, column: 24, scope: !491)
  1637. !496 = distinct !DISubprogram(name: "getStdErr", scope: !148, file: !148, line: 52, type: !497, isLocal: true, isDefinition: true, scopeLine: 52, isOptimized: false, unit: !1, variables: !340)
  1638. !497 = !DISubroutineType(types: !498)
  1639. !498 = !{!499, !503}
  1640. !499 = !DICompositeType(tag: DW_TAG_structure_type, name: "%File", size: 64, align: 64, elements: !500)
  1641. !500 = !{!501, !502}
  1642. !501 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !499, baseType: !455, size: 16, align: 16)
  1643. !502 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !499, baseType: !455, size: 32, align: 32, offset: 32)
  1644. !503 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%File", baseType: !499, size: 64, align: 64)
  1645. !504 = !DILocation(line: 60, column: 27, scope: !505)
  1646. !505 = distinct !DILexicalBlock(scope: !506, file: !148, line: 53, column: 5)
  1647. !506 = distinct !DILexicalBlock(scope: !496, file: !148, line: 52, column: 29)
  1648. !507 = !DILocation(line: 60, column: 5, scope: !505)
  1649. !508 = distinct !DISubprogram(name: "FileOutStream_init", scope: !509, file: !148, line: 110, type: !513, isLocal: true, isDefinition: true, scopeLine: 110, isOptimized: false, unit: !1, variables: !516)
  1650. !509 = !DICompositeType(tag: DW_TAG_structure_type, name: "FileOutStream", scope: !148, file: !148, line: 106, size: 128, align: 128, elements: !510)
  1651. !510 = !{!511, !512}
  1652. !511 = !DIDerivedType(tag: DW_TAG_member, name: "file", scope: !509, file: !148, line: 107, baseType: !460, size: 64, align: 64)
  1653. !512 = !DIDerivedType(tag: DW_TAG_member, name: "stream", scope: !509, file: !148, line: 108, baseType: !308, size: 64, align: 64, offset: 64)
  1654. !513 = !DISubroutineType(types: !514)
  1655. !514 = !{!509, !515, !460}
  1656. !515 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&FileOutStream", baseType: !509, size: 64, align: 64)
  1657. !516 = !{!517}
  1658. !517 = !DILocalVariable(name: "file", arg: 2, scope: !508, file: !148, line: 110, type: !460)
  1659. !518 = !DILocation(line: 110, column: 17, scope: !508)
  1660. !519 = !DILocation(line: 112, column: 21, scope: !520)
  1661. !520 = distinct !DILexicalBlock(scope: !521, file: !148, line: 110, column: 47)
  1662. !521 = distinct !DILexicalBlock(scope: !508, file: !148, line: 110, column: 17)
  1663. !522 = !DILocation(line: 111, column: 30, scope: !520)
  1664. !523 = !DILocation(line: 111, column: 9, scope: !520)
  1665. !524 = distinct !DISubprogram(name: "format", scope: !56, file: !56, line: 24, type: !525, isLocal: true, isDefinition: true, scopeLine: 24, isOptimized: false, unit: !1, variables: !527)
  1666. !525 = !DISubroutineType(types: !526)
  1667. !526 = !{!314, !307, !312, !291}
  1668. !527 = !{!528, !533, !535}
  1669. !528 = !DILocalVariable(name: "context", arg: 1, scope: !529, file: !56, line: 24, type: !307)
  1670. !529 = distinct !DILexicalBlock(scope: !530, file: !56, line: 25, column: 31)
  1671. !530 = distinct !DILexicalBlock(scope: !531, file: !56, line: 25, column: 5)
  1672. !531 = distinct !DILexicalBlock(scope: !532, file: !56, line: 24, column: 29)
  1673. !532 = distinct !DILexicalBlock(scope: !524, file: !56, line: 24, column: 15)
  1674. !533 = !DILocalVariable(name: "output", arg: 2, scope: !534, file: !56, line: 24, type: !312)
  1675. !534 = distinct !DILexicalBlock(scope: !529, file: !56, line: 24, column: 15)
  1676. !535 = !DILocalVariable(name: "arg2", arg: 3, scope: !536, file: !56, line: 25, type: !122)
  1677. !536 = distinct !DILexicalBlock(scope: !534, file: !56, line: 24, column: 29)
  1678. !537 = !DILocation(line: 24, column: 15, scope: !529)
  1679. !538 = !DILocation(line: 24, column: 29, scope: !534)
  1680. !539 = !DILocation(line: 25, column: 31, scope: !536)
  1681. !540 = !DILocation(line: 59, column: 57, scope: !541)
  1682. !541 = distinct !DILexicalBlock(scope: !542, file: !56, line: 58, column: 24)
  1683. !542 = distinct !DILexicalBlock(scope: !543, file: !56, line: 35, column: 29)
  1684. !543 = distinct !DILexicalBlock(scope: !544, file: !56, line: 35, column: 26)
  1685. !544 = distinct !DILexicalBlock(scope: !545, file: !56, line: 35, column: 23)
  1686. !545 = distinct !DILexicalBlock(scope: !546, file: !56, line: 33, column: 14)
  1687. !546 = distinct !DILexicalBlock(scope: !547, file: !56, line: 32, column: 14)
  1688. !547 = distinct !DILexicalBlock(scope: !548, file: !56, line: 31, column: 14)
  1689. !548 = distinct !DILexicalBlock(scope: !549, file: !56, line: 30, column: 14)
  1690. !549 = distinct !DILexicalBlock(scope: !550, file: !56, line: 29, column: 14)
  1691. !550 = distinct !DILexicalBlock(scope: !551, file: !56, line: 28, column: 14)
  1692. !551 = distinct !DILexicalBlock(scope: !552, file: !56, line: 27, column: 14)
  1693. !552 = distinct !DILexicalBlock(scope: !553, file: !56, line: 26, column: 1)
  1694. !553 = distinct !DILexicalBlock(scope: !536, file: !56, line: 25, column: 31)
  1695. !554 = !DILocation(line: 59, column: 66, scope: !541)
  1696. !555 = !DILocation(line: 59, column: 40, scope: !541)
  1697. !556 = !DILocation(line: 59, column: 21, scope: !541)
  1698. !557 = !DILocation(line: 162, column: 17, scope: !558)
  1699. !558 = distinct !DILexicalBlock(scope: !545, file: !56, line: 161, column: 32)
  1700. !559 = !DILocation(line: 162, column: 24, scope: !558)
  1701. !560 = !DILocation(line: 162, column: 23, scope: !558)
  1702. !561 = !DILocation(line: 162, column: 9, scope: !558)
  1703. !562 = !DILocation(line: 161, column: 5, scope: !553)
  1704. !563 = distinct !DISubprogram(name: "OutStream_write", scope: !308, file: !148, line: 476, type: !312, isLocal: true, isDefinition: true, scopeLine: 476, isOptimized: false, unit: !1, variables: !564)
  1705. !564 = !{!565, !566}
  1706. !565 = !DILocalVariable(name: "self", arg: 1, scope: !563, file: !148, line: 476, type: !307)
  1707. !566 = !DILocalVariable(name: "bytes", arg: 2, scope: !567, file: !148, line: 476, type: !122)
  1708. !567 = distinct !DILexicalBlock(scope: !563, file: !148, line: 476, column: 18)
  1709. !568 = !DILocation(line: 476, column: 18, scope: !563)
  1710. !569 = !DILocation(line: 476, column: 36, scope: !567)
  1711. !570 = !DILocation(line: 477, column: 20, scope: !571)
  1712. !571 = distinct !DILexicalBlock(scope: !572, file: !148, line: 476, column: 64)
  1713. !572 = distinct !DILexicalBlock(scope: !567, file: !148, line: 476, column: 36)
  1714. !573 = !DILocation(line: 477, column: 29, scope: !571)
  1715. !574 = !DILocation(line: 477, column: 28, scope: !571)
  1716. !575 = !DILocation(line: 477, column: 9, scope: !571)
  1717. !576 = distinct !DISubprogram(name: "isTty", scope: !143, file: !143, line: 1494, type: !577, isLocal: true, isDefinition: true, scopeLine: 1494, isOptimized: false, unit: !1, variables: !579)
  1718. !577 = !DISubroutineType(types: !578)
  1719. !578 = !{!98, !351}
  1720. !579 = !{!580}
  1721. !580 = !DILocalVariable(name: "handle", arg: 1, scope: !576, file: !143, line: 1494, type: !351)
  1722. !581 = !DILocation(line: 1494, column: 14, scope: !576)
  1723. !582 = !DILocation(line: 1499, column: 29, scope: !583)
  1724. !583 = distinct !DILexicalBlock(scope: !584, file: !143, line: 1498, column: 32)
  1725. !584 = distinct !DILexicalBlock(scope: !585, file: !143, line: 1497, column: 12)
  1726. !585 = distinct !DILexicalBlock(scope: !586, file: !143, line: 1494, column: 42)
  1727. !586 = distinct !DILexicalBlock(scope: !576, file: !143, line: 1494, column: 14)
  1728. !587 = !DILocation(line: 1499, column: 28, scope: !583)
  1729. !588 = !DILocation(line: 1499, column: 37, scope: !583)
  1730. !589 = !DILocation(line: 1499, column: 13, scope: !583)
  1731. !590 = distinct !DISubprogram(name: "File_openHandle", scope: !455, file: !148, line: 175, type: !591, isLocal: true, isDefinition: true, scopeLine: 175, isOptimized: false, unit: !1, variables: !593)
  1732. !591 = !DISubroutineType(types: !592)
  1733. !592 = !{!455, !460, !351}
  1734. !593 = !{!594}
  1735. !594 = !DILocalVariable(name: "handle", arg: 2, scope: !590, file: !148, line: 175, type: !351)
  1736. !595 = !DILocation(line: 175, column: 23, scope: !590)
  1737. !596 = !DILocation(line: 177, column: 23, scope: !597)
  1738. !597 = distinct !DILexicalBlock(scope: !598, file: !148, line: 175, column: 54)
  1739. !598 = distinct !DILexicalBlock(scope: !590, file: !148, line: 175, column: 23)
  1740. !599 = !DILocation(line: 176, column: 21, scope: !597)
  1741. !600 = !DILocation(line: 176, column: 9, scope: !597)
  1742. !601 = distinct !DISubprogram(name: "FileOutStream_writeFn", scope: !509, file: !148, line: 119, type: !312, isLocal: true, isDefinition: true, scopeLine: 119, isOptimized: false, unit: !1, variables: !602)
  1743. !602 = !{!603, !604, !606}
  1744. !603 = !DILocalVariable(name: "out_stream", arg: 1, scope: !601, file: !148, line: 119, type: !307)
  1745. !604 = !DILocalVariable(name: "bytes", arg: 2, scope: !605, file: !148, line: 119, type: !122)
  1746. !605 = distinct !DILexicalBlock(scope: !601, file: !148, line: 119, column: 16)
  1747. !606 = !DILocalVariable(name: "self", scope: !607, file: !148, line: 120, type: !515)
  1748. !607 = distinct !DILexicalBlock(scope: !608, file: !148, line: 119, column: 68)
  1749. !608 = distinct !DILexicalBlock(scope: !605, file: !148, line: 119, column: 40)
  1750. !609 = !DILocation(line: 119, column: 16, scope: !601)
  1751. !610 = !DILocation(line: 119, column: 40, scope: !605)
  1752. !611 = !DILocation(line: 120, column: 63, scope: !607)
  1753. !612 = !DILocation(line: 120, column: 22, scope: !607)
  1754. !613 = !DILocation(line: 120, column: 9, scope: !607)
  1755. !614 = !DILocation(line: 121, column: 20, scope: !615)
  1756. !615 = distinct !DILexicalBlock(scope: !607, file: !148, line: 120, column: 9)
  1757. !616 = !DILocation(line: 121, column: 25, scope: !615)
  1758. !617 = !DILocation(line: 121, column: 31, scope: !615)
  1759. !618 = !DILocation(line: 121, column: 9, scope: !615)
  1760. !619 = distinct !DISubprogram(name: "formatValue", scope: !56, file: !56, line: 166, type: !620, isLocal: true, isDefinition: true, scopeLine: 166, isOptimized: false, unit: !1, variables: !622)
  1761. !620 = !DISubroutineType(types: !621)
  1762. !621 = !{!314, !291, !307, !312}
  1763. !622 = !{!623, !627, !629, !631}
  1764. !623 = !DILocalVariable(name: "value", arg: 1, scope: !624, file: !56, line: 166, type: !122)
  1765. !624 = distinct !DILexicalBlock(scope: !625, file: !56, line: 166, column: 46)
  1766. !625 = distinct !DILexicalBlock(scope: !626, file: !56, line: 166, column: 32)
  1767. !626 = distinct !DILexicalBlock(scope: !619, file: !56, line: 166, column: 20)
  1768. !627 = !DILocalVariable(name: "context", arg: 2, scope: !628, file: !56, line: 166, type: !307)
  1769. !628 = distinct !DILexicalBlock(scope: !624, file: !56, line: 166, column: 20)
  1770. !629 = !DILocalVariable(name: "output", arg: 3, scope: !630, file: !56, line: 166, type: !312)
  1771. !630 = distinct !DILexicalBlock(scope: !628, file: !56, line: 166, column: 32)
  1772. !631 = !DILocalVariable(name: "casted_value", scope: !632, file: !56, line: 207, type: !122)
  1773. !632 = distinct !DILexicalBlock(scope: !633, file: !56, line: 206, column: 58)
  1774. !633 = distinct !DILexicalBlock(scope: !634, file: !56, line: 167, column: 5)
  1775. !634 = distinct !DILexicalBlock(scope: !635, file: !56, line: 166, column: 104)
  1776. !635 = distinct !DILexicalBlock(scope: !630, file: !56, line: 166, column: 46)
  1777. !636 = !DILocation(line: 166, column: 20, scope: !624)
  1778. !637 = !DILocation(line: 166, column: 32, scope: !628)
  1779. !638 = !DILocation(line: 166, column: 46, scope: !630)
  1780. !639 = !DILocation(line: 207, column: 13, scope: !632)
  1781. !640 = !DILocation(line: 208, column: 20, scope: !641)
  1782. !641 = distinct !DILexicalBlock(scope: !632, file: !56, line: 207, column: 13)
  1783. !642 = !DILocation(line: 208, column: 27, scope: !641)
  1784. !643 = !DILocation(line: 208, column: 26, scope: !641)
  1785. !644 = !DILocation(line: 208, column: 13, scope: !641)
  1786. !645 = distinct !DISubprogram(name: "File_write", scope: !455, file: !148, line: 326, type: !646, isLocal: true, isDefinition: true, scopeLine: 326, isOptimized: false, unit: !1, variables: !648)
  1787. !646 = !DISubroutineType(types: !647)
  1788. !647 = !{!314, !460, !291}
  1789. !648 = !{!649, !650}
  1790. !649 = !DILocalVariable(name: "self", arg: 1, scope: !645, file: !148, line: 326, type: !460)
  1791. !650 = !DILocalVariable(name: "bytes", arg: 2, scope: !651, file: !148, line: 326, type: !122)
  1792. !651 = distinct !DILexicalBlock(scope: !645, file: !148, line: 326, column: 14)
  1793. !652 = !DILocation(line: 326, column: 14, scope: !645)
  1794. !653 = !DILocation(line: 326, column: 27, scope: !651)
  1795. !654 = !DILocation(line: 328, column: 39, scope: !655)
  1796. !655 = distinct !DILexicalBlock(scope: !656, file: !148, line: 327, column: 23)
  1797. !656 = distinct !DILexicalBlock(scope: !657, file: !148, line: 326, column: 55)
  1798. !657 = distinct !DILexicalBlock(scope: !651, file: !148, line: 326, column: 27)
  1799. !658 = !DILocation(line: 328, column: 34, scope: !655)
  1800. !659 = !DILocation(line: 328, column: 13, scope: !655)
  1801. !660 = !DILocation(line: 327, column: 9, scope: !657)
  1802. !661 = distinct !DISubprogram(name: "posixWrite", scope: !143, file: !143, line: 219, type: !662, isLocal: true, isDefinition: true, scopeLine: 219, isOptimized: false, unit: !1, variables: !664)
  1803. !662 = !DISubroutineType(types: !663)
  1804. !663 = !{!314, !351, !291}
  1805. !664 = !{!665, !666, !668, !672}
  1806. !665 = !DILocalVariable(name: "fd", arg: 1, scope: !661, file: !143, line: 219, type: !351)
  1807. !666 = !DILocalVariable(name: "bytes", arg: 2, scope: !667, file: !143, line: 219, type: !122)
  1808. !667 = distinct !DILexicalBlock(scope: !661, file: !143, line: 219, column: 19)
  1809. !668 = !DILocalVariable(name: "write_ret", scope: !669, file: !143, line: 221, type: !128)
  1810. !669 = distinct !DILexicalBlock(scope: !670, file: !143, line: 220, column: 18)
  1811. !670 = distinct !DILexicalBlock(scope: !671, file: !143, line: 219, column: 56)
  1812. !671 = distinct !DILexicalBlock(scope: !667, file: !143, line: 219, column: 28)
  1813. !672 = !DILocalVariable(name: "write_err", scope: !673, file: !143, line: 222, type: !128)
  1814. !673 = distinct !DILexicalBlock(scope: !669, file: !143, line: 221, column: 9)
  1815. !674 = !DILocation(line: 219, column: 19, scope: !661)
  1816. !675 = !DILocation(line: 219, column: 28, scope: !667)
  1817. !676 = !DILocation(line: 220, column: 5, scope: !670)
  1818. !677 = !DILocation(line: 220, column: 12, scope: !670)
  1819. !678 = !DILocation(line: 221, column: 39, scope: !669)
  1820. !679 = !DILocation(line: 221, column: 48, scope: !669)
  1821. !680 = !DILocation(line: 221, column: 59, scope: !669)
  1822. !681 = !DILocation(line: 221, column: 38, scope: !669)
  1823. !682 = !DILocation(line: 221, column: 9, scope: !669)
  1824. !683 = !DILocation(line: 222, column: 42, scope: !673)
  1825. !684 = !DILocation(line: 222, column: 41, scope: !673)
  1826. !685 = !DILocation(line: 222, column: 9, scope: !673)
  1827. !686 = !DILocation(line: 223, column: 13, scope: !687)
  1828. !687 = distinct !DILexicalBlock(scope: !673, file: !143, line: 222, column: 9)
  1829. !688 = !DILocation(line: 223, column: 23, scope: !687)
  1830. !689 = !DILocation(line: 224, column: 20, scope: !690)
  1831. !690 = distinct !DILexicalBlock(scope: !687, file: !143, line: 223, column: 28)
  1832. !691 = !DILocation(line: 239, column: 9, scope: !687)
  1833. !692 = !DILocation(line: 225, column: 33, scope: !690)
  1834. !693 = !DILocation(line: 226, column: 47, scope: !690)
  1835. !694 = !DILocation(line: 236, column: 54, scope: !690)
  1836. !695 = !DILocation(line: 236, column: 53, scope: !690)
  1837. !696 = !DILocation(line: 224, column: 13, scope: !690)
  1838. !697 = distinct !DISubprogram(name: "write", scope: !153, file: !153, line: 155, type: !698, isLocal: true, isDefinition: true, scopeLine: 155, isOptimized: false, unit: !1, variables: !700)
  1839. !698 = !DISubroutineType(types: !699)
  1840. !699 = !{!128, !351, !125, !128}
  1841. !700 = !{!701, !702, !704}
  1842. !701 = !DILocalVariable(name: "fd", arg: 1, scope: !697, file: !153, line: 155, type: !351)
  1843. !702 = !DILocalVariable(name: "buf", arg: 2, scope: !703, file: !153, line: 155, type: !125)
  1844. !703 = distinct !DILexicalBlock(scope: !697, file: !153, line: 155, column: 14)
  1845. !704 = !DILocalVariable(name: "nbyte", arg: 3, scope: !705, file: !153, line: 155, type: !128)
  1846. !705 = distinct !DILexicalBlock(scope: !703, file: !153, line: 155, column: 23)
  1847. !706 = !DILocation(line: 155, column: 14, scope: !697)
  1848. !707 = !DILocation(line: 155, column: 23, scope: !703)
  1849. !708 = !DILocation(line: 155, column: 39, scope: !705)
  1850. !709 = !DILocation(line: 156, column: 23, scope: !710)
  1851. !710 = distinct !DILexicalBlock(scope: !711, file: !153, line: 155, column: 62)
  1852. !711 = distinct !DILexicalBlock(scope: !705, file: !153, line: 155, column: 39)
  1853. !712 = !DILocation(line: 156, column: 51, scope: !710)
  1854. !713 = !DILocation(line: 156, column: 57, scope: !710)
  1855. !714 = !DILocation(line: 156, column: 22, scope: !710)
  1856. !715 = !DILocation(line: 156, column: 14, scope: !710)
  1857. !716 = !DILocation(line: 156, column: 14, scope: !711)
  1858. !717 = distinct !DISubprogram(name: "getErrno", scope: !153, file: !153, line: 110, type: !718, isLocal: true, isDefinition: true, scopeLine: 110, isOptimized: false, unit: !1, variables: !720)
  1859. !718 = !DISubroutineType(types: !719)
  1860. !719 = !{!128, !128}
  1861. !720 = !{!721, !722}
  1862. !721 = !DILocalVariable(name: "r", arg: 1, scope: !717, file: !153, line: 110, type: !128)
  1863. !722 = !DILocalVariable(name: "signed_r", scope: !723, file: !153, line: 111, type: !725)
  1864. !723 = distinct !DILexicalBlock(scope: !724, file: !153, line: 110, column: 36)
  1865. !724 = distinct !DILexicalBlock(scope: !717, file: !153, line: 110, column: 17)
  1866. !725 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
  1867. !726 = !DILocation(line: 110, column: 17, scope: !717)
  1868. !727 = !DILocation(line: 111, column: 38, scope: !723)
  1869. !728 = !DILocation(line: 111, column: 5, scope: !723)
  1870. !729 = !DILocation(line: 112, column: 9, scope: !730)
  1871. !730 = distinct !DILexicalBlock(scope: !723, file: !153, line: 111, column: 5)
  1872. !731 = !DILocation(line: 112, column: 18, scope: !730)
  1873. !732 = !DILocation(line: 112, column: 26, scope: !730)
  1874. !733 = !DILocation(line: 112, column: 30, scope: !730)
  1875. !734 = !DILocation(line: 112, column: 39, scope: !730)
  1876. !735 = !DILocation(line: 112, column: 51, scope: !730)
  1877. !736 = !DILocation(line: 112, column: 50, scope: !730)
  1878. !737 = !DILocation(line: 112, column: 5, scope: !730)
  1879. !738 = !DILocation(line: 112, column: 5, scope: !724)
  1880. !739 = !DILocation(line: 112, column: 49, scope: !730)
  1881. !740 = distinct !DISubprogram(name: "unexpectedErrorPosix", scope: !143, file: !143, line: 1464, type: !741, isLocal: true, isDefinition: true, scopeLine: 1464, isOptimized: false, unit: !1, variables: !743)
  1882. !741 = !DISubroutineType(types: !742)
  1883. !742 = !{!314, !128}
  1884. !743 = !{!744}
  1885. !744 = !DILocalVariable(name: "errno", arg: 1, scope: !740, file: !143, line: 1464, type: !128)
  1886. !745 = !DILocation(line: 1464, column: 29, scope: !740)
  1887. !746 = !DILocation(line: 1469, column: 5, scope: !747)
  1888. !747 = distinct !DILexicalBlock(scope: !748, file: !143, line: 1464, column: 52)
  1889. !748 = distinct !DILexicalBlock(scope: !740, file: !143, line: 1464, column: 29)
  1890. !749 = distinct !DISubprogram(name: "errnoWrap", scope: !153, file: !153, line: 287, type: !750, isLocal: true, isDefinition: true, scopeLine: 287, isOptimized: false, unit: !1, variables: !752)
  1891. !750 = !DISubroutineType(types: !751)
  1892. !751 = !{!128, !725}
  1893. !752 = !{!753}
  1894. !753 = !DILocalVariable(name: "value", arg: 1, scope: !749, file: !153, line: 287, type: !725)
  1895. !754 = !DILocation(line: 287, column: 14, scope: !749)
  1896. !755 = !DILocation(line: 288, column: 25, scope: !756)
  1897. !756 = distinct !DILexicalBlock(scope: !757, file: !153, line: 287, column: 37)
  1898. !757 = distinct !DILexicalBlock(scope: !749, file: !153, line: 287, column: 14)
  1899. !758 = !DILocation(line: 288, column: 31, scope: !756)
  1900. !759 = !DILocation(line: 289, column: 25, scope: !760)
  1901. !760 = distinct !DILexicalBlock(scope: !756, file: !153, line: 288, column: 38)
  1902. !761 = !DILocation(line: 289, column: 16, scope: !760)
  1903. !762 = !DILocation(line: 289, column: 15, scope: !760)
  1904. !763 = !DILocation(line: 289, column: 9, scope: !760)
  1905. !764 = !DILocation(line: 291, column: 9, scope: !765)
  1906. !765 = distinct !DILexicalBlock(scope: !756, file: !153, line: 290, column: 12)
  1907. !766 = !DILocation(line: 288, column: 21, scope: !756)
  1908. !767 = !DILocation(line: 288, column: 5, scope: !757)
  1909.  
  1910. Optimization:
  1911. ---------------
  1912. ; ModuleID = 'hello'
  1913. source_filename = "hello"
  1914. target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
  1915. target triple = "x86_64-apple-darwin-unknown"
  1916.  
  1917. %Allocator = type { void ({ i16, %"[]u8" }*, %Allocator*, i64, i64)*, void ({ i16, %"[]u8" }*, %Allocator*, %"[]u8"*, i64, i64)*, void (%Allocator*, %"[]u8"*)* }
  1918. %"[]u8" = type { i8*, i64 }
  1919. %File = type { i32 }
  1920. %"[]&u8" = type { i8**, i64 }
  1921. %OutStream = type { i16 (%OutStream*, %"[]u8"*)* }
  1922. %FileOutStream = type { %File*, %OutStream }
  1923.  
  1924. @os = internal unnamed_addr constant i5 3, align 1
  1925. @link_libc = internal unnamed_addr constant i1 true, align 1
  1926. @want_start_symbol = internal unnamed_addr constant i1 false, align 1
  1927. @is_windows = internal unnamed_addr constant i1 false, align 1
  1928. @panicking = internal unnamed_addr global i1 false, align 1
  1929. @global_allocator_state = internal unnamed_addr global %Allocator { void ({ i16, %"[]u8" }*, %Allocator*, i64, i64)* @globalAlloc, void ({ i16, %"[]u8" }*, %Allocator*, %"[]u8"*, i64, i64)* @globalRealloc, void (%Allocator*, %"[]u8"*)* @globalFree }, align 8
  1930. @0 = internal unnamed_addr constant %Allocator* @global_allocator_state, align 8
  1931. @is_windows.1 = internal unnamed_addr constant i1 false, align 1
  1932. @stderr_file = internal unnamed_addr global %File undef, align 4
  1933. @raw = internal unnamed_addr global %"[]&u8" undef, align 8
  1934. @posix_environ_raw = internal unnamed_addr global %"[]&u8" undef, align 8
  1935. @user_main_fn = internal unnamed_addr global i16 ()* null, align 8
  1936. @stderr_stream = internal unnamed_addr global %OutStream* null, align 8
  1937. @stderr_file_out_stream = internal unnamed_addr global %FileOutStream undef, align 8
  1938. @object_format = internal unnamed_addr constant i3 3, align 1
  1939. @some_mem = internal unnamed_addr global [102400 x i8] undef, align 1
  1940. @some_mem_index = internal unnamed_addr global i64 0, align 8
  1941. @is_windows.2 = internal unnamed_addr constant i1 false, align 1
  1942. @is_posix = internal unnamed_addr constant i1 true, align 1
  1943. @unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1
  1944. @_errno = internal unnamed_addr constant i32* ()* @__error, align 8
  1945. @1 = internal unnamed_addr constant i8* getelementptr inbounds ([24 x i8], [24 x i8]* @2, i64 0, i64 0), align 8
  1946. @2 = internal unnamed_addr constant [24 x i8] c"reached unreachable code", align 1
  1947. @3 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @2, i64 0, i64 0), i64 24 }, align 8
  1948. @4 = internal unnamed_addr constant i1* @panicking, align 8
  1949. @5 = internal unnamed_addr constant i1* @panicking, align 8
  1950. @6 = internal unnamed_addr constant %File* @stderr_file, align 8
  1951. @7 = internal unnamed_addr constant i8* getelementptr inbounds ([19 x i8], [19 x i8]* @8, i64 0, i64 0), align 8
  1952. @8 = internal unnamed_addr constant [19 x i8] c"index out of bounds", align 1
  1953. @9 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([19 x i8], [19 x i8]* @8, i64 0, i64 0), i64 19 }, align 8
  1954. @10 = internal unnamed_addr constant %"[]&u8"* @raw, align 8
  1955. @11 = internal unnamed_addr constant i8* getelementptr inbounds ([16 x i8], [16 x i8]* @12, i64 0, i64 0), align 8
  1956. @12 = internal unnamed_addr constant [16 x i8] c"integer overflow", align 1
  1957. @13 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @12, i64 0, i64 0), i64 16 }, align 8
  1958. @14 = internal unnamed_addr constant %"[]&u8"* @posix_environ_raw, align 8
  1959. @15 = internal unnamed_addr constant i16 ()** @user_main_fn, align 8
  1960. @16 = internal unnamed_addr constant %OutStream** @stderr_stream, align 8
  1961. @17 = internal unnamed_addr constant %File* @stderr_file, align 8
  1962. @18 = internal unnamed_addr constant %File* @stderr_file, align 8
  1963. @19 = internal unnamed_addr constant %FileOutStream* @stderr_file_out_stream, align 8
  1964. @20 = internal unnamed_addr constant %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), align 8
  1965. @21 = internal unnamed_addr constant %OutStream** @stderr_stream, align 8
  1966. @22 = internal unnamed_addr constant { i16, %OutStream* } { i16 0, %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1) }, align 8
  1967. @23 = internal unnamed_addr constant i8* getelementptr inbounds ([51 x i8], [51 x i8]* @24, i64 0, i64 0), align 8
  1968. @24 = internal unnamed_addr constant [51 x i8] c"(stack trace unavailable for Mach-O object format)\0A", align 1
  1969. @25 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([51 x i8], [51 x i8]* @24, i64 0, i64 0), i64 51 }, align 8
  1970. @26 = internal unnamed_addr constant i64* @some_mem_index, align 8
  1971. @27 = internal unnamed_addr constant [102400 x i8]* @some_mem, align 8
  1972. @28 = internal unnamed_addr constant i8* getelementptr inbounds ([44 x i8], [44 x i8]* @29, i64 0, i64 0), align 8
  1973. @29 = internal unnamed_addr constant [44 x i8] c"remainder division by zero or negative value", align 1
  1974. @30 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([44 x i8], [44 x i8]* @29, i64 0, i64 0), i64 44 }, align 8
  1975. @31 = internal unnamed_addr constant i64* @some_mem_index, align 8
  1976. @32 = internal unnamed_addr constant { i16, %"[]u8" } { i16 5, %"[]u8" zeroinitializer }, align 8
  1977. @33 = internal unnamed_addr constant [102400 x i8]* @some_mem, align 8
  1978. @34 = internal unnamed_addr constant i64* @some_mem_index, align 8
  1979. @35 = internal unnamed_addr constant %OutStream { i16 (%OutStream*, %"[]u8"*)* @FileOutStream_writeFn }, align 8
  1980. @36 = internal unnamed_addr constant i8* getelementptr inbounds ([3 x i8], [3 x i8]* @37, i64 0, i64 2), align 8
  1981. @37 = internal unnamed_addr constant [3 x i8] c"{}\0A", align 1
  1982. @38 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([3 x i8], [3 x i8]* @37, i64 0, i64 2), i64 1 }, align 8
  1983. @39 = internal unnamed_addr constant i8* getelementptr inbounds ([50 x i8], [50 x i8]* @40, i64 0, i64 0), align 8
  1984. @40 = internal unnamed_addr constant [50 x i8] c"attempt to cast negative value to unsigned integer", align 1
  1985. @41 = internal unnamed_addr constant %"[]u8" { i8* getelementptr inbounds ([50 x i8], [50 x i8]* @40, i64 0, i64 0), i64 50 }, align 8
  1986. @__stack_chk_guard = external global i8*
  1987.  
  1988. ; Function Attrs: nobuiltin nounwind sspstrong
  1989. define internal fastcc void @globalAlloc({ i16, %"[]u8" }* nonnull sret, %Allocator* nonnull, i64, i64) unnamed_addr #0 !dbg !181 {
  1990. Entry:
  1991. %StackGuardSlot = alloca i8*
  1992. %4 = call i8* @llvm.stackguard()
  1993. call void @llvm.stackprotector(i8* %4, i8** %StackGuardSlot)
  1994. %5 = alloca %"[]u8", align 8
  1995. %6 = alloca { i16, %"[]u8" }, align 8
  1996. %self = alloca %Allocator*, align 8
  1997. %n = alloca i64, align 8
  1998. %alignment = alloca i64, align 8
  1999. %addr = alloca i64, align 8
  2000. %rem = alloca i64, align 8
  2001. %march_forward_bytes = alloca i64, align 8
  2002. %adjusted_index = alloca i64, align 8
  2003. %end_index = alloca i64, align 8
  2004. %result = alloca %"[]u8", align 8
  2005. store %Allocator* %1, %Allocator** %self, align 8
  2006. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !183, metadata !201), !dbg !202
  2007. store i64 %2, i64* %n, align 8
  2008. call void @llvm.dbg.declare(metadata i64* %n, metadata !184, metadata !201), !dbg !203
  2009. store i64 %3, i64* %alignment, align 8
  2010. call void @llvm.dbg.declare(metadata i64* %alignment, metadata !186, metadata !201), !dbg !204
  2011. %7 = load i64, i64* @some_mem_index, align 8, !dbg !205
  2012. %8 = icmp ult i64 %7, 102400, !dbg !206
  2013. br i1 %8, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !206
  2014.  
  2015. Then: ; preds = %RemZeroOk
  2016. br label %EndIf, !dbg !207
  2017.  
  2018. Else: ; preds = %RemZeroOk
  2019. %9 = load i64, i64* %alignment, align 8, !dbg !208
  2020. %10 = load i64, i64* %rem, align 8, !dbg !209
  2021. %11 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %9, i64 %10), !dbg !210
  2022. %12 = extractvalue { i64, i1 } %11, 0, !dbg !210
  2023. %13 = extractvalue { i64, i1 } %11, 1, !dbg !210
  2024. br i1 %13, label %OverflowFail, label %OverflowOk, !dbg !210
  2025.  
  2026. EndIf: ; preds = %OverflowOk, %Then
  2027. %14 = phi i64 [ 0, %Then ], [ %12, %OverflowOk ], !dbg !207
  2028. store i64 %14, i64* %march_forward_bytes, align 8, !dbg !211
  2029. call void @llvm.dbg.declare(metadata i64* %march_forward_bytes, metadata !193, metadata !201), !dbg !211
  2030. %15 = load i64, i64* @some_mem_index, align 8, !dbg !212
  2031. %16 = load i64, i64* %march_forward_bytes, align 8, !dbg !213
  2032. %17 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %15, i64 %16), !dbg !214
  2033. %18 = extractvalue { i64, i1 } %17, 0, !dbg !214
  2034. %19 = extractvalue { i64, i1 } %17, 1, !dbg !214
  2035. br i1 %19, label %OverflowFail3, label %OverflowOk4, !dbg !214
  2036.  
  2037. Then1: ; preds = %OverflowOk6
  2038. %20 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !215
  2039. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %20, i8* bitcast ({ i16, %"[]u8" }* @32 to i8*), i64 24, i32 8, i1 false), !dbg !215
  2040. %21 = call i8* @llvm.stackguard()
  2041. %22 = load volatile i8*, i8** %StackGuardSlot
  2042. %23 = icmp eq i8* %21, %22
  2043. br i1 %23, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2044.  
  2045. SP_return: ; preds = %Then1
  2046. ret void, !dbg !215
  2047.  
  2048. Else2: ; preds = %OverflowOk6
  2049. %24 = load i64, i64* %adjusted_index, align 8, !dbg !218
  2050. %25 = load i64, i64* %end_index, align 8, !dbg !219
  2051. %26 = icmp ule i64 %24, %25, !dbg !220
  2052. br i1 %26, label %BoundsCheckOk8, label %BoundsCheckFail7, !dbg !220
  2053.  
  2054. BoundsCheckFail: ; preds = %Entry
  2055. call coldcc void @panic(%"[]u8"* @9), !dbg !206
  2056. unreachable, !dbg !206
  2057.  
  2058. BoundsCheckOk: ; preds = %Entry
  2059. %27 = getelementptr inbounds [102400 x i8], [102400 x i8]* @some_mem, i64 0, i64 %7, !dbg !206
  2060. %28 = ptrtoint i8* %27 to i64, !dbg !221
  2061. store i64 %28, i64* %addr, align 8, !dbg !222
  2062. call void @llvm.dbg.declare(metadata i64* %addr, metadata !188, metadata !201), !dbg !222
  2063. %29 = load i64, i64* %addr, align 8, !dbg !223
  2064. %30 = load i64, i64* %alignment, align 8, !dbg !224
  2065. %31 = icmp eq i64 %30, 0, !dbg !225
  2066. br i1 %31, label %RemZeroFail, label %RemZeroOk, !dbg !225
  2067.  
  2068. RemZeroOk: ; preds = %BoundsCheckOk
  2069. %32 = urem i64 %29, %30, !dbg !225
  2070. store i64 %32, i64* %rem, align 8, !dbg !226
  2071. call void @llvm.dbg.declare(metadata i64* %rem, metadata !191, metadata !201), !dbg !226
  2072. %33 = load i64, i64* %rem, align 8, !dbg !227
  2073. %34 = icmp eq i64 %33, 0, !dbg !228
  2074. br i1 %34, label %Then, label %Else, !dbg !228
  2075.  
  2076. RemZeroFail: ; preds = %BoundsCheckOk
  2077. call coldcc void @panic(%"[]u8"* @30), !dbg !225
  2078. unreachable, !dbg !225
  2079.  
  2080. OverflowFail: ; preds = %Else
  2081. call coldcc void @panic(%"[]u8"* @13), !dbg !210
  2082. unreachable, !dbg !210
  2083.  
  2084. OverflowOk: ; preds = %Else
  2085. br label %EndIf, !dbg !207
  2086.  
  2087. OverflowFail3: ; preds = %EndIf
  2088. call coldcc void @panic(%"[]u8"* @13), !dbg !214
  2089. unreachable, !dbg !214
  2090.  
  2091. OverflowOk4: ; preds = %EndIf
  2092. store i64 %18, i64* %adjusted_index, align 8, !dbg !229
  2093. call void @llvm.dbg.declare(metadata i64* %adjusted_index, metadata !195, metadata !201), !dbg !229
  2094. %35 = load i64, i64* %adjusted_index, align 8, !dbg !230
  2095. %36 = load i64, i64* %n, align 8, !dbg !231
  2096. %37 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %35, i64 %36), !dbg !232
  2097. %38 = extractvalue { i64, i1 } %37, 0, !dbg !232
  2098. %39 = extractvalue { i64, i1 } %37, 1, !dbg !232
  2099. br i1 %39, label %OverflowFail5, label %OverflowOk6, !dbg !232
  2100.  
  2101. OverflowFail5: ; preds = %OverflowOk4
  2102. call coldcc void @panic(%"[]u8"* @13), !dbg !232
  2103. unreachable, !dbg !232
  2104.  
  2105. OverflowOk6: ; preds = %OverflowOk4
  2106. store i64 %38, i64* %end_index, align 8, !dbg !233
  2107. call void @llvm.dbg.declare(metadata i64* %end_index, metadata !197, metadata !201), !dbg !233
  2108. %40 = load i64, i64* %end_index, align 8, !dbg !234
  2109. %41 = icmp ugt i64 %40, 102400, !dbg !235
  2110. br i1 %41, label %Then1, label %Else2, !dbg !235
  2111.  
  2112. BoundsCheckFail7: ; preds = %Else2
  2113. call coldcc void @panic(%"[]u8"* @9), !dbg !220
  2114. unreachable, !dbg !220
  2115.  
  2116. BoundsCheckOk8: ; preds = %Else2
  2117. %42 = icmp ule i64 %25, 102400, !dbg !220
  2118. br i1 %42, label %BoundsCheckOk10, label %BoundsCheckFail9, !dbg !220
  2119.  
  2120. BoundsCheckFail9: ; preds = %BoundsCheckOk8
  2121. call coldcc void @panic(%"[]u8"* @9), !dbg !220
  2122. unreachable, !dbg !220
  2123.  
  2124. BoundsCheckOk10: ; preds = %BoundsCheckOk8
  2125. %43 = getelementptr inbounds %"[]u8", %"[]u8"* %5, i32 0, i32 0, !dbg !220
  2126. %44 = getelementptr inbounds [102400 x i8], [102400 x i8]* @some_mem, i64 0, i64 %24, !dbg !220
  2127. store i8* %44, i8** %43, align 8, !dbg !220
  2128. %45 = getelementptr inbounds %"[]u8", %"[]u8"* %5, i32 0, i32 1, !dbg !220
  2129. %46 = sub nsw i64 %25, %24, !dbg !220
  2130. store i64 %46, i64* %45, align 8, !dbg !220
  2131. %47 = bitcast %"[]u8"* %5 to i8*, !dbg !236
  2132. %48 = bitcast %"[]u8"* %result to i8*, !dbg !236
  2133. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %48, i8* %47, i64 16, i32 8, i1 false), !dbg !236
  2134. call void @llvm.dbg.declare(metadata %"[]u8"* %result, metadata !199, metadata !201), !dbg !236
  2135. %49 = load i64, i64* %end_index, align 8, !dbg !237
  2136. store i64 %49, i64* @some_mem_index, align 8, !dbg !239
  2137. %50 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %6, i32 0, i32 0, !dbg !240
  2138. store i16 0, i16* %50, align 2, !dbg !240
  2139. %51 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %6, i32 0, i32 1, !dbg !240
  2140. %52 = bitcast %"[]u8"* %result to i8*, !dbg !240
  2141. %53 = bitcast %"[]u8"* %51 to i8*, !dbg !240
  2142. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %53, i8* %52, i64 16, i32 8, i1 false), !dbg !240
  2143. %54 = bitcast { i16, %"[]u8" }* %6 to i8*, !dbg !241
  2144. %55 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !241
  2145. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %55, i8* %54, i64 24, i32 8, i1 false), !dbg !241
  2146. %56 = call i8* @llvm.stackguard()
  2147. %57 = load volatile i8*, i8** %StackGuardSlot
  2148. %58 = icmp eq i8* %56, %57
  2149. br i1 %58, label %SP_return12, label %CallStackCheckFailBlk11, !prof !217
  2150.  
  2151. SP_return12: ; preds = %BoundsCheckOk10
  2152. ret void, !dbg !241
  2153.  
  2154. CallStackCheckFailBlk: ; preds = %Then1
  2155. call void @__stack_chk_fail(), !dbg !242
  2156. unreachable, !dbg !242
  2157.  
  2158. CallStackCheckFailBlk11: ; preds = %BoundsCheckOk10
  2159. call void @__stack_chk_fail(), !dbg !242
  2160. unreachable, !dbg !242
  2161. }
  2162.  
  2163. ; Function Attrs: nobuiltin nounwind sspstrong
  2164. define internal fastcc void @globalRealloc({ i16, %"[]u8" }* nonnull sret, %Allocator* nonnull, %"[]u8"* byval nonnull readonly, i64, i64) unnamed_addr #0 !dbg !243 {
  2165. Entry:
  2166. %StackGuardSlot = alloca i8*
  2167. %5 = call i8* @llvm.stackguard()
  2168. call void @llvm.stackprotector(i8* %5, i8** %StackGuardSlot)
  2169. %6 = alloca %"[]u8", align 8
  2170. %7 = alloca { i16, %"[]u8" }, align 8
  2171. %8 = alloca { i16, %"[]u8" }, align 8
  2172. %9 = alloca { i16, %"[]u8" }, align 8
  2173. %10 = alloca { i16, %"[]u8" }, align 8
  2174. %11 = alloca { i16, %"[]u8" }, align 8
  2175. %self = alloca %Allocator*, align 8
  2176. %new_size = alloca i64, align 8
  2177. %alignment = alloca i64, align 8
  2178. %result = alloca %"[]u8", align 8
  2179. store %Allocator* %1, %Allocator** %self, align 8
  2180. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !245, metadata !201), !dbg !256
  2181. call void @llvm.dbg.declare(metadata %"[]u8"* %2, metadata !246, metadata !201), !dbg !257
  2182. store i64 %3, i64* %new_size, align 8
  2183. call void @llvm.dbg.declare(metadata i64* %new_size, metadata !248, metadata !201), !dbg !258
  2184. store i64 %4, i64* %alignment, align 8
  2185. call void @llvm.dbg.declare(metadata i64* %alignment, metadata !250, metadata !201), !dbg !259
  2186. %12 = load i64, i64* %new_size, align 8, !dbg !260
  2187. %13 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !261
  2188. %14 = load i64, i64* %13, align 8, !dbg !261
  2189. %15 = icmp ule i64 %12, %14, !dbg !262
  2190. br i1 %15, label %Then, label %Else, !dbg !262
  2191.  
  2192. Then: ; preds = %Entry
  2193. %16 = load i64, i64* %new_size, align 8, !dbg !263
  2194. %17 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !265
  2195. %18 = load i64, i64* %17, align 8, !dbg !265
  2196. %19 = icmp ule i64 0, %16, !dbg !265
  2197. br i1 %19, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !265
  2198.  
  2199. Else: ; preds = %Entry
  2200. %20 = load %Allocator*, %Allocator** %self, align 8, !dbg !266
  2201. %21 = load i64, i64* %new_size, align 8, !dbg !267
  2202. %22 = load i64, i64* %alignment, align 8, !dbg !268
  2203. call fastcc void @globalAlloc({ i16, %"[]u8" }* %8, %Allocator* %20, i64 %21, i64 %22), !dbg !269
  2204. %23 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %8, i32 0, i32 0, !dbg !270
  2205. %24 = load i16, i16* %23, align 2, !dbg !270
  2206. %25 = icmp ne i16 %24, 0, !dbg !270
  2207. br i1 %25, label %ErrRetReturn, label %ErrRetContinue, !dbg !270
  2208.  
  2209. ErrRetReturn: ; preds = %Else
  2210. %26 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %8, i32 0, i32 0, !dbg !270
  2211. %27 = load i16, i16* %26, align 2, !dbg !270
  2212. %28 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %10, i32 0, i32 0, !dbg !270
  2213. store i16 %27, i16* %28, align 2, !dbg !270
  2214. %29 = bitcast { i16, %"[]u8" }* %10 to i8*, !dbg !270
  2215. %30 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !270
  2216. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %30, i8* %29, i64 24, i32 8, i1 false), !dbg !270
  2217. %31 = call i8* @llvm.stackguard()
  2218. %32 = load volatile i8*, i8** %StackGuardSlot
  2219. %33 = icmp eq i8* %31, %32
  2220. br i1 %33, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2221.  
  2222. SP_return: ; preds = %ErrRetReturn
  2223. ret void, !dbg !270
  2224.  
  2225. ErrRetContinue: ; preds = %Else
  2226. %34 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %8, i32 0, i32 1, !dbg !270
  2227. %35 = bitcast %"[]u8"* %34 to i8*, !dbg !271
  2228. %36 = bitcast %"[]u8"* %result to i8*, !dbg !271
  2229. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %36, i8* %35, i64 16, i32 8, i1 false), !dbg !271
  2230. call void @llvm.dbg.declare(metadata %"[]u8"* %result, metadata !252, metadata !201), !dbg !271
  2231. %37 = getelementptr inbounds %"[]u8", %"[]u8"* %result, i32 0, i32 0, !dbg !272
  2232. %38 = load i8*, i8** %37, align 8, !dbg !272
  2233. %39 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 0, !dbg !274
  2234. %40 = load i8*, i8** %39, align 8, !dbg !274
  2235. %41 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 1, !dbg !275
  2236. %42 = load i64, i64* %41, align 8, !dbg !275
  2237. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %38, i8* %40, i64 %42, i32 1, i1 false), !dbg !276
  2238. %43 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %11, i32 0, i32 0, !dbg !277
  2239. store i16 0, i16* %43, align 2, !dbg !277
  2240. %44 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %11, i32 0, i32 1, !dbg !277
  2241. %45 = bitcast %"[]u8"* %result to i8*, !dbg !277
  2242. %46 = bitcast %"[]u8"* %44 to i8*, !dbg !277
  2243. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %46, i8* %45, i64 16, i32 8, i1 false), !dbg !277
  2244. %47 = bitcast { i16, %"[]u8" }* %11 to i8*, !dbg !278
  2245. %48 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !278
  2246. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %48, i8* %47, i64 24, i32 8, i1 false), !dbg !278
  2247. %49 = call i8* @llvm.stackguard()
  2248. %50 = load volatile i8*, i8** %StackGuardSlot
  2249. %51 = icmp eq i8* %49, %50
  2250. br i1 %51, label %SP_return4, label %CallStackCheckFailBlk3, !prof !217
  2251.  
  2252. SP_return4: ; preds = %ErrRetContinue
  2253. ret void, !dbg !278
  2254.  
  2255. BoundsCheckFail: ; preds = %Then
  2256. call coldcc void @panic(%"[]u8"* @9), !dbg !265
  2257. unreachable, !dbg !265
  2258.  
  2259. BoundsCheckOk: ; preds = %Then
  2260. %52 = icmp ule i64 %16, %18, !dbg !265
  2261. br i1 %52, label %BoundsCheckOk2, label %BoundsCheckFail1, !dbg !265
  2262.  
  2263. BoundsCheckFail1: ; preds = %BoundsCheckOk
  2264. call coldcc void @panic(%"[]u8"* @9), !dbg !265
  2265. unreachable, !dbg !265
  2266.  
  2267. BoundsCheckOk2: ; preds = %BoundsCheckOk
  2268. %53 = getelementptr inbounds %"[]u8", %"[]u8"* %2, i32 0, i32 0, !dbg !265
  2269. %54 = load i8*, i8** %53, align 8, !dbg !265
  2270. %55 = getelementptr inbounds %"[]u8", %"[]u8"* %6, i32 0, i32 0, !dbg !265
  2271. %56 = getelementptr inbounds i8, i8* %54, i64 0, !dbg !265
  2272. store i8* %56, i8** %55, align 8, !dbg !265
  2273. %57 = getelementptr inbounds %"[]u8", %"[]u8"* %6, i32 0, i32 1, !dbg !265
  2274. %58 = sub nsw i64 %16, 0, !dbg !265
  2275. store i64 %58, i64* %57, align 8, !dbg !265
  2276. %59 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %7, i32 0, i32 0, !dbg !265
  2277. store i16 0, i16* %59, align 2, !dbg !265
  2278. %60 = getelementptr inbounds { i16, %"[]u8" }, { i16, %"[]u8" }* %7, i32 0, i32 1, !dbg !265
  2279. %61 = bitcast %"[]u8"* %6 to i8*, !dbg !265
  2280. %62 = bitcast %"[]u8"* %60 to i8*, !dbg !265
  2281. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %62, i8* %61, i64 16, i32 8, i1 false), !dbg !265
  2282. %63 = bitcast { i16, %"[]u8" }* %7 to i8*, !dbg !279
  2283. %64 = bitcast { i16, %"[]u8" }* %0 to i8*, !dbg !279
  2284. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %64, i8* %63, i64 24, i32 8, i1 false), !dbg !279
  2285. %65 = call i8* @llvm.stackguard()
  2286. %66 = load volatile i8*, i8** %StackGuardSlot
  2287. %67 = icmp eq i8* %65, %66
  2288. br i1 %67, label %SP_return6, label %CallStackCheckFailBlk5, !prof !217
  2289.  
  2290. SP_return6: ; preds = %BoundsCheckOk2
  2291. ret void, !dbg !279
  2292.  
  2293. CallStackCheckFailBlk: ; preds = %ErrRetReturn
  2294. call void @__stack_chk_fail(), !dbg !280
  2295. unreachable, !dbg !280
  2296.  
  2297. CallStackCheckFailBlk3: ; preds = %ErrRetContinue
  2298. call void @__stack_chk_fail(), !dbg !280
  2299. unreachable, !dbg !280
  2300.  
  2301. CallStackCheckFailBlk5: ; preds = %BoundsCheckOk2
  2302. call void @__stack_chk_fail(), !dbg !280
  2303. unreachable, !dbg !280
  2304. }
  2305.  
  2306. ; Function Attrs: nobuiltin nounwind sspstrong
  2307. define internal fastcc void @globalFree(%Allocator* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !281 {
  2308. Entry:
  2309. %self = alloca %Allocator*, align 8
  2310. store %Allocator* %0, %Allocator** %self, align 8
  2311. call void @llvm.dbg.declare(metadata %Allocator** %self, metadata !283, metadata !201), !dbg !286
  2312. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !284, metadata !201), !dbg !287
  2313. ret void, !dbg !288
  2314. }
  2315.  
  2316. ; Function Attrs: nobuiltin nounwind
  2317. declare nonnull i32* @__error() #1
  2318.  
  2319. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  2320. define internal coldcc void @panic(%"[]u8"* byval nonnull readonly) unnamed_addr #2 !dbg !290 {
  2321. Entry:
  2322. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !296, metadata !201), !dbg !297
  2323. call fastcc void @panic.3(%"[]u8"* byval %0), !dbg !298
  2324. unreachable, !dbg !298
  2325. }
  2326.  
  2327. ; Function Attrs: nounwind readnone speculatable
  2328. declare void @llvm.dbg.declare(metadata, metadata, metadata) #3
  2329.  
  2330. ; Function Attrs: nobuiltin noreturn nounwind sspstrong
  2331. define internal fastcc void @panic.3(%"[]u8"* byval nonnull readonly) unnamed_addr #4 !dbg !302 {
  2332. Entry:
  2333. %1 = alloca { i16, %OutStream* }, align 8
  2334. %2 = alloca { i16, %OutStream* }, align 8
  2335. %3 = alloca i16, align 2
  2336. %4 = alloca i16, align 2
  2337. %stderr = alloca %OutStream*, align 8
  2338. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !304, metadata !201), !dbg !318
  2339. %5 = load i1, i1* @panicking, align 1, !dbg !319
  2340. br i1 %5, label %Then, label %Else, !dbg !319
  2341.  
  2342. Then: ; preds = %Entry
  2343. call coldcc void @abort.0(), !dbg !320
  2344. unreachable, !dbg !320
  2345.  
  2346. Else: ; preds = %Entry
  2347. store i1 true, i1* @panicking, align 1, !dbg !322
  2348. br label %EndIf, !dbg !324
  2349.  
  2350. EndIf: ; preds = %Else
  2351. call fastcc void @getStderrStream({ i16, %OutStream* }* %1), !dbg !325
  2352. %6 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 0, !dbg !326
  2353. %7 = load i16, i16* %6, align 2, !dbg !326
  2354. %8 = icmp ne i16 %7, 0, !dbg !326
  2355. br i1 %8, label %UnwrapErrError, label %UnwrapErrOk, !dbg !326
  2356.  
  2357. UnwrapErrError: ; preds = %EndIf
  2358. call coldcc void @abort.0(), !dbg !327
  2359. unreachable, !dbg !327
  2360.  
  2361. UnwrapErrOk: ; preds = %EndIf
  2362. %9 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %1, i32 0, i32 1, !dbg !326
  2363. %10 = load %OutStream*, %OutStream** %9, align 8, !dbg !326
  2364. br label %UnwrapErrEnd, !dbg !326
  2365.  
  2366. UnwrapErrEnd: ; preds = %UnwrapErrOk
  2367. store %OutStream* %10, %OutStream** %stderr, align 8, !dbg !328
  2368. call void @llvm.dbg.declare(metadata %OutStream** %stderr, metadata !307, metadata !201), !dbg !328
  2369. %11 = load %OutStream*, %OutStream** %stderr, align 8, !dbg !329
  2370. %12 = call fastcc i16 @OutStream_print(%OutStream* %11, %"[]u8"* byval %0), !dbg !331
  2371. store i16 %12, i16* %3, align 2, !dbg !331
  2372. %13 = load i16, i16* %3, align 2, !dbg !332
  2373. %14 = icmp ne i16 %13, 0, !dbg !332
  2374. br i1 %14, label %UnwrapErrError1, label %UnwrapErrOk2, !dbg !332
  2375.  
  2376. UnwrapErrError1: ; preds = %UnwrapErrEnd
  2377. call coldcc void @abort.0(), !dbg !333
  2378. unreachable, !dbg !333
  2379.  
  2380. UnwrapErrOk2: ; preds = %UnwrapErrEnd
  2381. %15 = load i16, i16* %3, align 2, !dbg !332
  2382. br label %UnwrapErrEnd3, !dbg !332
  2383.  
  2384. UnwrapErrEnd3: ; preds = %UnwrapErrOk2
  2385. %16 = load %OutStream*, %OutStream** %stderr, align 8, !dbg !334
  2386. %17 = call fastcc i1 @File_isTty(%File* @stderr_file), !dbg !335
  2387. %18 = call fastcc i16 @writeStackTrace(%OutStream* %16, %Allocator* @global_allocator_state, i1 %17, i64 1), !dbg !336
  2388. store i16 %18, i16* %4, align 2, !dbg !336
  2389. %19 = load i16, i16* %4, align 2, !dbg !337
  2390. %20 = icmp ne i16 %19, 0, !dbg !337
  2391. br i1 %20, label %UnwrapErrError4, label %UnwrapErrOk5, !dbg !337
  2392.  
  2393. UnwrapErrError4: ; preds = %UnwrapErrEnd3
  2394. call coldcc void @abort.0(), !dbg !338
  2395. unreachable, !dbg !338
  2396.  
  2397. UnwrapErrOk5: ; preds = %UnwrapErrEnd3
  2398. %21 = load i16, i16* %4, align 2, !dbg !337
  2399. br label %UnwrapErrEnd6, !dbg !337
  2400.  
  2401. UnwrapErrEnd6: ; preds = %UnwrapErrOk5
  2402. call coldcc void @abort.0(), !dbg !339
  2403. unreachable, !dbg !339
  2404. }
  2405.  
  2406. ; Function Attrs: naked nobuiltin noreturn nounwind sspstrong
  2407. define internal void @_start.0() unnamed_addr #5 !dbg !340 {
  2408. Entry:
  2409. call coldcc void @panic(%"[]u8"* @3), !dbg !344
  2410. unreachable, !dbg !344
  2411. }
  2412.  
  2413. ; Function Attrs: nobuiltin noreturn nounwind sspstrong
  2414. define internal void @WinMainCRTStartup.0() unnamed_addr #4 !dbg !347 {
  2415. Entry:
  2416. call coldcc void @panic(%"[]u8"* @3), !dbg !348
  2417. unreachable, !dbg !348
  2418. }
  2419.  
  2420. ; Function Attrs: nobuiltin nounwind sspstrong
  2421. define i32 @main(i32, i8** nonnull, i8** nonnull) #0 !dbg !351 {
  2422. Entry:
  2423. %3 = alloca i16, align 2
  2424. %c_argc = alloca i32, align 4
  2425. %c_argv = alloca i8**, align 8
  2426. %c_envp = alloca i8**, align 8
  2427. store i32 %0, i32* %c_argc, align 4
  2428. call void @llvm.dbg.declare(metadata i32* %c_argc, metadata !358, metadata !201), !dbg !363
  2429. store i8** %1, i8*** %c_argv, align 8
  2430. call void @llvm.dbg.declare(metadata i8*** %c_argv, metadata !359, metadata !201), !dbg !364
  2431. store i8** %2, i8*** %c_envp, align 8
  2432. call void @llvm.dbg.declare(metadata i8*** %c_envp, metadata !361, metadata !201), !dbg !365
  2433. %4 = load i32, i32* %c_argc, align 4, !dbg !366
  2434. %5 = sext i32 %4 to i64, !dbg !369
  2435. %6 = load i8**, i8*** %c_argv, align 8, !dbg !370
  2436. %7 = load i8**, i8*** %c_envp, align 8, !dbg !371
  2437. %8 = call fastcc i16 @callMain(i64 %5, i8** %6, i8** %7), !dbg !372
  2438. store i16 %8, i16* %3, align 2, !dbg !372
  2439. %9 = load i16, i16* %3, align 2, !dbg !373
  2440. %10 = icmp ne i16 %9, 0, !dbg !373
  2441. br i1 %10, label %UnwrapErrError, label %UnwrapErrOk, !dbg !373
  2442.  
  2443. UnwrapErrError: ; preds = %Entry
  2444. ret i32 1, !dbg !374
  2445.  
  2446. UnwrapErrOk: ; preds = %Entry
  2447. %11 = load i16, i16* %3, align 2, !dbg !373
  2448. ret i32 0, !dbg !375
  2449. }
  2450.  
  2451. ; Function Attrs: nobuiltin nounwind sspstrong
  2452. define internal fastcc i16 @callMain(i64, i8** nonnull, i8** nonnull) unnamed_addr #0 !dbg !376 {
  2453. Entry:
  2454. %StackGuardSlot = alloca i8*
  2455. %3 = call i8* @llvm.stackguard()
  2456. call void @llvm.stackprotector(i8* %3, i8** %StackGuardSlot)
  2457. %4 = alloca %"[]&u8", align 8
  2458. %5 = alloca i8**, align 8
  2459. %6 = alloca %"[]&u8", align 8
  2460. %argc = alloca i64, align 8
  2461. %argv = alloca i8**, align 8
  2462. %envp = alloca i8**, align 8
  2463. %env_count = alloca i64, align 8
  2464. store i64 %0, i64* %argc, align 8
  2465. call void @llvm.dbg.declare(metadata i64* %argc, metadata !380, metadata !201), !dbg !388
  2466. store i8** %1, i8*** %argv, align 8
  2467. call void @llvm.dbg.declare(metadata i8*** %argv, metadata !381, metadata !201), !dbg !389
  2468. store i8** %2, i8*** %envp, align 8
  2469. call void @llvm.dbg.declare(metadata i8*** %envp, metadata !383, metadata !201), !dbg !390
  2470. %7 = load i64, i64* %argc, align 8, !dbg !391
  2471. %8 = load i8**, i8*** %argv, align 8, !dbg !392
  2472. %9 = icmp ule i64 0, %7, !dbg !392
  2473. br i1 %9, label %BoundsCheckOk, label %BoundsCheckFail, !dbg !392
  2474.  
  2475. WhileCond: ; preds = %OverflowOk, %BoundsCheckOk
  2476. %10 = load i64, i64* %env_count, align 8, !dbg !393
  2477. %11 = load i8**, i8*** %envp, align 8, !dbg !395
  2478. %12 = getelementptr inbounds i8*, i8** %11, i64 %10, !dbg !395
  2479. %13 = load i8*, i8** %12, align 8, !dbg !395
  2480. %14 = icmp ne i8* %13, null, !dbg !396
  2481. br i1 %14, label %WhileBody, label %WhileEnd, !dbg !396
  2482.  
  2483. WhileBody: ; preds = %WhileCond
  2484. %15 = load i64, i64* %env_count, align 8, !dbg !397
  2485. %16 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %15, i64 1), !dbg !398
  2486. %17 = extractvalue { i64, i1 } %16, 0, !dbg !398
  2487. %18 = extractvalue { i64, i1 } %16, 1, !dbg !398
  2488. br i1 %18, label %OverflowFail, label %OverflowOk, !dbg !398
  2489.  
  2490. WhileEnd: ; preds = %WhileCond
  2491. %19 = load i8**, i8*** %envp, align 8, !dbg !399
  2492. store i8** %19, i8*** %5, align 8, !dbg !400
  2493. %20 = load i64, i64* %env_count, align 8, !dbg !401
  2494. %21 = load i8**, i8*** %5, align 8, !dbg !402
  2495. %22 = icmp ule i64 0, %20, !dbg !402
  2496. br i1 %22, label %BoundsCheckOk2, label %BoundsCheckFail1, !dbg !402
  2497.  
  2498. BoundsCheckFail: ; preds = %Entry
  2499. call coldcc void @panic(%"[]u8"* @9), !dbg !392
  2500. unreachable, !dbg !392
  2501.  
  2502. BoundsCheckOk: ; preds = %Entry
  2503. %23 = getelementptr inbounds %"[]&u8", %"[]&u8"* %4, i32 0, i32 0, !dbg !392
  2504. %24 = getelementptr inbounds i8*, i8** %8, i64 0, !dbg !392
  2505. store i8** %24, i8*** %23, align 8, !dbg !392
  2506. %25 = getelementptr inbounds %"[]&u8", %"[]&u8"* %4, i32 0, i32 1, !dbg !392
  2507. %26 = sub nsw i64 %7, 0, !dbg !392
  2508. store i64 %26, i64* %25, align 8, !dbg !392
  2509. %27 = bitcast %"[]&u8"* %4 to i8*, !dbg !403
  2510. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%"[]&u8"* @raw to i8*), i8* %27, i64 16, i32 8, i1 false), !dbg !403
  2511. store i64 0, i64* %env_count, align 8, !dbg !404
  2512. call void @llvm.dbg.declare(metadata i64* %env_count, metadata !385, metadata !201), !dbg !404
  2513. br label %WhileCond, !dbg !405
  2514.  
  2515. OverflowFail: ; preds = %WhileBody
  2516. call coldcc void @panic(%"[]u8"* @13), !dbg !398
  2517. unreachable, !dbg !398
  2518.  
  2519. OverflowOk: ; preds = %WhileBody
  2520. store i64 %17, i64* %env_count, align 8, !dbg !398
  2521. br label %WhileCond, !dbg !405
  2522.  
  2523. BoundsCheckFail1: ; preds = %WhileEnd
  2524. call coldcc void @panic(%"[]u8"* @9), !dbg !402
  2525. unreachable, !dbg !402
  2526.  
  2527. BoundsCheckOk2: ; preds = %WhileEnd
  2528. %28 = getelementptr inbounds %"[]&u8", %"[]&u8"* %6, i32 0, i32 0, !dbg !402
  2529. %29 = getelementptr inbounds i8*, i8** %21, i64 0, !dbg !402
  2530. store i8** %29, i8*** %28, align 8, !dbg !402
  2531. %30 = getelementptr inbounds %"[]&u8", %"[]&u8"* %6, i32 0, i32 1, !dbg !402
  2532. %31 = sub nsw i64 %20, 0, !dbg !402
  2533. store i64 %31, i64* %30, align 8, !dbg !402
  2534. %32 = bitcast %"[]&u8"* %6 to i8*, !dbg !406
  2535. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%"[]&u8"* @posix_environ_raw to i8*), i8* %32, i64 16, i32 8, i1 false), !dbg !406
  2536. store i16 ()* @main.0, i16 ()** @user_main_fn, align 8, !dbg !407
  2537. %33 = call fastcc i16 @main.0(), !dbg !408
  2538. %34 = call i8* @llvm.stackguard()
  2539. %35 = load volatile i8*, i8** %StackGuardSlot
  2540. %36 = icmp eq i8* %34, %35
  2541. br i1 %36, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2542.  
  2543. SP_return: ; preds = %BoundsCheckOk2
  2544. ret i16 %33, !dbg !409
  2545.  
  2546. CallStackCheckFailBlk: ; preds = %BoundsCheckOk2
  2547. call void @__stack_chk_fail(), !dbg !410
  2548. unreachable, !dbg !410
  2549. }
  2550.  
  2551. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  2552. define internal coldcc void @abort.0() unnamed_addr #2 !dbg !411 {
  2553. Entry:
  2554. call void @abort(), !dbg !412
  2555. unreachable, !dbg !412
  2556. }
  2557.  
  2558. ; Function Attrs: nobuiltin nounwind sspstrong
  2559. define internal fastcc void @getStderrStream({ i16, %OutStream* }* nonnull sret) unnamed_addr #0 !dbg !415 {
  2560. Entry:
  2561. %StackGuardSlot = alloca i8*
  2562. %1 = call i8* @llvm.stackguard()
  2563. call void @llvm.stackprotector(i8* %1, i8** %StackGuardSlot)
  2564. %2 = alloca { i16, %OutStream* }, align 8
  2565. %3 = alloca { i16, %File }, align 4
  2566. %4 = alloca { i16, %File }, align 4
  2567. %5 = alloca { i16, %OutStream* }, align 8
  2568. %6 = alloca %FileOutStream, align 8
  2569. %st = alloca %OutStream*, align 8
  2570. %st1 = alloca %OutStream*, align 8
  2571. %7 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !428
  2572. %8 = icmp ne %OutStream* %7, null, !dbg !428
  2573. br i1 %8, label %MaybeThen, label %MaybeElse, !dbg !428
  2574.  
  2575. MaybeThen: ; preds = %Entry
  2576. %9 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !428
  2577. %10 = load %OutStream*, %OutStream** @stderr_stream, align 8, !dbg !428
  2578. store %OutStream* %10, %OutStream** %st, align 8, !dbg !428
  2579. call void @llvm.dbg.declare(metadata %OutStream** %st, metadata !424, metadata !201), !dbg !428
  2580. %11 = load %OutStream*, %OutStream** %st, align 8, !dbg !429
  2581. %12 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %2, i32 0, i32 0, !dbg !429
  2582. store i16 0, i16* %12, align 2, !dbg !429
  2583. %13 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %2, i32 0, i32 1, !dbg !429
  2584. store %OutStream* %11, %OutStream** %13, align 8, !dbg !429
  2585. %14 = bitcast { i16, %OutStream* }* %2 to i8*, !dbg !432
  2586. %15 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !432
  2587. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %15, i8* %14, i64 16, i32 8, i1 false), !dbg !432
  2588. %16 = call i8* @llvm.stackguard()
  2589. %17 = load volatile i8*, i8** %StackGuardSlot
  2590. %18 = icmp eq i8* %16, %17
  2591. br i1 %18, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2592.  
  2593. SP_return: ; preds = %MaybeThen
  2594. ret void, !dbg !432
  2595.  
  2596. MaybeElse: ; preds = %Entry
  2597. call fastcc void @getStdErr({ i16, %File }* %3), !dbg !433
  2598. %19 = getelementptr inbounds { i16, %File }, { i16, %File }* %3, i32 0, i32 0, !dbg !434
  2599. %20 = load i16, i16* %19, align 2, !dbg !434
  2600. %21 = icmp ne i16 %20, 0, !dbg !434
  2601. br i1 %21, label %ErrRetReturn, label %ErrRetContinue, !dbg !434
  2602.  
  2603. ErrRetReturn: ; preds = %MaybeElse
  2604. %22 = getelementptr inbounds { i16, %File }, { i16, %File }* %3, i32 0, i32 0, !dbg !434
  2605. %23 = load i16, i16* %22, align 2, !dbg !434
  2606. %24 = getelementptr inbounds { i16, %OutStream* }, { i16, %OutStream* }* %5, i32 0, i32 0, !dbg !434
  2607. store i16 %23, i16* %24, align 2, !dbg !434
  2608. %25 = bitcast { i16, %OutStream* }* %5 to i8*, !dbg !434
  2609. %26 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !434
  2610. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %26, i8* %25, i64 16, i32 8, i1 false), !dbg !434
  2611. %27 = call i8* @llvm.stackguard()
  2612. %28 = load volatile i8*, i8** %StackGuardSlot
  2613. %29 = icmp eq i8* %27, %28
  2614. br i1 %29, label %SP_return3, label %CallStackCheckFailBlk2, !prof !217
  2615.  
  2616. SP_return3: ; preds = %ErrRetReturn
  2617. ret void, !dbg !434
  2618.  
  2619. ErrRetContinue: ; preds = %MaybeElse
  2620. %30 = getelementptr inbounds { i16, %File }, { i16, %File }* %3, i32 0, i32 1, !dbg !434
  2621. %31 = bitcast %File* %30 to i8*, !dbg !435
  2622. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%File* @stderr_file to i8*), i8* %31, i64 4, i32 4, i1 false), !dbg !435
  2623. call fastcc void @FileOutStream_init(%FileOutStream* %6, %File* @stderr_file), !dbg !436
  2624. %32 = bitcast %FileOutStream* %6 to i8*, !dbg !437
  2625. call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (%FileOutStream* @stderr_file_out_stream to i8*), i8* %32, i64 16, i32 8, i1 false), !dbg !437
  2626. store %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), %OutStream** %st1, align 8, !dbg !438
  2627. call void @llvm.dbg.declare(metadata %OutStream** %st1, metadata !426, metadata !201), !dbg !438
  2628. store %OutStream* getelementptr inbounds (%FileOutStream, %FileOutStream* @stderr_file_out_stream, i32 0, i32 1), %OutStream** @stderr_stream, align 8, !dbg !439
  2629. %33 = bitcast { i16, %OutStream* }* %0 to i8*, !dbg !441
  2630. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %33, i8* bitcast ({ i16, %OutStream* }* @22 to i8*), i64 16, i32 8, i1 false), !dbg !441
  2631. %34 = call i8* @llvm.stackguard()
  2632. %35 = load volatile i8*, i8** %StackGuardSlot
  2633. %36 = icmp eq i8* %34, %35
  2634. br i1 %36, label %SP_return5, label %CallStackCheckFailBlk4, !prof !217
  2635.  
  2636. SP_return5: ; preds = %ErrRetContinue
  2637. ret void, !dbg !441
  2638.  
  2639. CallStackCheckFailBlk: ; preds = %MaybeThen
  2640. call void @__stack_chk_fail(), !dbg !442
  2641. unreachable, !dbg !442
  2642.  
  2643. CallStackCheckFailBlk2: ; preds = %ErrRetReturn
  2644. call void @__stack_chk_fail(), !dbg !442
  2645. unreachable, !dbg !442
  2646.  
  2647. CallStackCheckFailBlk4: ; preds = %ErrRetContinue
  2648. call void @__stack_chk_fail(), !dbg !442
  2649. unreachable, !dbg !442
  2650. }
  2651.  
  2652. ; Function Attrs: nobuiltin nounwind sspstrong
  2653. define internal fastcc i16 @OutStream_print(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !443 {
  2654. Entry:
  2655. %self = alloca %OutStream*, align 8
  2656. store %OutStream* %0, %OutStream** %self, align 8
  2657. call void @llvm.dbg.declare(metadata %OutStream** %self, metadata !445, metadata !201), !dbg !451
  2658. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !449, metadata !201), !dbg !452
  2659. %2 = load %OutStream*, %OutStream** %self, align 8, !dbg !453
  2660. %3 = load %OutStream*, %OutStream** %self, align 8, !dbg !456
  2661. %4 = getelementptr inbounds %OutStream, %OutStream* %3, i32 0, i32 0, !dbg !456
  2662. %5 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %4, align 8, !dbg !456
  2663. %6 = call fastcc i16 @format(%OutStream* %2, i16 (%OutStream*, %"[]u8"*)* %5, %"[]u8"* byval %1), !dbg !457
  2664. ret i16 %6, !dbg !458
  2665. }
  2666.  
  2667. ; Function Attrs: nobuiltin nounwind sspstrong
  2668. define internal fastcc i1 @File_isTty(%File* nonnull) unnamed_addr #0 !dbg !459 {
  2669. Entry:
  2670. %self = alloca %File*, align 8
  2671. store %File* %0, %File** %self, align 8
  2672. call void @llvm.dbg.declare(metadata %File** %self, metadata !467, metadata !201), !dbg !468
  2673. %1 = load %File*, %File** %self, align 8, !dbg !469
  2674. %2 = getelementptr inbounds %File, %File* %1, i32 0, i32 0, !dbg !469
  2675. %3 = load i32, i32* %2, align 4, !dbg !469
  2676. %4 = call fastcc i1 @isTty(i32 %3), !dbg !472
  2677. ret i1 %4, !dbg !473
  2678. }
  2679.  
  2680. ; Function Attrs: nobuiltin nounwind sspstrong
  2681. define internal fastcc i16 @writeStackTrace(%OutStream* nonnull, %Allocator* nonnull, i1, i64) unnamed_addr #0 !dbg !474 {
  2682. Entry:
  2683. %4 = alloca i16, align 2
  2684. %out_stream = alloca %OutStream*, align 8
  2685. %allocator = alloca %Allocator*, align 8
  2686. %tty_color = alloca i1, align 1
  2687. %ignore_frame_count = alloca i64, align 8
  2688. store %OutStream* %0, %OutStream** %out_stream, align 8
  2689. call void @llvm.dbg.declare(metadata %OutStream** %out_stream, metadata !478, metadata !201), !dbg !485
  2690. store %Allocator* %1, %Allocator** %allocator, align 8
  2691. call void @llvm.dbg.declare(metadata %Allocator** %allocator, metadata !479, metadata !201), !dbg !486
  2692. store i1 %2, i1* %tty_color, align 1
  2693. call void @llvm.dbg.declare(metadata i1* %tty_color, metadata !481, metadata !201), !dbg !487
  2694. store i64 %3, i64* %ignore_frame_count, align 8
  2695. call void @llvm.dbg.declare(metadata i64* %ignore_frame_count, metadata !483, metadata !201), !dbg !488
  2696. %5 = load %OutStream*, %OutStream** %out_stream, align 8, !dbg !489
  2697. %6 = call fastcc i16 @OutStream_write(%OutStream* %5, %"[]u8"* byval @25), !dbg !493
  2698. store i16 %6, i16* %4, align 2, !dbg !493
  2699. %7 = load i16, i16* %4, align 2, !dbg !494
  2700. %8 = icmp ne i16 %7, 0, !dbg !494
  2701. br i1 %8, label %ErrRetReturn, label %ErrRetContinue, !dbg !494
  2702.  
  2703. ErrRetReturn: ; preds = %Entry
  2704. %9 = load i16, i16* %4, align 2, !dbg !494
  2705. ret i16 %9, !dbg !494
  2706.  
  2707. ErrRetContinue: ; preds = %Entry
  2708. %10 = load i16, i16* %4, align 2, !dbg !494
  2709. ret i16 0, !dbg !495
  2710. }
  2711.  
  2712. ; Function Attrs: argmemonly nounwind
  2713. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #6
  2714.  
  2715. ; Function Attrs: nounwind readnone speculatable
  2716. declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #3
  2717.  
  2718. ; Function Attrs: nobuiltin nounwind sspstrong
  2719. define internal fastcc i16 @main.0() unnamed_addr #0 !dbg !496 {
  2720. Entry:
  2721. ret i16 0, !dbg !500
  2722. }
  2723.  
  2724. ; Function Attrs: nobuiltin noreturn nounwind
  2725. declare void @abort() #7
  2726.  
  2727. ; Function Attrs: nobuiltin nounwind sspstrong
  2728. define internal fastcc void @getStdErr({ i16, %File }* nonnull sret) unnamed_addr #0 !dbg !501 {
  2729. Entry:
  2730. %StackGuardSlot = alloca i8*
  2731. %1 = call i8* @llvm.stackguard()
  2732. call void @llvm.stackprotector(i8* %1, i8** %StackGuardSlot)
  2733. %2 = alloca %File, align 4
  2734. %3 = alloca { i16, %File }, align 4
  2735. call fastcc void @File_openHandle(%File* %2, i32 2), !dbg !509
  2736. %4 = getelementptr inbounds { i16, %File }, { i16, %File }* %3, i32 0, i32 0, !dbg !509
  2737. store i16 0, i16* %4, align 2, !dbg !509
  2738. %5 = getelementptr inbounds { i16, %File }, { i16, %File }* %3, i32 0, i32 1, !dbg !509
  2739. %6 = bitcast %File* %2 to i8*, !dbg !509
  2740. %7 = bitcast %File* %5 to i8*, !dbg !509
  2741. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %6, i64 4, i32 4, i1 false), !dbg !509
  2742. %8 = bitcast { i16, %File }* %3 to i8*, !dbg !512
  2743. %9 = bitcast { i16, %File }* %0 to i8*, !dbg !512
  2744. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* %8, i64 8, i32 4, i1 false), !dbg !512
  2745. %10 = call i8* @llvm.stackguard()
  2746. %11 = load volatile i8*, i8** %StackGuardSlot
  2747. %12 = icmp eq i8* %10, %11
  2748. br i1 %12, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2749.  
  2750. SP_return: ; preds = %Entry
  2751. ret void, !dbg !512
  2752.  
  2753. CallStackCheckFailBlk: ; preds = %Entry
  2754. call void @__stack_chk_fail(), !dbg !513
  2755. unreachable, !dbg !513
  2756. }
  2757.  
  2758. ; Function Attrs: nobuiltin nounwind sspstrong
  2759. define internal fastcc void @FileOutStream_init(%FileOutStream* nonnull sret, %File* nonnull) unnamed_addr #0 !dbg !514 {
  2760. Entry:
  2761. %StackGuardSlot = alloca i8*
  2762. %2 = call i8* @llvm.stackguard()
  2763. call void @llvm.stackprotector(i8* %2, i8** %StackGuardSlot)
  2764. %3 = alloca %FileOutStream, align 8
  2765. %file = alloca %File*, align 8
  2766. store %File* %1, %File** %file, align 8
  2767. call void @llvm.dbg.declare(metadata %File** %file, metadata !523, metadata !201), !dbg !524
  2768. %4 = load %File*, %File** %file, align 8, !dbg !525
  2769. %5 = getelementptr inbounds %FileOutStream, %FileOutStream* %3, i32 0, i32 0, !dbg !528
  2770. store %File* %4, %File** %5, align 8, !dbg !528
  2771. %6 = getelementptr inbounds %FileOutStream, %FileOutStream* %3, i32 0, i32 1, !dbg !528
  2772. %7 = bitcast %OutStream* %6 to i8*, !dbg !528
  2773. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* bitcast (%OutStream* @35 to i8*), i64 8, i32 8, i1 false), !dbg !528
  2774. %8 = bitcast %FileOutStream* %3 to i8*, !dbg !529
  2775. %9 = bitcast %FileOutStream* %0 to i8*, !dbg !529
  2776. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* %8, i64 16, i32 8, i1 false), !dbg !529
  2777. %10 = call i8* @llvm.stackguard()
  2778. %11 = load volatile i8*, i8** %StackGuardSlot
  2779. %12 = icmp eq i8* %10, %11
  2780. br i1 %12, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2781.  
  2782. SP_return: ; preds = %Entry
  2783. ret void, !dbg !529
  2784.  
  2785. CallStackCheckFailBlk: ; preds = %Entry
  2786. call void @__stack_chk_fail(), !dbg !530
  2787. unreachable, !dbg !530
  2788. }
  2789.  
  2790. ; Function Attrs: nobuiltin nounwind sspstrong
  2791. define internal fastcc i16 @format(%OutStream* nonnull, i16 (%OutStream*, %"[]u8"*)*, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !531 {
  2792. Entry:
  2793. %3 = alloca i16, align 2
  2794. %4 = alloca i16, align 2
  2795. %context = alloca %OutStream*, align 8
  2796. %output = alloca i16 (%OutStream*, %"[]u8"*)*, align 8
  2797. store %OutStream* %0, %OutStream** %context, align 8
  2798. call void @llvm.dbg.declare(metadata %OutStream** %context, metadata !535, metadata !201), !dbg !544
  2799. store i16 (%OutStream*, %"[]u8"*)* %1, i16 (%OutStream*, %"[]u8"*)** %output, align 8
  2800. call void @llvm.dbg.declare(metadata i16 (%OutStream*, %"[]u8"*)** %output, metadata !540, metadata !201), !dbg !545
  2801. call void @llvm.dbg.declare(metadata %"[]u8"* %2, metadata !542, metadata !201), !dbg !546
  2802. %5 = load %OutStream*, %OutStream** %context, align 8, !dbg !547
  2803. %6 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !561
  2804. %7 = call fastcc i16 @formatValue(%"[]u8"* byval %2, %OutStream* %5, i16 (%OutStream*, %"[]u8"*)* %6), !dbg !562
  2805. store i16 %7, i16* %3, align 2, !dbg !562
  2806. %8 = load i16, i16* %3, align 2, !dbg !563
  2807. %9 = icmp ne i16 %8, 0, !dbg !563
  2808. br i1 %9, label %ErrRetReturn, label %ErrRetContinue, !dbg !563
  2809.  
  2810. ErrRetReturn: ; preds = %Entry
  2811. %10 = load i16, i16* %3, align 2, !dbg !563
  2812. ret i16 %10, !dbg !563
  2813.  
  2814. ErrRetContinue: ; preds = %Entry
  2815. %11 = load i16, i16* %3, align 2, !dbg !563
  2816. %12 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !564
  2817. %13 = load %OutStream*, %OutStream** %context, align 8, !dbg !566
  2818. %14 = call fastcc i16 %12(%OutStream* %13, %"[]u8"* byval @38), !dbg !567
  2819. store i16 %14, i16* %4, align 2, !dbg !567
  2820. %15 = load i16, i16* %4, align 2, !dbg !568
  2821. %16 = icmp ne i16 %15, 0, !dbg !568
  2822. br i1 %16, label %ErrRetReturn1, label %ErrRetContinue2, !dbg !568
  2823.  
  2824. ErrRetReturn1: ; preds = %ErrRetContinue
  2825. %17 = load i16, i16* %4, align 2, !dbg !568
  2826. ret i16 %17, !dbg !568
  2827.  
  2828. ErrRetContinue2: ; preds = %ErrRetContinue
  2829. %18 = load i16, i16* %4, align 2, !dbg !568
  2830. ret i16 0, !dbg !569
  2831. }
  2832.  
  2833. ; Function Attrs: nobuiltin nounwind sspstrong
  2834. define internal fastcc i16 @OutStream_write(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !570 {
  2835. Entry:
  2836. %self = alloca %OutStream*, align 8
  2837. store %OutStream* %0, %OutStream** %self, align 8
  2838. call void @llvm.dbg.declare(metadata %OutStream** %self, metadata !572, metadata !201), !dbg !575
  2839. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !573, metadata !201), !dbg !576
  2840. %2 = load %OutStream*, %OutStream** %self, align 8, !dbg !577
  2841. %3 = getelementptr inbounds %OutStream, %OutStream* %2, i32 0, i32 0, !dbg !577
  2842. %4 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %3, align 8, !dbg !577
  2843. %5 = load %OutStream*, %OutStream** %self, align 8, !dbg !580
  2844. %6 = call fastcc i16 %4(%OutStream* %5, %"[]u8"* byval %1), !dbg !581
  2845. ret i16 %6, !dbg !582
  2846. }
  2847.  
  2848. ; Function Attrs: nounwind readnone speculatable
  2849. declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64) #3
  2850.  
  2851. ; Function Attrs: nobuiltin nounwind sspstrong
  2852. define internal fastcc i1 @isTty(i32) unnamed_addr #0 !dbg !583 {
  2853. Entry:
  2854. %handle = alloca i32, align 4
  2855. store i32 %0, i32* %handle, align 4
  2856. call void @llvm.dbg.declare(metadata i32* %handle, metadata !587, metadata !201), !dbg !588
  2857. %1 = load i32, i32* %handle, align 4, !dbg !589
  2858. %2 = call i32 @isatty(i32 %1), !dbg !594
  2859. %3 = icmp ne i32 %2, 0, !dbg !595
  2860. ret i1 %3, !dbg !596
  2861. }
  2862.  
  2863. ; Function Attrs: nobuiltin nounwind sspstrong
  2864. define internal fastcc void @File_openHandle(%File* nonnull sret, i32) unnamed_addr #0 !dbg !597 {
  2865. Entry:
  2866. %StackGuardSlot = alloca i8*
  2867. %2 = call i8* @llvm.stackguard()
  2868. call void @llvm.stackprotector(i8* %2, i8** %StackGuardSlot)
  2869. %3 = alloca %File, align 4
  2870. %handle = alloca i32, align 4
  2871. store i32 %1, i32* %handle, align 4
  2872. call void @llvm.dbg.declare(metadata i32* %handle, metadata !601, metadata !201), !dbg !602
  2873. %4 = load i32, i32* %handle, align 4, !dbg !603
  2874. %5 = getelementptr inbounds %File, %File* %3, i32 0, i32 0, !dbg !606
  2875. store i32 %4, i32* %5, align 4, !dbg !606
  2876. %6 = bitcast %File* %3 to i8*, !dbg !607
  2877. %7 = bitcast %File* %0 to i8*, !dbg !607
  2878. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %6, i64 4, i32 4, i1 false), !dbg !607
  2879. %8 = call i8* @llvm.stackguard()
  2880. %9 = load volatile i8*, i8** %StackGuardSlot
  2881. %10 = icmp eq i8* %8, %9
  2882. br i1 %10, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2883.  
  2884. SP_return: ; preds = %Entry
  2885. ret void, !dbg !607
  2886.  
  2887. CallStackCheckFailBlk: ; preds = %Entry
  2888. call void @__stack_chk_fail(), !dbg !608
  2889. unreachable, !dbg !608
  2890. }
  2891.  
  2892. ; Function Attrs: nobuiltin nounwind sspstrong
  2893. define internal fastcc i16 @FileOutStream_writeFn(%OutStream* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !609 {
  2894. Entry:
  2895. %out_stream = alloca %OutStream*, align 8
  2896. %self = alloca %FileOutStream*, align 8
  2897. store %OutStream* %0, %OutStream** %out_stream, align 8
  2898. call void @llvm.dbg.declare(metadata %OutStream** %out_stream, metadata !611, metadata !201), !dbg !617
  2899. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !612, metadata !201), !dbg !618
  2900. %2 = load %OutStream*, %OutStream** %out_stream, align 8, !dbg !619
  2901. %3 = ptrtoint %OutStream* %2 to i64, !dbg !620
  2902. %4 = sub nuw i64 %3, 8, !dbg !620
  2903. %5 = inttoptr i64 %4 to %FileOutStream*, !dbg !620
  2904. store %FileOutStream* %5, %FileOutStream** %self, align 8, !dbg !621
  2905. call void @llvm.dbg.declare(metadata %FileOutStream** %self, metadata !614, metadata !201), !dbg !621
  2906. %6 = load %FileOutStream*, %FileOutStream** %self, align 8, !dbg !622
  2907. %7 = getelementptr inbounds %FileOutStream, %FileOutStream* %6, i32 0, i32 0, !dbg !622
  2908. %8 = load %File*, %File** %7, align 8, !dbg !624
  2909. %9 = call fastcc i16 @File_write(%File* %8, %"[]u8"* byval %1), !dbg !625
  2910. ret i16 %9, !dbg !626
  2911. }
  2912.  
  2913. ; Function Attrs: nobuiltin nounwind sspstrong
  2914. define internal fastcc i16 @formatValue(%"[]u8"* byval nonnull readonly, %OutStream* nonnull, i16 (%OutStream*, %"[]u8"*)*) unnamed_addr #0 !dbg !627 {
  2915. Entry:
  2916. %StackGuardSlot = alloca i8*
  2917. %3 = call i8* @llvm.stackguard()
  2918. call void @llvm.stackprotector(i8* %3, i8** %StackGuardSlot)
  2919. %context = alloca %OutStream*, align 8
  2920. %output = alloca i16 (%OutStream*, %"[]u8"*)*, align 8
  2921. %casted_value = alloca %"[]u8", align 8
  2922. call void @llvm.dbg.declare(metadata %"[]u8"* %0, metadata !631, metadata !201), !dbg !644
  2923. store %OutStream* %1, %OutStream** %context, align 8
  2924. call void @llvm.dbg.declare(metadata %OutStream** %context, metadata !635, metadata !201), !dbg !645
  2925. store i16 (%OutStream*, %"[]u8"*)* %2, i16 (%OutStream*, %"[]u8"*)** %output, align 8
  2926. call void @llvm.dbg.declare(metadata i16 (%OutStream*, %"[]u8"*)** %output, metadata !637, metadata !201), !dbg !646
  2927. %4 = bitcast %"[]u8"* %0 to i8*, !dbg !647
  2928. %5 = bitcast %"[]u8"* %casted_value to i8*, !dbg !647
  2929. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %4, i64 16, i32 8, i1 false), !dbg !647
  2930. call void @llvm.dbg.declare(metadata %"[]u8"* %casted_value, metadata !639, metadata !201), !dbg !647
  2931. %6 = load i16 (%OutStream*, %"[]u8"*)*, i16 (%OutStream*, %"[]u8"*)** %output, align 8, !dbg !648
  2932. %7 = load %OutStream*, %OutStream** %context, align 8, !dbg !650
  2933. %8 = call fastcc i16 %6(%OutStream* %7, %"[]u8"* byval %casted_value), !dbg !651
  2934. %9 = call i8* @llvm.stackguard()
  2935. %10 = load volatile i8*, i8** %StackGuardSlot
  2936. %11 = icmp eq i8* %9, %10
  2937. br i1 %11, label %SP_return, label %CallStackCheckFailBlk, !prof !217
  2938.  
  2939. SP_return: ; preds = %Entry
  2940. ret i16 %8, !dbg !652
  2941.  
  2942. CallStackCheckFailBlk: ; preds = %Entry
  2943. call void @__stack_chk_fail(), !dbg !653
  2944. unreachable, !dbg !653
  2945. }
  2946.  
  2947. ; Function Attrs: nobuiltin nounwind
  2948. declare i32 @isatty(i32) #1
  2949.  
  2950. ; Function Attrs: nobuiltin nounwind sspstrong
  2951. define internal fastcc i16 @File_write(%File* nonnull, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !654 {
  2952. Entry:
  2953. %2 = alloca i16, align 2
  2954. %self = alloca %File*, align 8
  2955. store %File* %0, %File** %self, align 8
  2956. call void @llvm.dbg.declare(metadata %File** %self, metadata !658, metadata !201), !dbg !661
  2957. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !659, metadata !201), !dbg !662
  2958. %3 = load %File*, %File** %self, align 8, !dbg !663
  2959. %4 = getelementptr inbounds %File, %File* %3, i32 0, i32 0, !dbg !663
  2960. %5 = load i32, i32* %4, align 4, !dbg !663
  2961. %6 = call fastcc i16 @posixWrite(i32 %5, %"[]u8"* byval %1), !dbg !667
  2962. store i16 %6, i16* %2, align 2, !dbg !667
  2963. %7 = load i16, i16* %2, align 2, !dbg !668
  2964. %8 = icmp ne i16 %7, 0, !dbg !668
  2965. br i1 %8, label %ErrRetReturn, label %ErrRetContinue, !dbg !668
  2966.  
  2967. ErrRetReturn: ; preds = %Entry
  2968. %9 = load i16, i16* %2, align 2, !dbg !668
  2969. ret i16 %9, !dbg !668
  2970.  
  2971. ErrRetContinue: ; preds = %Entry
  2972. %10 = load i16, i16* %2, align 2, !dbg !668
  2973. ret i16 0, !dbg !669
  2974. }
  2975.  
  2976. ; Function Attrs: nobuiltin nounwind sspstrong
  2977. define internal fastcc i16 @posixWrite(i32, %"[]u8"* byval nonnull readonly) unnamed_addr #0 !dbg !670 {
  2978. Entry:
  2979. %fd = alloca i32, align 4
  2980. %write_ret = alloca i64, align 8
  2981. %write_err = alloca i64, align 8
  2982. store i32 %0, i32* %fd, align 4
  2983. call void @llvm.dbg.declare(metadata i32* %fd, metadata !674, metadata !201), !dbg !683
  2984. call void @llvm.dbg.declare(metadata %"[]u8"* %1, metadata !675, metadata !201), !dbg !684
  2985. br label %WhileCond, !dbg !685
  2986.  
  2987. WhileCond: ; preds = %SwitchProng, %Entry
  2988. br label %WhileBody, !dbg !686
  2989.  
  2990. WhileBody: ; preds = %WhileCond
  2991. %2 = load i32, i32* %fd, align 4, !dbg !687
  2992. %3 = getelementptr inbounds %"[]u8", %"[]u8"* %1, i32 0, i32 0, !dbg !688
  2993. %4 = load i8*, i8** %3, align 8, !dbg !688
  2994. %5 = getelementptr inbounds %"[]u8", %"[]u8"* %1, i32 0, i32 1, !dbg !689
  2995. %6 = load i64, i64* %5, align 8, !dbg !689
  2996. %7 = call fastcc i64 @write.0(i32 %2, i8* %4, i64 %6), !dbg !690
  2997. store i64 %7, i64* %write_ret, align 8, !dbg !691
  2998. call void @llvm.dbg.declare(metadata i64* %write_ret, metadata !677, metadata !201), !dbg !691
  2999. %8 = load i64, i64* %write_ret, align 8, !dbg !692
  3000. %9 = call fastcc i64 @getErrno(i64 %8), !dbg !693
  3001. store i64 %9, i64* %write_err, align 8, !dbg !694
  3002. call void @llvm.dbg.declare(metadata i64* %write_err, metadata !681, metadata !201), !dbg !694
  3003. %10 = load i64, i64* %write_err, align 8, !dbg !695
  3004. %11 = icmp ugt i64 %10, 0, !dbg !697
  3005. br i1 %11, label %Then, label %Else, !dbg !697
  3006.  
  3007. Then: ; preds = %WhileBody
  3008. %12 = load i64, i64* %write_err, align 8, !dbg !698
  3009. switch i64 %12, label %SwitchElse [
  3010. i64 4, label %SwitchProng
  3011. i64 22, label %SwitchProng1
  3012. i64 14, label %SwitchProng1
  3013. i64 35, label %SwitchProng2
  3014. i64 9, label %SwitchProng3
  3015. i64 39, label %SwitchProng4
  3016. i64 69, label %SwitchProng5
  3017. i64 27, label %SwitchProng6
  3018. i64 5, label %SwitchProng7
  3019. i64 28, label %SwitchProng8
  3020. i64 1, label %SwitchProng9
  3021. i64 32, label %SwitchProng10
  3022. ], !dbg !698
  3023.  
  3024. Else: ; preds = %WhileBody
  3025. ret i16 0, !dbg !700
  3026.  
  3027. SwitchProng: ; preds = %Then
  3028. br label %WhileCond, !dbg !701
  3029.  
  3030. SwitchProng1: ; preds = %Then, %Then
  3031. call coldcc void @panic(%"[]u8"* @3), !dbg !702
  3032. unreachable, !dbg !702
  3033.  
  3034. SwitchProng2: ; preds = %Then
  3035. br label %SwitchEnd, !dbg !698
  3036.  
  3037. SwitchProng3: ; preds = %Then
  3038. br label %SwitchEnd, !dbg !698
  3039.  
  3040. SwitchProng4: ; preds = %Then
  3041. br label %SwitchEnd, !dbg !698
  3042.  
  3043. SwitchProng5: ; preds = %Then
  3044. br label %SwitchEnd, !dbg !698
  3045.  
  3046. SwitchProng6: ; preds = %Then
  3047. br label %SwitchEnd, !dbg !698
  3048.  
  3049. SwitchProng7: ; preds = %Then
  3050. br label %SwitchEnd, !dbg !698
  3051.  
  3052. SwitchProng8: ; preds = %Then
  3053. br label %SwitchEnd, !dbg !698
  3054.  
  3055. SwitchProng9: ; preds = %Then
  3056. br label %SwitchEnd, !dbg !698
  3057.  
  3058. SwitchProng10: ; preds = %Then
  3059. br label %SwitchEnd, !dbg !698
  3060.  
  3061. SwitchElse: ; preds = %Then
  3062. %13 = load i64, i64* %write_err, align 8, !dbg !703
  3063. %14 = call fastcc i16 @unexpectedErrorPosix(i64 %13), !dbg !704
  3064. br label %SwitchEnd, !dbg !698
  3065.  
  3066. SwitchEnd: ; preds = %SwitchElse, %SwitchProng10, %SwitchProng9, %SwitchProng8, %SwitchProng7, %SwitchProng6, %SwitchProng5, %SwitchProng4, %SwitchProng3, %SwitchProng2
  3067. %15 = phi i16 [ 19, %SwitchProng2 ], [ 20, %SwitchProng3 ], [ 21, %SwitchProng4 ], [ 22, %SwitchProng5 ], [ 23, %SwitchProng6 ], [ 24, %SwitchProng7 ], [ 25, %SwitchProng8 ], [ 7, %SwitchProng9 ], [ 26, %SwitchProng10 ], [ %14, %SwitchElse ], !dbg !698
  3068. ret i16 %15, !dbg !705
  3069. }
  3070.  
  3071. ; Function Attrs: nobuiltin nounwind sspstrong
  3072. define internal fastcc i64 @write.0(i32, i8* nonnull readonly, i64) unnamed_addr #0 !dbg !706 {
  3073. Entry:
  3074. %fd = alloca i32, align 4
  3075. %buf = alloca i8*, align 8
  3076. %nbyte = alloca i64, align 8
  3077. store i32 %0, i32* %fd, align 4
  3078. call void @llvm.dbg.declare(metadata i32* %fd, metadata !710, metadata !201), !dbg !715
  3079. store i8* %1, i8** %buf, align 8
  3080. call void @llvm.dbg.declare(metadata i8** %buf, metadata !711, metadata !201), !dbg !716
  3081. store i64 %2, i64* %nbyte, align 8
  3082. call void @llvm.dbg.declare(metadata i64* %nbyte, metadata !713, metadata !201), !dbg !717
  3083. %3 = load i32, i32* %fd, align 4, !dbg !718
  3084. %4 = load i8*, i8** %buf, align 8, !dbg !721
  3085. %5 = load i64, i64* %nbyte, align 8, !dbg !722
  3086. %6 = call i32 @write(i32 %3, i8* %4, i64 %5), !dbg !723
  3087. %7 = sext i32 %6 to i64, !dbg !723
  3088. %8 = call fastcc i64 @errnoWrap(i64 %7), !dbg !724
  3089. ret i64 %8, !dbg !725
  3090. }
  3091.  
  3092. ; Function Attrs: nobuiltin nounwind sspstrong
  3093. define internal fastcc i64 @getErrno(i64) unnamed_addr #0 !dbg !726 {
  3094. Entry:
  3095. %r = alloca i64, align 8
  3096. %signed_r = alloca i64, align 8
  3097. store i64 %0, i64* %r, align 8
  3098. call void @llvm.dbg.declare(metadata i64* %r, metadata !730, metadata !201), !dbg !735
  3099. %1 = load i64, i64* %r, align 8, !dbg !736
  3100. store i64 %1, i64* %signed_r, align 8, !dbg !737
  3101. call void @llvm.dbg.declare(metadata i64* %signed_r, metadata !731, metadata !201), !dbg !737
  3102. %2 = load i64, i64* %signed_r, align 8, !dbg !738
  3103. %3 = icmp sgt i64 %2, -4096, !dbg !740
  3104. br i1 %3, label %BoolAndTrue, label %BoolAndFalse, !dbg !741
  3105.  
  3106. BoolAndTrue: ; preds = %Entry
  3107. %4 = load i64, i64* %signed_r, align 8, !dbg !742
  3108. %5 = icmp slt i64 %4, 0, !dbg !743
  3109. br label %BoolAndFalse, !dbg !741
  3110.  
  3111. BoolAndFalse: ; preds = %BoolAndTrue, %Entry
  3112. %6 = phi i1 [ %3, %Entry ], [ %5, %BoolAndTrue ], !dbg !741
  3113. br i1 %6, label %Then, label %Else, !dbg !741
  3114.  
  3115. Then: ; preds = %BoolAndFalse
  3116. %7 = load i64, i64* %signed_r, align 8, !dbg !744
  3117. %8 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 0, i64 %7), !dbg !745
  3118. %9 = extractvalue { i64, i1 } %8, 0, !dbg !745
  3119. %10 = extractvalue { i64, i1 } %8, 1, !dbg !745
  3120. br i1 %10, label %OverflowFail, label %OverflowOk, !dbg !745
  3121.  
  3122. Else: ; preds = %BoolAndFalse
  3123. br label %EndIf, !dbg !746
  3124.  
  3125. EndIf: ; preds = %Else, %SignCastOk
  3126. %11 = phi i64 [ %9, %SignCastOk ], [ 0, %Else ], !dbg !746
  3127. ret i64 %11, !dbg !747
  3128.  
  3129. OverflowFail: ; preds = %Then
  3130. call coldcc void @panic(%"[]u8"* @13), !dbg !745
  3131. unreachable, !dbg !745
  3132.  
  3133. OverflowOk: ; preds = %Then
  3134. %12 = icmp sge i64 %9, 0, !dbg !748
  3135. br i1 %12, label %SignCastOk, label %SignCastFail, !dbg !748
  3136.  
  3137. SignCastOk: ; preds = %OverflowOk
  3138. br label %EndIf, !dbg !746
  3139.  
  3140. SignCastFail: ; preds = %OverflowOk
  3141. call coldcc void @panic(%"[]u8"* @41), !dbg !748
  3142. unreachable, !dbg !748
  3143. }
  3144.  
  3145. ; Function Attrs: nobuiltin nounwind sspstrong
  3146. define internal fastcc i16 @unexpectedErrorPosix(i64) unnamed_addr #0 !dbg !749 {
  3147. Entry:
  3148. %errno = alloca i64, align 8
  3149. store i64 %0, i64* %errno, align 8
  3150. call void @llvm.dbg.declare(metadata i64* %errno, metadata !753, metadata !201), !dbg !754
  3151. ret i16 32, !dbg !755
  3152. }
  3153.  
  3154. ; Function Attrs: nobuiltin nounwind
  3155. declare i32 @write(i32, i8* nonnull readonly, i64) #1
  3156.  
  3157. ; Function Attrs: nobuiltin nounwind sspstrong
  3158. define internal fastcc i64 @errnoWrap(i64) unnamed_addr #0 !dbg !758 {
  3159. Entry:
  3160. %value = alloca i64, align 8
  3161. store i64 %0, i64* %value, align 8
  3162. call void @llvm.dbg.declare(metadata i64* %value, metadata !762, metadata !201), !dbg !763
  3163. %1 = load i64, i64* %value, align 8, !dbg !764
  3164. %2 = icmp eq i64 %1, -1, !dbg !767
  3165. br i1 %2, label %Then, label %Else, !dbg !767
  3166.  
  3167. Then: ; preds = %Entry
  3168. %3 = call i32* @__error(), !dbg !768
  3169. %4 = load i32, i32* %3, align 4, !dbg !770
  3170. %5 = sext i32 %4 to i64, !dbg !771
  3171. %6 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 0, i64 %5), !dbg !772
  3172. %7 = extractvalue { i64, i1 } %6, 0, !dbg !772
  3173. %8 = extractvalue { i64, i1 } %6, 1, !dbg !772
  3174. br i1 %8, label %OverflowFail, label %OverflowOk, !dbg !772
  3175.  
  3176. Else: ; preds = %Entry
  3177. %9 = load i64, i64* %value, align 8, !dbg !773
  3178. br label %EndIf, !dbg !775
  3179.  
  3180. EndIf: ; preds = %Else, %OverflowOk
  3181. %10 = phi i64 [ %7, %OverflowOk ], [ %9, %Else ], !dbg !775
  3182. ret i64 %10, !dbg !776
  3183.  
  3184. OverflowFail: ; preds = %Then
  3185. call coldcc void @panic(%"[]u8"* @13), !dbg !772
  3186. unreachable, !dbg !772
  3187.  
  3188. OverflowOk: ; preds = %Then
  3189. br label %EndIf, !dbg !775
  3190. }
  3191.  
  3192. ; Function Attrs: nounwind readnone speculatable
  3193. declare { i64, i1 } @llvm.ssub.with.overflow.i64(i64, i64) #3
  3194.  
  3195. ; Function Attrs: nounwind
  3196. declare void @llvm.stackprotector(i8*, i8**) #8
  3197.  
  3198. ; Function Attrs: nounwind
  3199. declare i8* @llvm.stackguard() #8
  3200.  
  3201. declare void @__stack_chk_fail()
  3202.  
  3203. attributes #0 = { nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  3204. attributes #1 = { nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  3205. attributes #2 = { cold nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  3206. attributes #3 = { nounwind readnone speculatable }
  3207. attributes #4 = { nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  3208. attributes #5 = { naked nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  3209. attributes #6 = { argmemonly nounwind }
  3210. attributes #7 = { nobuiltin noreturn nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  3211. attributes #8 = { nounwind }
  3212.  
  3213. !llvm.module.flags = !{!0}
  3214. !llvm.dbg.cu = !{!1}
  3215.  
  3216. !0 = !{i32 2, !"Debug Info Version", i32 3}
  3217. !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "zig 0.1.1.339d48ac", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !93)
  3218. !2 = !DIFile(filename: "hello", directory: ".")
  3219. !3 = !{!4, !40, !47, !55, !66}
  3220. !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Os", scope: !5, file: !5, line: 1, baseType: !6, size: 8, align: 8, elements: !7)
  3221. !5 = !DIFile(filename: "builtin.zig", directory: "/Users/jfo/sandbox/zigwasm/zig-cache")
  3222. !6 = !DIBasicType(name: "u5", size: 8, encoding: DW_ATE_unsigned)
  3223. !7 = !{!8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39}
  3224. !8 = !DIEnumerator(name: "freestanding", value: 0)
  3225. !9 = !DIEnumerator(name: "ananas", value: 1)
  3226. !10 = !DIEnumerator(name: "cloudabi", value: 2)
  3227. !11 = !DIEnumerator(name: "darwin", value: 3)
  3228. !12 = !DIEnumerator(name: "dragonfly", value: 4)
  3229. !13 = !DIEnumerator(name: "freebsd", value: 5)
  3230. !14 = !DIEnumerator(name: "fuchsia", value: 6)
  3231. !15 = !DIEnumerator(name: "ios", value: 7)
  3232. !16 = !DIEnumerator(name: "kfreebsd", value: 8)
  3233. !17 = !DIEnumerator(name: "linux", value: 9)
  3234. !18 = !DIEnumerator(name: "lv2", value: 10)
  3235. !19 = !DIEnumerator(name: "macosx", value: 11)
  3236. !20 = !DIEnumerator(name: "netbsd", value: 12)
  3237. !21 = !DIEnumerator(name: "openbsd", value: 13)
  3238. !22 = !DIEnumerator(name: "solaris", value: 14)
  3239. !23 = !DIEnumerator(name: "windows", value: 15)
  3240. !24 = !DIEnumerator(name: "haiku", value: 16)
  3241. !25 = !DIEnumerator(name: "minix", value: 17)
  3242. !26 = !DIEnumerator(name: "rtems", value: 18)
  3243. !27 = !DIEnumerator(name: "nacl", value: 19)
  3244. !28 = !DIEnumerator(name: "cnk", value: 20)
  3245. !29 = !DIEnumerator(name: "bitrig", value: 21)
  3246. !30 = !DIEnumerator(name: "aix", value: 22)
  3247. !31 = !DIEnumerator(name: "cuda", value: 23)
  3248. !32 = !DIEnumerator(name: "nvcl", value: 24)
  3249. !33 = !DIEnumerator(name: "amdhsa", value: 25)
  3250. !34 = !DIEnumerator(name: "ps4", value: 26)
  3251. !35 = !DIEnumerator(name: "elfiamcu", value: 27)
  3252. !36 = !DIEnumerator(name: "tvos", value: 28)
  3253. !37 = !DIEnumerator(name: "watchos", value: 29)
  3254. !38 = !DIEnumerator(name: "mesa3d", value: 30)
  3255. !39 = !DIEnumerator(name: "contiki", value: 31)
  3256. !40 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage", scope: !5, file: !5, line: 138, baseType: !41, size: 8, align: 8, elements: !42)
  3257. !41 = !DIBasicType(name: "u2", size: 8, encoding: DW_ATE_unsigned)
  3258. !42 = !{!43, !44, !45, !46}
  3259. !43 = !DIEnumerator(name: "Internal", value: 0)
  3260. !44 = !DIEnumerator(name: "Strong", value: 1)
  3261. !45 = !DIEnumerator(name: "Weak", value: 2)
  3262. !46 = !DIEnumerator(name: "LinkOnce", value: 3)
  3263. !47 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ObjectFormat", scope: !5, file: !5, line: 130, baseType: !48, size: 8, align: 8, elements: !49)
  3264. !48 = !DIBasicType(name: "u3", size: 8, encoding: DW_ATE_unsigned)
  3265. !49 = !{!50, !51, !52, !53, !54}
  3266. !50 = !DIEnumerator(name: "unknown", value: 0)
  3267. !51 = !DIEnumerator(name: "coff", value: 1)
  3268. !52 = !DIEnumerator(name: "elf", value: 2)
  3269. !53 = !DIEnumerator(name: "macho", value: 3)
  3270. !54 = !DIEnumerator(name: "wasm", value: 4)
  3271. !55 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "State", scope: !56, file: !56, line: 10, baseType: !48, size: 8, align: 8, elements: !57)
  3272. !56 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/fmt")
  3273. !57 = !{!58, !59, !60, !61, !62, !63, !64, !65}
  3274. !58 = !DIEnumerator(name: "Start", value: 0)
  3275. !59 = !DIEnumerator(name: "OpenBrace", value: 1)
  3276. !60 = !DIEnumerator(name: "CloseBrace", value: 2)
  3277. !61 = !DIEnumerator(name: "Integer", value: 3)
  3278. !62 = !DIEnumerator(name: "IntegerWidth", value: 4)
  3279. !63 = !DIEnumerator(name: "Character", value: 5)
  3280. !64 = !DIEnumerator(name: "Buf", value: 6)
  3281. !65 = !DIEnumerator(name: "BufWidth", value: 7)
  3282. !66 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "TypeId", scope: !5, file: !5, line: 160, baseType: !6, size: 8, align: 8, elements: !67)
  3283. !67 = !{!68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92}
  3284. !68 = !DIEnumerator(name: "Type", value: 0)
  3285. !69 = !DIEnumerator(name: "Void", value: 1)
  3286. !70 = !DIEnumerator(name: "Bool", value: 2)
  3287. !71 = !DIEnumerator(name: "NoReturn", value: 3)
  3288. !72 = !DIEnumerator(name: "Int", value: 4)
  3289. !73 = !DIEnumerator(name: "Float", value: 5)
  3290. !74 = !DIEnumerator(name: "Pointer", value: 6)
  3291. !75 = !DIEnumerator(name: "Array", value: 7)
  3292. !76 = !DIEnumerator(name: "Struct", value: 8)
  3293. !77 = !DIEnumerator(name: "FloatLiteral", value: 9)
  3294. !78 = !DIEnumerator(name: "IntLiteral", value: 10)
  3295. !79 = !DIEnumerator(name: "UndefinedLiteral", value: 11)
  3296. !80 = !DIEnumerator(name: "NullLiteral", value: 12)
  3297. !81 = !DIEnumerator(name: "Nullable", value: 13)
  3298. !82 = !DIEnumerator(name: "ErrorUnion", value: 14)
  3299. !83 = !DIEnumerator(name: "Error", value: 15)
  3300. !84 = !DIEnumerator(name: "Enum", value: 16)
  3301. !85 = !DIEnumerator(name: "EnumTag", value: 17)
  3302. !86 = !DIEnumerator(name: "Union", value: 18)
  3303. !87 = !DIEnumerator(name: "Fn", value: 19)
  3304. !88 = !DIEnumerator(name: "Namespace", value: 20)
  3305. !89 = !DIEnumerator(name: "Block", value: 21)
  3306. !90 = !DIEnumerator(name: "BoundFn", value: 22)
  3307. !91 = !DIEnumerator(name: "ArgTuple", value: 23)
  3308. !92 = !DIEnumerator(name: "Opaque", value: 24)
  3309. !93 = !{!94, !96, !99, !102, !104, !106, !108, !141, !144, !146, !149, !151, !154, !157, !159, !161, !163, !165, !167, !169, !171, !173, !175, !177, !179}
  3310. !94 = !DIGlobalVariableExpression(var: !95)
  3311. !95 = distinct !DIGlobalVariable(name: "os", linkageName: "os", scope: !5, file: !5, line: 195, type: !4, isLocal: true, isDefinition: true)
  3312. !96 = !DIGlobalVariableExpression(var: !97)
  3313. !97 = distinct !DIGlobalVariable(name: "link_libc", linkageName: "link_libc", scope: !5, file: !5, line: 200, type: !98, isLocal: true, isDefinition: true)
  3314. !98 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
  3315. !99 = !DIGlobalVariableExpression(var: !100)
  3316. !100 = distinct !DIGlobalVariable(name: "want_main_symbol", linkageName: "want_main_symbol", scope: !101, file: !101, line: 9, type: !98, isLocal: true, isDefinition: true)
  3317. !101 = !DIFile(filename: "bootstrap.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special")
  3318. !102 = !DIGlobalVariableExpression(var: !103)
  3319. !103 = distinct !DIGlobalVariable(name: "want_start_symbol", linkageName: "want_start_symbol", scope: !101, file: !101, line: 10, type: !98, isLocal: true, isDefinition: true)
  3320. !104 = !DIGlobalVariableExpression(var: !105)
  3321. !105 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !101, file: !101, line: 8, type: !98, isLocal: true, isDefinition: true)
  3322. !106 = !DIGlobalVariableExpression(var: !107)
  3323. !107 = distinct !DIGlobalVariable(name: "want_WinMainCRTStartup", linkageName: "want_WinMainCRTStartup", scope: !101, file: !101, line: 11, type: !98, isLocal: true, isDefinition: true)
  3324. !108 = !DIGlobalVariableExpression(var: !109)
  3325. !109 = distinct !DIGlobalVariable(name: "global_allocator", linkageName: "global_allocator", scope: !110, file: !110, line: 970, type: !111, isLocal: true, isDefinition: true)
  3326. !110 = !DIFile(filename: "debug.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  3327. !111 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&Allocator", baseType: !112, size: 64, align: 64)
  3328. !112 = !DICompositeType(tag: DW_TAG_structure_type, name: "Allocator", scope: !113, file: !113, line: 7, size: 192, align: 192, elements: !114)
  3329. !113 = !DIFile(filename: "mem.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  3330. !114 = !{!115, !131, !136}
  3331. !115 = !DIDerivedType(tag: DW_TAG_member, name: "allocFn", scope: !112, file: !113, line: 10, baseType: !116, size: 64, align: 64)
  3332. !116 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, usize, usize) -> %[]u8", baseType: !117, size: 64, align: 64)
  3333. !117 = !DISubroutineType(types: !118)
  3334. !118 = !{!119, !130, !111, !128, !128}
  3335. !119 = !DICompositeType(tag: DW_TAG_structure_type, name: "%[]u8", size: 192, align: 192, elements: !120)
  3336. !120 = !{!121, !129}
  3337. !121 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !119, baseType: !122, size: 16, align: 16)
  3338. !122 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128, align: 64, elements: !123)
  3339. !123 = !{!124, !127}
  3340. !124 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !122, baseType: !125, size: 64, align: 64)
  3341. !125 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u8", baseType: !126, size: 64, align: 64)
  3342. !126 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
  3343. !127 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !122, baseType: !128, size: 64, align: 64, offset: 64)
  3344. !128 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
  3345. !129 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !119, baseType: !122, size: 128, align: 128, offset: 64)
  3346. !130 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%[]u8", baseType: !119, size: 64, align: 64)
  3347. !131 = !DIDerivedType(tag: DW_TAG_member, name: "reallocFn", scope: !112, file: !113, line: 17, baseType: !132, size: 64, align: 64, offset: 64)
  3348. !132 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, []u8, usize, usize) -> %[]u8", baseType: !133, size: 64, align: 64)
  3349. !133 = !DISubroutineType(types: !134)
  3350. !134 = !{!119, !130, !111, !135, !128, !128}
  3351. !135 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]u8", baseType: !122, size: 64, align: 64)
  3352. !136 = !DIDerivedType(tag: DW_TAG_member, name: "freeFn", scope: !112, file: !113, line: 20, baseType: !137, size: 64, align: 64, offset: 128)
  3353. !137 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&Allocator, []u8)", baseType: !138, size: 64, align: 64)
  3354. !138 = !DISubroutineType(types: !139)
  3355. !139 = !{!140, !111, !135}
  3356. !140 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned)
  3357. !141 = !DIGlobalVariableExpression(var: !142)
  3358. !142 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !143, file: !143, line: 3, type: !98, isLocal: true, isDefinition: true)
  3359. !143 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  3360. !144 = !DIGlobalVariableExpression(var: !145)
  3361. !145 = distinct !DIGlobalVariable(name: "object_format", linkageName: "object_format", scope: !5, file: !5, line: 198, type: !47, isLocal: true, isDefinition: true)
  3362. !146 = !DIGlobalVariableExpression(var: !147)
  3363. !147 = distinct !DIGlobalVariable(name: "is_windows", linkageName: "is_windows", scope: !148, file: !148, line: 21, type: !98, isLocal: true, isDefinition: true)
  3364. !148 = !DIFile(filename: "io.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std")
  3365. !149 = !DIGlobalVariableExpression(var: !150)
  3366. !150 = distinct !DIGlobalVariable(name: "is_posix", linkageName: "is_posix", scope: !148, file: !148, line: 20, type: !98, isLocal: true, isDefinition: true)
  3367. !151 = !DIGlobalVariableExpression(var: !152)
  3368. !152 = distinct !DIGlobalVariable(name: "STDERR_FILENO", linkageName: "STDERR_FILENO", scope: !153, file: !153, line: 10, type: !126, isLocal: true, isDefinition: true)
  3369. !153 = !DIFile(filename: "darwin.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  3370. !154 = !DIGlobalVariableExpression(var: !155)
  3371. !155 = distinct !DIGlobalVariable(name: "EINTR", linkageName: "EINTR", scope: !156, file: !156, line: 5, type: !126, isLocal: true, isDefinition: true)
  3372. !156 = !DIFile(filename: "darwin_errno.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/os")
  3373. !157 = !DIGlobalVariableExpression(var: !158)
  3374. !158 = distinct !DIGlobalVariable(name: "EINVAL", linkageName: "EINVAL", scope: !156, file: !156, line: 24, type: !126, isLocal: true, isDefinition: true)
  3375. !159 = !DIGlobalVariableExpression(var: !160)
  3376. !160 = distinct !DIGlobalVariable(name: "EFAULT", linkageName: "EFAULT", scope: !156, file: !156, line: 16, type: !126, isLocal: true, isDefinition: true)
  3377. !161 = !DIGlobalVariableExpression(var: !162)
  3378. !162 = distinct !DIGlobalVariable(name: "EAGAIN", linkageName: "EAGAIN", scope: !156, file: !156, line: 41, type: !126, isLocal: true, isDefinition: true)
  3379. !163 = !DIGlobalVariableExpression(var: !164)
  3380. !164 = distinct !DIGlobalVariable(name: "EBADF", linkageName: "EBADF", scope: !156, file: !156, line: 10, type: !126, isLocal: true, isDefinition: true)
  3381. !165 = !DIGlobalVariableExpression(var: !166)
  3382. !166 = distinct !DIGlobalVariable(name: "EDESTADDRREQ", linkageName: "EDESTADDRREQ", scope: !156, file: !156, line: 48, type: !126, isLocal: true, isDefinition: true)
  3383. !167 = !DIGlobalVariableExpression(var: !168)
  3384. !168 = distinct !DIGlobalVariable(name: "EDQUOT", linkageName: "EDQUOT", scope: !156, file: !156, line: 89, type: !126, isLocal: true, isDefinition: true)
  3385. !169 = !DIGlobalVariableExpression(var: !170)
  3386. !170 = distinct !DIGlobalVariable(name: "EFBIG", linkageName: "EFBIG", scope: !156, file: !156, line: 29, type: !126, isLocal: true, isDefinition: true)
  3387. !171 = !DIGlobalVariableExpression(var: !172)
  3388. !172 = distinct !DIGlobalVariable(name: "EIO", linkageName: "EIO", scope: !156, file: !156, line: 6, type: !126, isLocal: true, isDefinition: true)
  3389. !173 = !DIGlobalVariableExpression(var: !174)
  3390. !174 = distinct !DIGlobalVariable(name: "ENOSPC", linkageName: "ENOSPC", scope: !156, file: !156, line: 30, type: !126, isLocal: true, isDefinition: true)
  3391. !175 = !DIGlobalVariableExpression(var: !176)
  3392. !176 = distinct !DIGlobalVariable(name: "EPERM", linkageName: "EPERM", scope: !156, file: !156, line: 2, type: !126, isLocal: true, isDefinition: true)
  3393. !177 = !DIGlobalVariableExpression(var: !178)
  3394. !178 = distinct !DIGlobalVariable(name: "EPIPE", linkageName: "EPIPE", scope: !156, file: !156, line: 34, type: !126, isLocal: true, isDefinition: true)
  3395. !179 = !DIGlobalVariableExpression(var: !180)
  3396. !180 = distinct !DIGlobalVariable(name: "unexpected_error_tracing", linkageName: "unexpected_error_tracing", scope: !143, file: !143, line: 1460, type: !98, isLocal: true, isDefinition: true)
  3397. !181 = distinct !DISubprogram(name: "globalAlloc", scope: !110, file: !110, line: 982, type: !117, isLocal: true, isDefinition: true, scopeLine: 982, isOptimized: false, unit: !1, variables: !182)
  3398. !182 = !{!183, !184, !186, !188, !191, !193, !195, !197, !199}
  3399. !183 = !DILocalVariable(name: "self", arg: 2, scope: !181, file: !110, line: 982, type: !111)
  3400. !184 = !DILocalVariable(name: "n", arg: 3, scope: !185, file: !110, line: 982, type: !128)
  3401. !185 = distinct !DILexicalBlock(scope: !181, file: !110, line: 982, column: 16)
  3402. !186 = !DILocalVariable(name: "alignment", arg: 4, scope: !187, file: !110, line: 982, type: !128)
  3403. !187 = distinct !DILexicalBlock(scope: !185, file: !110, line: 982, column: 38)
  3404. !188 = !DILocalVariable(name: "addr", scope: !189, file: !110, line: 983, type: !128)
  3405. !189 = distinct !DILexicalBlock(scope: !190, file: !110, line: 982, column: 75)
  3406. !190 = distinct !DILexicalBlock(scope: !187, file: !110, line: 982, column: 48)
  3407. !191 = !DILocalVariable(name: "rem", scope: !192, file: !110, line: 984, type: !128)
  3408. !192 = distinct !DILexicalBlock(scope: !189, file: !110, line: 983, column: 5)
  3409. !193 = !DILocalVariable(name: "march_forward_bytes", scope: !194, file: !110, line: 985, type: !128)
  3410. !194 = distinct !DILexicalBlock(scope: !192, file: !110, line: 984, column: 5)
  3411. !195 = !DILocalVariable(name: "adjusted_index", scope: !196, file: !110, line: 986, type: !128)
  3412. !196 = distinct !DILexicalBlock(scope: !194, file: !110, line: 985, column: 5)
  3413. !197 = !DILocalVariable(name: "end_index", scope: !198, file: !110, line: 987, type: !128)
  3414. !198 = distinct !DILexicalBlock(scope: !196, file: !110, line: 986, column: 5)
  3415. !199 = !DILocalVariable(name: "result", scope: !200, file: !110, line: 991, type: !122)
  3416. !200 = distinct !DILexicalBlock(scope: !198, file: !110, line: 987, column: 5)
  3417. !201 = !DIExpression()
  3418. !202 = !DILocation(line: 982, column: 16, scope: !181)
  3419. !203 = !DILocation(line: 982, column: 38, scope: !185)
  3420. !204 = !DILocation(line: 982, column: 48, scope: !187)
  3421. !205 = !DILocation(line: 983, column: 38, scope: !189)
  3422. !206 = !DILocation(line: 983, column: 37, scope: !189)
  3423. !207 = !DILocation(line: 985, column: 33, scope: !194)
  3424. !208 = !DILocation(line: 985, column: 55, scope: !194)
  3425. !209 = !DILocation(line: 985, column: 67, scope: !194)
  3426. !210 = !DILocation(line: 985, column: 65, scope: !194)
  3427. !211 = !DILocation(line: 985, column: 5, scope: !194)
  3428. !212 = !DILocation(line: 986, column: 28, scope: !196)
  3429. !213 = !DILocation(line: 986, column: 45, scope: !196)
  3430. !214 = !DILocation(line: 986, column: 43, scope: !196)
  3431. !215 = !DILocation(line: 989, column: 9, scope: !216)
  3432. !216 = distinct !DILexicalBlock(scope: !200, file: !110, line: 988, column: 35)
  3433. !217 = !{!"branch_weights", i32 2147481600, i32 2048}
  3434. !218 = !DILocation(line: 991, column: 29, scope: !200)
  3435. !219 = !DILocation(line: 991, column: 47, scope: !200)
  3436. !220 = !DILocation(line: 991, column: 28, scope: !200)
  3437. !221 = !DILocation(line: 983, column: 18, scope: !189)
  3438. !222 = !DILocation(line: 983, column: 5, scope: !189)
  3439. !223 = !DILocation(line: 984, column: 22, scope: !192)
  3440. !224 = !DILocation(line: 984, column: 28, scope: !192)
  3441. !225 = !DILocation(line: 984, column: 17, scope: !192)
  3442. !226 = !DILocation(line: 984, column: 5, scope: !192)
  3443. !227 = !DILocation(line: 985, column: 37, scope: !194)
  3444. !228 = !DILocation(line: 985, column: 41, scope: !194)
  3445. !229 = !DILocation(line: 986, column: 5, scope: !196)
  3446. !230 = !DILocation(line: 987, column: 23, scope: !198)
  3447. !231 = !DILocation(line: 987, column: 40, scope: !198)
  3448. !232 = !DILocation(line: 987, column: 38, scope: !198)
  3449. !233 = !DILocation(line: 987, column: 5, scope: !198)
  3450. !234 = !DILocation(line: 988, column: 9, scope: !200)
  3451. !235 = !DILocation(line: 988, column: 19, scope: !200)
  3452. !236 = !DILocation(line: 991, column: 5, scope: !200)
  3453. !237 = !DILocation(line: 992, column: 22, scope: !238)
  3454. !238 = distinct !DILexicalBlock(scope: !200, file: !110, line: 991, column: 5)
  3455. !239 = !DILocation(line: 992, column: 20, scope: !238)
  3456. !240 = !DILocation(line: 993, column: 12, scope: !238)
  3457. !241 = !DILocation(line: 993, column: 5, scope: !238)
  3458. !242 = !DILocation(line: 0, scope: !181)
  3459. !243 = distinct !DISubprogram(name: "globalRealloc", scope: !110, file: !110, line: 996, type: !133, isLocal: true, isDefinition: true, scopeLine: 996, isOptimized: false, unit: !1, variables: !244)
  3460. !244 = !{!245, !246, !248, !250, !252}
  3461. !245 = !DILocalVariable(name: "self", arg: 2, scope: !243, file: !110, line: 996, type: !111)
  3462. !246 = !DILocalVariable(name: "old_mem", arg: 3, scope: !247, file: !110, line: 996, type: !122)
  3463. !247 = distinct !DILexicalBlock(scope: !243, file: !110, line: 996, column: 18)
  3464. !248 = !DILocalVariable(name: "new_size", arg: 4, scope: !249, file: !110, line: 996, type: !128)
  3465. !249 = distinct !DILexicalBlock(scope: !247, file: !110, line: 996, column: 40)
  3466. !250 = !DILocalVariable(name: "alignment", arg: 5, scope: !251, file: !110, line: 996, type: !128)
  3467. !251 = distinct !DILexicalBlock(scope: !249, file: !110, line: 996, column: 55)
  3468. !252 = !DILocalVariable(name: "result", scope: !253, file: !110, line: 1000, type: !122)
  3469. !253 = distinct !DILexicalBlock(scope: !254, file: !110, line: 999, column: 12)
  3470. !254 = distinct !DILexicalBlock(scope: !255, file: !110, line: 996, column: 99)
  3471. !255 = distinct !DILexicalBlock(scope: !251, file: !110, line: 996, column: 72)
  3472. !256 = !DILocation(line: 996, column: 18, scope: !243)
  3473. !257 = !DILocation(line: 996, column: 40, scope: !247)
  3474. !258 = !DILocation(line: 996, column: 55, scope: !249)
  3475. !259 = !DILocation(line: 996, column: 72, scope: !251)
  3476. !260 = !DILocation(line: 997, column: 9, scope: !254)
  3477. !261 = !DILocation(line: 997, column: 28, scope: !254)
  3478. !262 = !DILocation(line: 997, column: 18, scope: !254)
  3479. !263 = !DILocation(line: 998, column: 28, scope: !264)
  3480. !264 = distinct !DILexicalBlock(scope: !254, file: !110, line: 997, column: 34)
  3481. !265 = !DILocation(line: 998, column: 23, scope: !264)
  3482. !266 = !DILocation(line: 1000, column: 44, scope: !253)
  3483. !267 = !DILocation(line: 1000, column: 50, scope: !253)
  3484. !268 = !DILocation(line: 1000, column: 60, scope: !253)
  3485. !269 = !DILocation(line: 1000, column: 43, scope: !253)
  3486. !270 = !DILocation(line: 1000, column: 24, scope: !253)
  3487. !271 = !DILocation(line: 1000, column: 9, scope: !253)
  3488. !272 = !DILocation(line: 1001, column: 23, scope: !273)
  3489. !273 = distinct !DILexicalBlock(scope: !253, file: !110, line: 1000, column: 9)
  3490. !274 = !DILocation(line: 1001, column: 36, scope: !273)
  3491. !275 = !DILocation(line: 1001, column: 49, scope: !273)
  3492. !276 = !DILocation(line: 1001, column: 9, scope: !273)
  3493. !277 = !DILocation(line: 1002, column: 16, scope: !273)
  3494. !278 = !DILocation(line: 1002, column: 9, scope: !273)
  3495. !279 = !DILocation(line: 998, column: 9, scope: !264)
  3496. !280 = !DILocation(line: 0, scope: !243)
  3497. !281 = distinct !DISubprogram(name: "globalFree", scope: !110, file: !110, line: 1006, type: !138, isLocal: true, isDefinition: true, scopeLine: 1006, isOptimized: false, unit: !1, variables: !282)
  3498. !282 = !{!283, !284}
  3499. !283 = !DILocalVariable(name: "self", arg: 1, scope: !281, file: !110, line: 1006, type: !111)
  3500. !284 = !DILocalVariable(name: "memory", arg: 2, scope: !285, file: !110, line: 1006, type: !122)
  3501. !285 = distinct !DILexicalBlock(scope: !281, file: !110, line: 1006, column: 15)
  3502. !286 = !DILocation(line: 1006, column: 15, scope: !281)
  3503. !287 = !DILocation(line: 1006, column: 37, scope: !285)
  3504. !288 = !DILocation(line: 1006, column: 51, scope: !289)
  3505. !289 = distinct !DILexicalBlock(scope: !285, file: !110, line: 1006, column: 37)
  3506. !290 = distinct !DISubprogram(name: "panic", scope: !291, file: !291, line: 8, type: !292, isLocal: true, isDefinition: true, scopeLine: 8, isOptimized: false, unit: !1, variables: !295)
  3507. !291 = !DIFile(filename: "panic.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special")
  3508. !292 = !DISubroutineType(types: !293)
  3509. !293 = !{!140, !294}
  3510. !294 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]const u8", baseType: !122, size: 64, align: 64)
  3511. !295 = !{!296}
  3512. !296 = !DILocalVariable(name: "msg", arg: 1, scope: !290, file: !291, line: 8, type: !122)
  3513. !297 = !DILocation(line: 8, column: 21, scope: !290)
  3514. !298 = !DILocation(line: 12, column: 35, scope: !299)
  3515. !299 = distinct !DILexicalBlock(scope: !300, file: !291, line: 11, column: 12)
  3516. !300 = distinct !DILexicalBlock(scope: !301, file: !291, line: 8, column: 50)
  3517. !301 = distinct !DILexicalBlock(scope: !290, file: !291, line: 8, column: 21)
  3518. !302 = distinct !DISubprogram(name: "panic", scope: !110, file: !110, line: 72, type: !292, isLocal: true, isDefinition: true, scopeLine: 72, isOptimized: false, unit: !1, variables: !303)
  3519. !303 = !{!304, !307}
  3520. !304 = !DILocalVariable(name: "arg0", arg: 1, scope: !305, file: !110, line: 72, type: !122)
  3521. !305 = distinct !DILexicalBlock(scope: !306, file: !110, line: 72, column: 43)
  3522. !306 = distinct !DILexicalBlock(scope: !302, file: !110, line: 72, column: 14)
  3523. !307 = !DILocalVariable(name: "stderr", scope: !308, file: !110, line: 87, type: !310)
  3524. !308 = distinct !DILexicalBlock(scope: !309, file: !110, line: 72, column: 66)
  3525. !309 = distinct !DILexicalBlock(scope: !305, file: !110, line: 72, column: 43)
  3526. !310 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&OutStream", baseType: !311, size: 64, align: 64)
  3527. !311 = !DICompositeType(tag: DW_TAG_structure_type, name: "OutStream", scope: !148, file: !148, line: 469, size: 64, align: 64, elements: !312)
  3528. !312 = !{!313}
  3529. !313 = !DIDerivedType(tag: DW_TAG_member, name: "writeFn", scope: !311, file: !148, line: 470, baseType: !314, size: 64, align: 64)
  3530. !314 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&const fn(&OutStream, []const u8) -> %void", baseType: !315, size: 64, align: 64)
  3531. !315 = !DISubroutineType(types: !316)
  3532. !316 = !{!317, !310, !294}
  3533. !317 = !DIBasicType(name: "u16", size: 16, encoding: DW_ATE_unsigned)
  3534. !318 = !DILocation(line: 72, column: 43, scope: !305)
  3535. !319 = !DILocation(line: 77, column: 9, scope: !308)
  3536. !320 = !DILocation(line: 82, column: 17, scope: !321)
  3537. !321 = distinct !DILexicalBlock(scope: !308, file: !110, line: 77, column: 20)
  3538. !322 = !DILocation(line: 84, column: 19, scope: !323)
  3539. !323 = distinct !DILexicalBlock(scope: !308, file: !110, line: 83, column: 12)
  3540. !324 = !DILocation(line: 77, column: 5, scope: !308)
  3541. !325 = !DILocation(line: 87, column: 35, scope: !308)
  3542. !326 = !DILocation(line: 87, column: 38, scope: !308)
  3543. !327 = !DILocation(line: 87, column: 49, scope: !308)
  3544. !328 = !DILocation(line: 87, column: 5, scope: !308)
  3545. !329 = !DILocation(line: 88, column: 11, scope: !330)
  3546. !330 = distinct !DILexicalBlock(scope: !308, file: !110, line: 87, column: 5)
  3547. !331 = !DILocation(line: 88, column: 17, scope: !330)
  3548. !332 = !DILocation(line: 88, column: 40, scope: !330)
  3549. !333 = !DILocation(line: 88, column: 51, scope: !330)
  3550. !334 = !DILocation(line: 89, column: 21, scope: !330)
  3551. !335 = !DILocation(line: 89, column: 64, scope: !330)
  3552. !336 = !DILocation(line: 89, column: 20, scope: !330)
  3553. !337 = !DILocation(line: 89, column: 71, scope: !330)
  3554. !338 = !DILocation(line: 89, column: 82, scope: !330)
  3555. !339 = !DILocation(line: 91, column: 13, scope: !330)
  3556. !340 = distinct !DISubprogram(name: "_start", scope: !101, file: !101, line: 16, type: !341, isLocal: true, isDefinition: true, scopeLine: 16, isOptimized: false, unit: !1, variables: !343)
  3557. !341 = !DISubroutineType(types: !342)
  3558. !342 = !{!140}
  3559. !343 = !{}
  3560. !344 = !DILocation(line: 19, column: 9, scope: !345)
  3561. !345 = distinct !DILexicalBlock(scope: !346, file: !101, line: 17, column: 29)
  3562. !346 = distinct !DILexicalBlock(scope: !340, file: !101, line: 16, column: 40)
  3563. !347 = distinct !DISubprogram(name: "WinMainCRTStartup", scope: !101, file: !101, line: 34, type: !341, isLocal: true, isDefinition: true, scopeLine: 34, isOptimized: false, unit: !1, variables: !343)
  3564. !348 = !DILocation(line: 37, column: 9, scope: !349)
  3565. !349 = distinct !DILexicalBlock(scope: !350, file: !101, line: 35, column: 34)
  3566. !350 = distinct !DILexicalBlock(scope: !347, file: !101, line: 34, column: 43)
  3567. !351 = distinct !DISubprogram(name: "main", scope: !101, file: !101, line: 66, type: !352, isLocal: false, isDefinition: true, scopeLine: 66, isOptimized: false, unit: !1, variables: !357)
  3568. !352 = !DISubroutineType(types: !353)
  3569. !353 = !{!354, !354, !355, !356}
  3570. !354 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
  3571. !355 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&u8", baseType: !125, size: 64, align: 64)
  3572. !356 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&?&u8", baseType: !125, size: 64, align: 64)
  3573. !357 = !{!358, !359, !361}
  3574. !358 = !DILocalVariable(name: "c_argc", arg: 1, scope: !351, file: !101, line: 66, type: !354)
  3575. !359 = !DILocalVariable(name: "c_argv", arg: 2, scope: !360, file: !101, line: 66, type: !355)
  3576. !360 = distinct !DILexicalBlock(scope: !351, file: !101, line: 66, column: 16)
  3577. !361 = !DILocalVariable(name: "c_envp", arg: 3, scope: !362, file: !101, line: 66, type: !356)
  3578. !362 = distinct !DILexicalBlock(scope: !360, file: !101, line: 66, column: 29)
  3579. !363 = !DILocation(line: 66, column: 16, scope: !351)
  3580. !364 = !DILocation(line: 66, column: 29, scope: !360)
  3581. !365 = !DILocation(line: 66, column: 43, scope: !362)
  3582. !366 = !DILocation(line: 72, column: 20, scope: !367)
  3583. !367 = distinct !DILexicalBlock(scope: !368, file: !101, line: 66, column: 65)
  3584. !368 = distinct !DILexicalBlock(scope: !362, file: !101, line: 66, column: 43)
  3585. !369 = !DILocation(line: 72, column: 19, scope: !367)
  3586. !370 = !DILocation(line: 72, column: 29, scope: !367)
  3587. !371 = !DILocation(line: 72, column: 37, scope: !367)
  3588. !372 = !DILocation(line: 72, column: 13, scope: !367)
  3589. !373 = !DILocation(line: 72, column: 45, scope: !367)
  3590. !374 = !DILocation(line: 72, column: 48, scope: !367)
  3591. !375 = !DILocation(line: 73, column: 5, scope: !367)
  3592. !376 = distinct !DISubprogram(name: "callMain", scope: !101, file: !101, line: 54, type: !377, isLocal: true, isDefinition: true, scopeLine: 54, isOptimized: false, unit: !1, variables: !379)
  3593. !377 = !DISubroutineType(types: !378)
  3594. !378 = !{!317, !128, !355, !356}
  3595. !379 = !{!380, !381, !383, !385}
  3596. !380 = !DILocalVariable(name: "argc", arg: 1, scope: !376, file: !101, line: 54, type: !128)
  3597. !381 = !DILocalVariable(name: "argv", arg: 2, scope: !382, file: !101, line: 54, type: !355)
  3598. !382 = distinct !DILexicalBlock(scope: !376, file: !101, line: 54, column: 13)
  3599. !383 = !DILocalVariable(name: "envp", arg: 3, scope: !384, file: !101, line: 54, type: !356)
  3600. !384 = distinct !DILexicalBlock(scope: !382, file: !101, line: 54, column: 26)
  3601. !385 = !DILocalVariable(name: "env_count", scope: !386, file: !101, line: 57, type: !128)
  3602. !386 = distinct !DILexicalBlock(scope: !387, file: !101, line: 54, column: 60)
  3603. !387 = distinct !DILexicalBlock(scope: !384, file: !101, line: 54, column: 38)
  3604. !388 = !DILocation(line: 54, column: 13, scope: !376)
  3605. !389 = !DILocation(line: 54, column: 26, scope: !382)
  3606. !390 = !DILocation(line: 54, column: 38, scope: !384)
  3607. !391 = !DILocation(line: 55, column: 44, scope: !386)
  3608. !392 = !DILocation(line: 55, column: 39, scope: !386)
  3609. !393 = !DILocation(line: 58, column: 17, scope: !394)
  3610. !394 = distinct !DILexicalBlock(scope: !386, file: !101, line: 57, column: 5)
  3611. !395 = !DILocation(line: 58, column: 16, scope: !394)
  3612. !396 = !DILocation(line: 58, column: 28, scope: !394)
  3613. !397 = !DILocation(line: 58, column: 40, scope: !394)
  3614. !398 = !DILocation(line: 58, column: 50, scope: !394)
  3615. !399 = !DILocation(line: 59, column: 47, scope: !394)
  3616. !400 = !DILocation(line: 59, column: 32, scope: !394)
  3617. !401 = !DILocation(line: 59, column: 57, scope: !394)
  3618. !402 = !DILocation(line: 59, column: 52, scope: !394)
  3619. !403 = !DILocation(line: 55, column: 33, scope: !386)
  3620. !404 = !DILocation(line: 57, column: 5, scope: !386)
  3621. !405 = !DILocation(line: 58, column: 5, scope: !394)
  3622. !406 = !DILocation(line: 59, column: 30, scope: !394)
  3623. !407 = !DILocation(line: 61, column: 28, scope: !394)
  3624. !408 = !DILocation(line: 63, column: 21, scope: !394)
  3625. !409 = !DILocation(line: 63, column: 5, scope: !394)
  3626. !410 = !DILocation(line: 0, scope: !376)
  3627. !411 = distinct !DISubprogram(name: "abort", scope: !143, file: !143, line: 127, type: !341, isLocal: true, isDefinition: true, scopeLine: 127, isOptimized: false, unit: !1, variables: !343)
  3628. !412 = !DILocation(line: 129, column: 16, scope: !413)
  3629. !413 = distinct !DILexicalBlock(scope: !414, file: !143, line: 128, column: 28)
  3630. !414 = distinct !DILexicalBlock(scope: !411, file: !143, line: 127, column: 35)
  3631. !415 = distinct !DISubprogram(name: "getStderrStream", scope: !110, file: !110, line: 26, type: !416, isLocal: true, isDefinition: true, scopeLine: 26, isOptimized: false, unit: !1, variables: !423)
  3632. !416 = !DISubroutineType(types: !417)
  3633. !417 = !{!418, !422}
  3634. !418 = !DICompositeType(tag: DW_TAG_structure_type, name: "%&OutStream", size: 128, align: 128, elements: !419)
  3635. !419 = !{!420, !421}
  3636. !420 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !418, baseType: !310, size: 16, align: 16)
  3637. !421 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !418, baseType: !310, size: 64, align: 64, offset: 64)
  3638. !422 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%&OutStream", baseType: !418, size: 64, align: 64)
  3639. !423 = !{!424, !426}
  3640. !424 = !DILocalVariable(name: "st", scope: !425, file: !110, line: 27, type: !310)
  3641. !425 = distinct !DILexicalBlock(scope: !415, file: !110, line: 26, column: 40)
  3642. !426 = !DILocalVariable(name: "st", scope: !427, file: !110, line: 32, type: !310)
  3643. !427 = distinct !DILexicalBlock(scope: !425, file: !110, line: 29, column: 12)
  3644. !428 = !DILocation(line: 27, column: 5, scope: !425)
  3645. !429 = !DILocation(line: 28, column: 16, scope: !430)
  3646. !430 = distinct !DILexicalBlock(scope: !431, file: !110, line: 27, column: 29)
  3647. !431 = distinct !DILexicalBlock(scope: !425, file: !110, line: 27, column: 5)
  3648. !432 = !DILocation(line: 28, column: 9, scope: !430)
  3649. !433 = !DILocation(line: 30, column: 43, scope: !427)
  3650. !434 = !DILocation(line: 30, column: 23, scope: !427)
  3651. !435 = !DILocation(line: 30, column: 21, scope: !427)
  3652. !436 = !DILocation(line: 31, column: 55, scope: !427)
  3653. !437 = !DILocation(line: 31, column: 32, scope: !427)
  3654. !438 = !DILocation(line: 32, column: 9, scope: !427)
  3655. !439 = !DILocation(line: 33, column: 23, scope: !440)
  3656. !440 = distinct !DILexicalBlock(scope: !427, file: !110, line: 32, column: 9)
  3657. !441 = !DILocation(line: 34, column: 9, scope: !440)
  3658. !442 = !DILocation(line: 0, scope: !415)
  3659. !443 = distinct !DISubprogram(name: "OutStream_print", scope: !311, file: !148, line: 472, type: !315, isLocal: true, isDefinition: true, scopeLine: 472, isOptimized: false, unit: !1, variables: !444)
  3660. !444 = !{!445, !449}
  3661. !445 = !DILocalVariable(name: "self", arg: 1, scope: !446, file: !148, line: 472, type: !310)
  3662. !446 = distinct !DILexicalBlock(scope: !447, file: !148, line: 472, column: 65)
  3663. !447 = distinct !DILexicalBlock(scope: !448, file: !148, line: 472, column: 36)
  3664. !448 = distinct !DILexicalBlock(scope: !443, file: !148, line: 472, column: 18)
  3665. !449 = !DILocalVariable(name: "arg1", arg: 2, scope: !450, file: !148, line: 472, type: !122)
  3666. !450 = distinct !DILexicalBlock(scope: !446, file: !148, line: 472, column: 18)
  3667. !451 = !DILocation(line: 472, column: 18, scope: !446)
  3668. !452 = !DILocation(line: 472, column: 65, scope: !450)
  3669. !453 = !DILocation(line: 473, column: 31, scope: !454)
  3670. !454 = distinct !DILexicalBlock(scope: !455, file: !148, line: 472, column: 85)
  3671. !455 = distinct !DILexicalBlock(scope: !450, file: !148, line: 472, column: 65)
  3672. !456 = !DILocation(line: 473, column: 41, scope: !454)
  3673. !457 = !DILocation(line: 473, column: 30, scope: !454)
  3674. !458 = !DILocation(line: 473, column: 9, scope: !454)
  3675. !459 = distinct !DISubprogram(name: "File_isTty", scope: !460, file: !148, line: 190, type: !463, isLocal: true, isDefinition: true, scopeLine: 190, isOptimized: false, unit: !1, variables: !466)
  3676. !460 = !DICompositeType(tag: DW_TAG_structure_type, name: "File", scope: !148, file: !148, line: 125, size: 32, align: 32, elements: !461)
  3677. !461 = !{!462}
  3678. !462 = !DIDerivedType(tag: DW_TAG_member, name: "handle", scope: !460, file: !148, line: 127, baseType: !354, size: 32, align: 32)
  3679. !463 = !DISubroutineType(types: !464)
  3680. !464 = !{!98, !465}
  3681. !465 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&File", baseType: !460, size: 64, align: 64)
  3682. !466 = !{!467}
  3683. !467 = !DILocalVariable(name: "self", arg: 1, scope: !459, file: !148, line: 190, type: !465)
  3684. !468 = !DILocation(line: 190, column: 18, scope: !459)
  3685. !469 = !DILocation(line: 191, column: 29, scope: !470)
  3686. !470 = distinct !DILexicalBlock(scope: !471, file: !148, line: 190, column: 39)
  3687. !471 = distinct !DILexicalBlock(scope: !459, file: !148, line: 190, column: 18)
  3688. !472 = !DILocation(line: 191, column: 24, scope: !470)
  3689. !473 = !DILocation(line: 191, column: 9, scope: !470)
  3690. !474 = distinct !DISubprogram(name: "writeStackTrace", scope: !110, file: !110, line: 104, type: !475, isLocal: true, isDefinition: true, scopeLine: 104, isOptimized: false, unit: !1, variables: !477)
  3691. !475 = !DISubroutineType(types: !476)
  3692. !476 = !{!317, !310, !111, !98, !128}
  3693. !477 = !{!478, !479, !481, !483}
  3694. !478 = !DILocalVariable(name: "out_stream", arg: 1, scope: !474, file: !110, line: 104, type: !310)
  3695. !479 = !DILocalVariable(name: "allocator", arg: 2, scope: !480, file: !110, line: 104, type: !111)
  3696. !480 = distinct !DILexicalBlock(scope: !474, file: !110, line: 104, column: 24)
  3697. !481 = !DILocalVariable(name: "tty_color", arg: 3, scope: !482, file: !110, line: 104, type: !98)
  3698. !482 = distinct !DILexicalBlock(scope: !480, file: !110, line: 104, column: 51)
  3699. !483 = !DILocalVariable(name: "ignore_frame_count", arg: 4, scope: !484, file: !110, line: 105, type: !128)
  3700. !484 = distinct !DILexicalBlock(scope: !482, file: !110, line: 104, column: 78)
  3701. !485 = !DILocation(line: 104, column: 24, scope: !474)
  3702. !486 = !DILocation(line: 104, column: 51, scope: !480)
  3703. !487 = !DILocation(line: 104, column: 78, scope: !482)
  3704. !488 = !DILocation(line: 105, column: 5, scope: !484)
  3705. !489 = !DILocation(line: 185, column: 31, scope: !490)
  3706. !490 = distinct !DILexicalBlock(scope: !491, file: !110, line: 184, column: 39)
  3707. !491 = distinct !DILexicalBlock(scope: !492, file: !110, line: 106, column: 1)
  3708. !492 = distinct !DILexicalBlock(scope: !484, file: !110, line: 105, column: 5)
  3709. !493 = !DILocation(line: 185, column: 37, scope: !490)
  3710. !494 = !DILocation(line: 185, column: 13, scope: !490)
  3711. !495 = !DILocation(line: 107, column: 5, scope: !492)
  3712. !496 = distinct !DISubprogram(name: "main", scope: !497, file: !497, type: !498, isLocal: true, isDefinition: true, isOptimized: false, unit: !1, variables: !343)
  3713. !497 = !DIFile(filename: "hello.zig", directory: "/Users/jfo/sandbox/zigwasm")
  3714. !498 = !DISubroutineType(types: !499)
  3715. !499 = !{!317}
  3716. !500 = !DILocation(line: 1, column: 24, scope: !496)
  3717. !501 = distinct !DISubprogram(name: "getStdErr", scope: !148, file: !148, line: 52, type: !502, isLocal: true, isDefinition: true, scopeLine: 52, isOptimized: false, unit: !1, variables: !343)
  3718. !502 = !DISubroutineType(types: !503)
  3719. !503 = !{!504, !508}
  3720. !504 = !DICompositeType(tag: DW_TAG_structure_type, name: "%File", size: 64, align: 64, elements: !505)
  3721. !505 = !{!506, !507}
  3722. !506 = !DIDerivedType(tag: DW_TAG_member, name: "tag", scope: !504, baseType: !460, size: 16, align: 16)
  3723. !507 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !504, baseType: !460, size: 32, align: 32, offset: 32)
  3724. !508 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&%File", baseType: !504, size: 64, align: 64)
  3725. !509 = !DILocation(line: 60, column: 27, scope: !510)
  3726. !510 = distinct !DILexicalBlock(scope: !511, file: !148, line: 53, column: 5)
  3727. !511 = distinct !DILexicalBlock(scope: !501, file: !148, line: 52, column: 29)
  3728. !512 = !DILocation(line: 60, column: 5, scope: !510)
  3729. !513 = !DILocation(line: 0, scope: !501)
  3730. !514 = distinct !DISubprogram(name: "FileOutStream_init", scope: !515, file: !148, line: 110, type: !519, isLocal: true, isDefinition: true, scopeLine: 110, isOptimized: false, unit: !1, variables: !522)
  3731. !515 = !DICompositeType(tag: DW_TAG_structure_type, name: "FileOutStream", scope: !148, file: !148, line: 106, size: 128, align: 128, elements: !516)
  3732. !516 = !{!517, !518}
  3733. !517 = !DIDerivedType(tag: DW_TAG_member, name: "file", scope: !515, file: !148, line: 107, baseType: !465, size: 64, align: 64)
  3734. !518 = !DIDerivedType(tag: DW_TAG_member, name: "stream", scope: !515, file: !148, line: 108, baseType: !311, size: 64, align: 64, offset: 64)
  3735. !519 = !DISubroutineType(types: !520)
  3736. !520 = !{!515, !521, !465}
  3737. !521 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&FileOutStream", baseType: !515, size: 64, align: 64)
  3738. !522 = !{!523}
  3739. !523 = !DILocalVariable(name: "file", arg: 2, scope: !514, file: !148, line: 110, type: !465)
  3740. !524 = !DILocation(line: 110, column: 17, scope: !514)
  3741. !525 = !DILocation(line: 112, column: 21, scope: !526)
  3742. !526 = distinct !DILexicalBlock(scope: !527, file: !148, line: 110, column: 47)
  3743. !527 = distinct !DILexicalBlock(scope: !514, file: !148, line: 110, column: 17)
  3744. !528 = !DILocation(line: 111, column: 30, scope: !526)
  3745. !529 = !DILocation(line: 111, column: 9, scope: !526)
  3746. !530 = !DILocation(line: 0, scope: !514)
  3747. !531 = distinct !DISubprogram(name: "format", scope: !56, file: !56, line: 24, type: !532, isLocal: true, isDefinition: true, scopeLine: 24, isOptimized: false, unit: !1, variables: !534)
  3748. !532 = !DISubroutineType(types: !533)
  3749. !533 = !{!317, !310, !315, !294}
  3750. !534 = !{!535, !540, !542}
  3751. !535 = !DILocalVariable(name: "context", arg: 1, scope: !536, file: !56, line: 24, type: !310)
  3752. !536 = distinct !DILexicalBlock(scope: !537, file: !56, line: 25, column: 31)
  3753. !537 = distinct !DILexicalBlock(scope: !538, file: !56, line: 25, column: 5)
  3754. !538 = distinct !DILexicalBlock(scope: !539, file: !56, line: 24, column: 29)
  3755. !539 = distinct !DILexicalBlock(scope: !531, file: !56, line: 24, column: 15)
  3756. !540 = !DILocalVariable(name: "output", arg: 2, scope: !541, file: !56, line: 24, type: !315)
  3757. !541 = distinct !DILexicalBlock(scope: !536, file: !56, line: 24, column: 15)
  3758. !542 = !DILocalVariable(name: "arg2", arg: 3, scope: !543, file: !56, line: 25, type: !122)
  3759. !543 = distinct !DILexicalBlock(scope: !541, file: !56, line: 24, column: 29)
  3760. !544 = !DILocation(line: 24, column: 15, scope: !536)
  3761. !545 = !DILocation(line: 24, column: 29, scope: !541)
  3762. !546 = !DILocation(line: 25, column: 31, scope: !543)
  3763. !547 = !DILocation(line: 59, column: 57, scope: !548)
  3764. !548 = distinct !DILexicalBlock(scope: !549, file: !56, line: 58, column: 24)
  3765. !549 = distinct !DILexicalBlock(scope: !550, file: !56, line: 35, column: 29)
  3766. !550 = distinct !DILexicalBlock(scope: !551, file: !56, line: 35, column: 26)
  3767. !551 = distinct !DILexicalBlock(scope: !552, file: !56, line: 35, column: 23)
  3768. !552 = distinct !DILexicalBlock(scope: !553, file: !56, line: 33, column: 14)
  3769. !553 = distinct !DILexicalBlock(scope: !554, file: !56, line: 32, column: 14)
  3770. !554 = distinct !DILexicalBlock(scope: !555, file: !56, line: 31, column: 14)
  3771. !555 = distinct !DILexicalBlock(scope: !556, file: !56, line: 30, column: 14)
  3772. !556 = distinct !DILexicalBlock(scope: !557, file: !56, line: 29, column: 14)
  3773. !557 = distinct !DILexicalBlock(scope: !558, file: !56, line: 28, column: 14)
  3774. !558 = distinct !DILexicalBlock(scope: !559, file: !56, line: 27, column: 14)
  3775. !559 = distinct !DILexicalBlock(scope: !560, file: !56, line: 26, column: 1)
  3776. !560 = distinct !DILexicalBlock(scope: !543, file: !56, line: 25, column: 31)
  3777. !561 = !DILocation(line: 59, column: 66, scope: !548)
  3778. !562 = !DILocation(line: 59, column: 40, scope: !548)
  3779. !563 = !DILocation(line: 59, column: 21, scope: !548)
  3780. !564 = !DILocation(line: 162, column: 17, scope: !565)
  3781. !565 = distinct !DILexicalBlock(scope: !552, file: !56, line: 161, column: 32)
  3782. !566 = !DILocation(line: 162, column: 24, scope: !565)
  3783. !567 = !DILocation(line: 162, column: 23, scope: !565)
  3784. !568 = !DILocation(line: 162, column: 9, scope: !565)
  3785. !569 = !DILocation(line: 161, column: 5, scope: !560)
  3786. !570 = distinct !DISubprogram(name: "OutStream_write", scope: !311, file: !148, line: 476, type: !315, isLocal: true, isDefinition: true, scopeLine: 476, isOptimized: false, unit: !1, variables: !571)
  3787. !571 = !{!572, !573}
  3788. !572 = !DILocalVariable(name: "self", arg: 1, scope: !570, file: !148, line: 476, type: !310)
  3789. !573 = !DILocalVariable(name: "bytes", arg: 2, scope: !574, file: !148, line: 476, type: !122)
  3790. !574 = distinct !DILexicalBlock(scope: !570, file: !148, line: 476, column: 18)
  3791. !575 = !DILocation(line: 476, column: 18, scope: !570)
  3792. !576 = !DILocation(line: 476, column: 36, scope: !574)
  3793. !577 = !DILocation(line: 477, column: 20, scope: !578)
  3794. !578 = distinct !DILexicalBlock(scope: !579, file: !148, line: 476, column: 64)
  3795. !579 = distinct !DILexicalBlock(scope: !574, file: !148, line: 476, column: 36)
  3796. !580 = !DILocation(line: 477, column: 29, scope: !578)
  3797. !581 = !DILocation(line: 477, column: 28, scope: !578)
  3798. !582 = !DILocation(line: 477, column: 9, scope: !578)
  3799. !583 = distinct !DISubprogram(name: "isTty", scope: !143, file: !143, line: 1494, type: !584, isLocal: true, isDefinition: true, scopeLine: 1494, isOptimized: false, unit: !1, variables: !586)
  3800. !584 = !DISubroutineType(types: !585)
  3801. !585 = !{!98, !354}
  3802. !586 = !{!587}
  3803. !587 = !DILocalVariable(name: "handle", arg: 1, scope: !583, file: !143, line: 1494, type: !354)
  3804. !588 = !DILocation(line: 1494, column: 14, scope: !583)
  3805. !589 = !DILocation(line: 1499, column: 29, scope: !590)
  3806. !590 = distinct !DILexicalBlock(scope: !591, file: !143, line: 1498, column: 32)
  3807. !591 = distinct !DILexicalBlock(scope: !592, file: !143, line: 1497, column: 12)
  3808. !592 = distinct !DILexicalBlock(scope: !593, file: !143, line: 1494, column: 42)
  3809. !593 = distinct !DILexicalBlock(scope: !583, file: !143, line: 1494, column: 14)
  3810. !594 = !DILocation(line: 1499, column: 28, scope: !590)
  3811. !595 = !DILocation(line: 1499, column: 37, scope: !590)
  3812. !596 = !DILocation(line: 1499, column: 13, scope: !590)
  3813. !597 = distinct !DISubprogram(name: "File_openHandle", scope: !460, file: !148, line: 175, type: !598, isLocal: true, isDefinition: true, scopeLine: 175, isOptimized: false, unit: !1, variables: !600)
  3814. !598 = !DISubroutineType(types: !599)
  3815. !599 = !{!460, !465, !354}
  3816. !600 = !{!601}
  3817. !601 = !DILocalVariable(name: "handle", arg: 2, scope: !597, file: !148, line: 175, type: !354)
  3818. !602 = !DILocation(line: 175, column: 23, scope: !597)
  3819. !603 = !DILocation(line: 177, column: 23, scope: !604)
  3820. !604 = distinct !DILexicalBlock(scope: !605, file: !148, line: 175, column: 54)
  3821. !605 = distinct !DILexicalBlock(scope: !597, file: !148, line: 175, column: 23)
  3822. !606 = !DILocation(line: 176, column: 21, scope: !604)
  3823. !607 = !DILocation(line: 176, column: 9, scope: !604)
  3824. !608 = !DILocation(line: 0, scope: !597)
  3825. !609 = distinct !DISubprogram(name: "FileOutStream_writeFn", scope: !515, file: !148, line: 119, type: !315, isLocal: true, isDefinition: true, scopeLine: 119, isOptimized: false, unit: !1, variables: !610)
  3826. !610 = !{!611, !612, !614}
  3827. !611 = !DILocalVariable(name: "out_stream", arg: 1, scope: !609, file: !148, line: 119, type: !310)
  3828. !612 = !DILocalVariable(name: "bytes", arg: 2, scope: !613, file: !148, line: 119, type: !122)
  3829. !613 = distinct !DILexicalBlock(scope: !609, file: !148, line: 119, column: 16)
  3830. !614 = !DILocalVariable(name: "self", scope: !615, file: !148, line: 120, type: !521)
  3831. !615 = distinct !DILexicalBlock(scope: !616, file: !148, line: 119, column: 68)
  3832. !616 = distinct !DILexicalBlock(scope: !613, file: !148, line: 119, column: 40)
  3833. !617 = !DILocation(line: 119, column: 16, scope: !609)
  3834. !618 = !DILocation(line: 119, column: 40, scope: !613)
  3835. !619 = !DILocation(line: 120, column: 63, scope: !615)
  3836. !620 = !DILocation(line: 120, column: 22, scope: !615)
  3837. !621 = !DILocation(line: 120, column: 9, scope: !615)
  3838. !622 = !DILocation(line: 121, column: 20, scope: !623)
  3839. !623 = distinct !DILexicalBlock(scope: !615, file: !148, line: 120, column: 9)
  3840. !624 = !DILocation(line: 121, column: 25, scope: !623)
  3841. !625 = !DILocation(line: 121, column: 31, scope: !623)
  3842. !626 = !DILocation(line: 121, column: 9, scope: !623)
  3843. !627 = distinct !DISubprogram(name: "formatValue", scope: !56, file: !56, line: 166, type: !628, isLocal: true, isDefinition: true, scopeLine: 166, isOptimized: false, unit: !1, variables: !630)
  3844. !628 = !DISubroutineType(types: !629)
  3845. !629 = !{!317, !294, !310, !315}
  3846. !630 = !{!631, !635, !637, !639}
  3847. !631 = !DILocalVariable(name: "value", arg: 1, scope: !632, file: !56, line: 166, type: !122)
  3848. !632 = distinct !DILexicalBlock(scope: !633, file: !56, line: 166, column: 46)
  3849. !633 = distinct !DILexicalBlock(scope: !634, file: !56, line: 166, column: 32)
  3850. !634 = distinct !DILexicalBlock(scope: !627, file: !56, line: 166, column: 20)
  3851. !635 = !DILocalVariable(name: "context", arg: 2, scope: !636, file: !56, line: 166, type: !310)
  3852. !636 = distinct !DILexicalBlock(scope: !632, file: !56, line: 166, column: 20)
  3853. !637 = !DILocalVariable(name: "output", arg: 3, scope: !638, file: !56, line: 166, type: !315)
  3854. !638 = distinct !DILexicalBlock(scope: !636, file: !56, line: 166, column: 32)
  3855. !639 = !DILocalVariable(name: "casted_value", scope: !640, file: !56, line: 207, type: !122)
  3856. !640 = distinct !DILexicalBlock(scope: !641, file: !56, line: 206, column: 58)
  3857. !641 = distinct !DILexicalBlock(scope: !642, file: !56, line: 167, column: 5)
  3858. !642 = distinct !DILexicalBlock(scope: !643, file: !56, line: 166, column: 104)
  3859. !643 = distinct !DILexicalBlock(scope: !638, file: !56, line: 166, column: 46)
  3860. !644 = !DILocation(line: 166, column: 20, scope: !632)
  3861. !645 = !DILocation(line: 166, column: 32, scope: !636)
  3862. !646 = !DILocation(line: 166, column: 46, scope: !638)
  3863. !647 = !DILocation(line: 207, column: 13, scope: !640)
  3864. !648 = !DILocation(line: 208, column: 20, scope: !649)
  3865. !649 = distinct !DILexicalBlock(scope: !640, file: !56, line: 207, column: 13)
  3866. !650 = !DILocation(line: 208, column: 27, scope: !649)
  3867. !651 = !DILocation(line: 208, column: 26, scope: !649)
  3868. !652 = !DILocation(line: 208, column: 13, scope: !649)
  3869. !653 = !DILocation(line: 0, scope: !627)
  3870. !654 = distinct !DISubprogram(name: "File_write", scope: !460, file: !148, line: 326, type: !655, isLocal: true, isDefinition: true, scopeLine: 326, isOptimized: false, unit: !1, variables: !657)
  3871. !655 = !DISubroutineType(types: !656)
  3872. !656 = !{!317, !465, !294}
  3873. !657 = !{!658, !659}
  3874. !658 = !DILocalVariable(name: "self", arg: 1, scope: !654, file: !148, line: 326, type: !465)
  3875. !659 = !DILocalVariable(name: "bytes", arg: 2, scope: !660, file: !148, line: 326, type: !122)
  3876. !660 = distinct !DILexicalBlock(scope: !654, file: !148, line: 326, column: 14)
  3877. !661 = !DILocation(line: 326, column: 14, scope: !654)
  3878. !662 = !DILocation(line: 326, column: 27, scope: !660)
  3879. !663 = !DILocation(line: 328, column: 39, scope: !664)
  3880. !664 = distinct !DILexicalBlock(scope: !665, file: !148, line: 327, column: 23)
  3881. !665 = distinct !DILexicalBlock(scope: !666, file: !148, line: 326, column: 55)
  3882. !666 = distinct !DILexicalBlock(scope: !660, file: !148, line: 326, column: 27)
  3883. !667 = !DILocation(line: 328, column: 34, scope: !664)
  3884. !668 = !DILocation(line: 328, column: 13, scope: !664)
  3885. !669 = !DILocation(line: 327, column: 9, scope: !666)
  3886. !670 = distinct !DISubprogram(name: "posixWrite", scope: !143, file: !143, line: 219, type: !671, isLocal: true, isDefinition: true, scopeLine: 219, isOptimized: false, unit: !1, variables: !673)
  3887. !671 = !DISubroutineType(types: !672)
  3888. !672 = !{!317, !354, !294}
  3889. !673 = !{!674, !675, !677, !681}
  3890. !674 = !DILocalVariable(name: "fd", arg: 1, scope: !670, file: !143, line: 219, type: !354)
  3891. !675 = !DILocalVariable(name: "bytes", arg: 2, scope: !676, file: !143, line: 219, type: !122)
  3892. !676 = distinct !DILexicalBlock(scope: !670, file: !143, line: 219, column: 19)
  3893. !677 = !DILocalVariable(name: "write_ret", scope: !678, file: !143, line: 221, type: !128)
  3894. !678 = distinct !DILexicalBlock(scope: !679, file: !143, line: 220, column: 18)
  3895. !679 = distinct !DILexicalBlock(scope: !680, file: !143, line: 219, column: 56)
  3896. !680 = distinct !DILexicalBlock(scope: !676, file: !143, line: 219, column: 28)
  3897. !681 = !DILocalVariable(name: "write_err", scope: !682, file: !143, line: 222, type: !128)
  3898. !682 = distinct !DILexicalBlock(scope: !678, file: !143, line: 221, column: 9)
  3899. !683 = !DILocation(line: 219, column: 19, scope: !670)
  3900. !684 = !DILocation(line: 219, column: 28, scope: !676)
  3901. !685 = !DILocation(line: 220, column: 5, scope: !679)
  3902. !686 = !DILocation(line: 220, column: 12, scope: !679)
  3903. !687 = !DILocation(line: 221, column: 39, scope: !678)
  3904. !688 = !DILocation(line: 221, column: 48, scope: !678)
  3905. !689 = !DILocation(line: 221, column: 59, scope: !678)
  3906. !690 = !DILocation(line: 221, column: 38, scope: !678)
  3907. !691 = !DILocation(line: 221, column: 9, scope: !678)
  3908. !692 = !DILocation(line: 222, column: 42, scope: !682)
  3909. !693 = !DILocation(line: 222, column: 41, scope: !682)
  3910. !694 = !DILocation(line: 222, column: 9, scope: !682)
  3911. !695 = !DILocation(line: 223, column: 13, scope: !696)
  3912. !696 = distinct !DILexicalBlock(scope: !682, file: !143, line: 222, column: 9)
  3913. !697 = !DILocation(line: 223, column: 23, scope: !696)
  3914. !698 = !DILocation(line: 224, column: 20, scope: !699)
  3915. !699 = distinct !DILexicalBlock(scope: !696, file: !143, line: 223, column: 28)
  3916. !700 = !DILocation(line: 239, column: 9, scope: !696)
  3917. !701 = !DILocation(line: 225, column: 33, scope: !699)
  3918. !702 = !DILocation(line: 226, column: 47, scope: !699)
  3919. !703 = !DILocation(line: 236, column: 54, scope: !699)
  3920. !704 = !DILocation(line: 236, column: 53, scope: !699)
  3921. !705 = !DILocation(line: 224, column: 13, scope: !699)
  3922. !706 = distinct !DISubprogram(name: "write", scope: !153, file: !153, line: 155, type: !707, isLocal: true, isDefinition: true, scopeLine: 155, isOptimized: false, unit: !1, variables: !709)
  3923. !707 = !DISubroutineType(types: !708)
  3924. !708 = !{!128, !354, !125, !128}
  3925. !709 = !{!710, !711, !713}
  3926. !710 = !DILocalVariable(name: "fd", arg: 1, scope: !706, file: !153, line: 155, type: !354)
  3927. !711 = !DILocalVariable(name: "buf", arg: 2, scope: !712, file: !153, line: 155, type: !125)
  3928. !712 = distinct !DILexicalBlock(scope: !706, file: !153, line: 155, column: 14)
  3929. !713 = !DILocalVariable(name: "nbyte", arg: 3, scope: !714, file: !153, line: 155, type: !128)
  3930. !714 = distinct !DILexicalBlock(scope: !712, file: !153, line: 155, column: 23)
  3931. !715 = !DILocation(line: 155, column: 14, scope: !706)
  3932. !716 = !DILocation(line: 155, column: 23, scope: !712)
  3933. !717 = !DILocation(line: 155, column: 39, scope: !714)
  3934. !718 = !DILocation(line: 156, column: 23, scope: !719)
  3935. !719 = distinct !DILexicalBlock(scope: !720, file: !153, line: 155, column: 62)
  3936. !720 = distinct !DILexicalBlock(scope: !714, file: !153, line: 155, column: 39)
  3937. !721 = !DILocation(line: 156, column: 51, scope: !719)
  3938. !722 = !DILocation(line: 156, column: 57, scope: !719)
  3939. !723 = !DILocation(line: 156, column: 22, scope: !719)
  3940. !724 = !DILocation(line: 156, column: 14, scope: !719)
  3941. !725 = !DILocation(line: 156, column: 14, scope: !720)
  3942. !726 = distinct !DISubprogram(name: "getErrno", scope: !153, file: !153, line: 110, type: !727, isLocal: true, isDefinition: true, scopeLine: 110, isOptimized: false, unit: !1, variables: !729)
  3943. !727 = !DISubroutineType(types: !728)
  3944. !728 = !{!128, !128}
  3945. !729 = !{!730, !731}
  3946. !730 = !DILocalVariable(name: "r", arg: 1, scope: !726, file: !153, line: 110, type: !128)
  3947. !731 = !DILocalVariable(name: "signed_r", scope: !732, file: !153, line: 111, type: !734)
  3948. !732 = distinct !DILexicalBlock(scope: !733, file: !153, line: 110, column: 36)
  3949. !733 = distinct !DILexicalBlock(scope: !726, file: !153, line: 110, column: 17)
  3950. !734 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
  3951. !735 = !DILocation(line: 110, column: 17, scope: !726)
  3952. !736 = !DILocation(line: 111, column: 38, scope: !732)
  3953. !737 = !DILocation(line: 111, column: 5, scope: !732)
  3954. !738 = !DILocation(line: 112, column: 9, scope: !739)
  3955. !739 = distinct !DILexicalBlock(scope: !732, file: !153, line: 111, column: 5)
  3956. !740 = !DILocation(line: 112, column: 18, scope: !739)
  3957. !741 = !DILocation(line: 112, column: 26, scope: !739)
  3958. !742 = !DILocation(line: 112, column: 30, scope: !739)
  3959. !743 = !DILocation(line: 112, column: 39, scope: !739)
  3960. !744 = !DILocation(line: 112, column: 51, scope: !739)
  3961. !745 = !DILocation(line: 112, column: 50, scope: !739)
  3962. !746 = !DILocation(line: 112, column: 5, scope: !739)
  3963. !747 = !DILocation(line: 112, column: 5, scope: !733)
  3964. !748 = !DILocation(line: 112, column: 49, scope: !739)
  3965. !749 = distinct !DISubprogram(name: "unexpectedErrorPosix", scope: !143, file: !143, line: 1464, type: !750, isLocal: true, isDefinition: true, scopeLine: 1464, isOptimized: false, unit: !1, variables: !752)
  3966. !750 = !DISubroutineType(types: !751)
  3967. !751 = !{!317, !128}
  3968. !752 = !{!753}
  3969. !753 = !DILocalVariable(name: "errno", arg: 1, scope: !749, file: !143, line: 1464, type: !128)
  3970. !754 = !DILocation(line: 1464, column: 29, scope: !749)
  3971. !755 = !DILocation(line: 1469, column: 5, scope: !756)
  3972. !756 = distinct !DILexicalBlock(scope: !757, file: !143, line: 1464, column: 52)
  3973. !757 = distinct !DILexicalBlock(scope: !749, file: !143, line: 1464, column: 29)
  3974. !758 = distinct !DISubprogram(name: "errnoWrap", scope: !153, file: !153, line: 287, type: !759, isLocal: true, isDefinition: true, scopeLine: 287, isOptimized: false, unit: !1, variables: !761)
  3975. !759 = !DISubroutineType(types: !760)
  3976. !760 = !{!128, !734}
  3977. !761 = !{!762}
  3978. !762 = !DILocalVariable(name: "value", arg: 1, scope: !758, file: !153, line: 287, type: !734)
  3979. !763 = !DILocation(line: 287, column: 14, scope: !758)
  3980. !764 = !DILocation(line: 288, column: 25, scope: !765)
  3981. !765 = distinct !DILexicalBlock(scope: !766, file: !153, line: 287, column: 37)
  3982. !766 = distinct !DILexicalBlock(scope: !758, file: !153, line: 287, column: 14)
  3983. !767 = !DILocation(line: 288, column: 31, scope: !765)
  3984. !768 = !DILocation(line: 289, column: 25, scope: !769)
  3985. !769 = distinct !DILexicalBlock(scope: !765, file: !153, line: 288, column: 38)
  3986. !770 = !DILocation(line: 289, column: 16, scope: !769)
  3987. !771 = !DILocation(line: 289, column: 15, scope: !769)
  3988. !772 = !DILocation(line: 289, column: 9, scope: !769)
  3989. !773 = !DILocation(line: 291, column: 9, scope: !774)
  3990. !774 = distinct !DILexicalBlock(scope: !765, file: !153, line: 290, column: 12)
  3991. !775 = !DILocation(line: 288, column: 21, scope: !765)
  3992. !776 = !DILocation(line: 288, column: 5, scope: !766)
  3993. ; ModuleID = 'compiler_rt'
  3994. source_filename = "compiler_rt"
  3995. target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
  3996. target triple = "x86_64-apple-darwin-unknown"
  3997.  
  3998. %"[]u8.0" = type { i8*, i64 }
  3999. %AeabiUlDivModResult = type { i64, i64 }
  4000.  
  4001. @is_test = internal unnamed_addr constant i1 false, align 1
  4002. @linkage = internal unnamed_addr constant i2 -2, align 1
  4003. @__udivmoddi4.0 = internal unnamed_addr constant i64 (i64, i64, i64*)* @__udivmoddi4, align 8
  4004. @arch = internal unnamed_addr constant i7 48, align 1
  4005. @os = internal unnamed_addr constant i5 3, align 1
  4006. @win32 = internal unnamed_addr constant i1 false, align 1
  4007. @win64 = internal unnamed_addr constant i1 false, align 1
  4008. @signBit = internal unnamed_addr constant i128 -170141183460469231731687303715884105728, align 8
  4009. @absMask = internal unnamed_addr constant i128 170141183460469231731687303715884105727, align 8
  4010. @implicitBit = internal unnamed_addr constant i128 5192296858534827628530496329220096, align 8
  4011. @significandMask = internal unnamed_addr constant i128 5192296858534827628530496329220095, align 8
  4012. @exponentMask = internal unnamed_addr constant i128 170135991163610696904058773219554885632, align 8
  4013. @LE_UNORDERED = internal unnamed_addr constant i32 1, align 4
  4014. @LE_EQUAL = internal unnamed_addr constant i32 0, align 4
  4015. @LE_LESS = internal unnamed_addr constant i32 -1, align 4
  4016. @LE_GREATER = internal unnamed_addr constant i32 1, align 4
  4017. @GE_UNORDERED = internal unnamed_addr constant i32 -1, align 4
  4018. @GE_EQUAL = internal unnamed_addr constant i32 0, align 4
  4019. @GE_LESS = internal unnamed_addr constant i32 -1, align 4
  4020. @GE_GREATER = internal unnamed_addr constant i32 1, align 4
  4021. @__udivmodti4.0 = internal unnamed_addr constant i128 (i128, i128, i128*)* @__udivmodti4, align 8
  4022. @__udivmodti4.0.1 = internal unnamed_addr constant i128 (i128, i128, i128*)* @__udivmodti4, align 8
  4023. @is_win32 = internal unnamed_addr constant i1 false, align 1
  4024. @is_win32.2 = internal unnamed_addr constant i1 false, align 1
  4025. @is_big_endian = internal unnamed_addr constant i1 false, align 1
  4026. @0 = internal unnamed_addr constant i8* getelementptr inbounds ([24 x i8], [24 x i8]* @1, i64 0, i64 0), align 8
  4027. @1 = internal unnamed_addr constant [24 x i8] c"reached unreachable code", align 1
  4028. @2 = internal unnamed_addr constant %"[]u8.0" { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @1, i64 0, i64 0), i64 24 }, align 8
  4029. @3 = internal unnamed_addr constant [2 x i32] undef, align 4
  4030. @4 = internal unnamed_addr constant [2 x i32] undef, align 4
  4031. @5 = internal unnamed_addr constant [2 x i64] undef, align 8
  4032. @6 = internal unnamed_addr constant [2 x i64] undef, align 8
  4033.  
  4034. ; Function Attrs: nobuiltin nounwind
  4035. define weak_odr i64 @__udivmoddi4(i64, i64, i64*) #0 !dbg !266 {
  4036. Entry:
  4037. %a = alloca i64, align 8
  4038. %b = alloca i64, align 8
  4039. %maybe_rem = alloca i64*, align 8
  4040. store i64 %0, i64* %a, align 8
  4041. call void @llvm.dbg.declare(metadata i64* %a, metadata !272, metadata !277), !dbg !278
  4042. store i64 %1, i64* %b, align 8
  4043. call void @llvm.dbg.declare(metadata i64* %b, metadata !273, metadata !277), !dbg !279
  4044. store i64* %2, i64** %maybe_rem, align 8
  4045. call void @llvm.dbg.declare(metadata i64** %maybe_rem, metadata !275, metadata !277), !dbg !280
  4046. %3 = load i64, i64* %a, align 8, !dbg !281
  4047. %4 = load i64, i64* %b, align 8, !dbg !284
  4048. %5 = load i64*, i64** %maybe_rem, align 8, !dbg !285
  4049. %6 = call fastcc i64 @udivmod(i64 %3, i64 %4, i64* %5), !dbg !286
  4050. ret i64 %6, !dbg !287
  4051. }
  4052.  
  4053. ; Function Attrs: nobuiltin nounwind
  4054. define weak_odr i128 @__udivmodti4(i128, i128, i128*) #0 !dbg !288 {
  4055. Entry:
  4056. %a = alloca i128, align 8
  4057. %b = alloca i128, align 8
  4058. %maybe_rem = alloca i128*, align 8
  4059. store i128 %0, i128* %a, align 8
  4060. call void @llvm.dbg.declare(metadata i128* %a, metadata !293, metadata !277), !dbg !298
  4061. store i128 %1, i128* %b, align 8
  4062. call void @llvm.dbg.declare(metadata i128* %b, metadata !294, metadata !277), !dbg !299
  4063. store i128* %2, i128** %maybe_rem, align 8
  4064. call void @llvm.dbg.declare(metadata i128** %maybe_rem, metadata !296, metadata !277), !dbg !300
  4065. %3 = load i128, i128* %a, align 8, !dbg !301
  4066. %4 = load i128, i128* %b, align 8, !dbg !304
  4067. %5 = load i128*, i128** %maybe_rem, align 8, !dbg !305
  4068. %6 = call fastcc i128 @udivmod.11(i128 %3, i128 %4, i128* %5), !dbg !306
  4069. ret i128 %6, !dbg !307
  4070. }
  4071.  
  4072. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  4073. define internal coldcc void @panic(%"[]u8.0"* byval nonnull readonly) unnamed_addr #1 !dbg !308 {
  4074. Entry:
  4075. call void @llvm.dbg.declare(metadata %"[]u8.0"* %0, metadata !320, metadata !277), !dbg !321
  4076. call coldcc void @panic(%"[]u8.0"* @2), !dbg !322
  4077. unreachable, !dbg !322
  4078. }
  4079.  
  4080. ; Function Attrs: nounwind readnone speculatable
  4081. declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
  4082.  
  4083. ; Function Attrs: nobuiltin nounwind
  4084. define weak_odr i64 @__udivdi3(i64, i64) #0 !dbg !326 {
  4085. Entry:
  4086. %a = alloca i64, align 8
  4087. %b = alloca i64, align 8
  4088. store i64 %0, i64* %a, align 8
  4089. call void @llvm.dbg.declare(metadata i64* %a, metadata !330, metadata !277), !dbg !333
  4090. store i64 %1, i64* %b, align 8
  4091. call void @llvm.dbg.declare(metadata i64* %b, metadata !331, metadata !277), !dbg !334
  4092. %2 = load i64, i64* %a, align 8, !dbg !335
  4093. %3 = load i64, i64* %b, align 8, !dbg !338
  4094. %4 = call i64 @__udivmoddi4(i64 %2, i64 %3, i64* null), !dbg !339
  4095. ret i64 %4, !dbg !340
  4096. }
  4097.  
  4098. ; Function Attrs: nobuiltin nounwind
  4099. define weak_odr i64 @__umoddi3(i64, i64) #0 !dbg !341 {
  4100. Entry:
  4101. %a = alloca i64, align 8
  4102. %b = alloca i64, align 8
  4103. %r = alloca i64, align 8
  4104. store i64 %0, i64* %a, align 8
  4105. call void @llvm.dbg.declare(metadata i64* %a, metadata !343, metadata !277), !dbg !349
  4106. store i64 %1, i64* %b, align 8
  4107. call void @llvm.dbg.declare(metadata i64* %b, metadata !344, metadata !277), !dbg !350
  4108. call void @llvm.dbg.declare(metadata i64* %r, metadata !346, metadata !277), !dbg !351
  4109. %2 = load i64, i64* %a, align 8, !dbg !352
  4110. %3 = load i64, i64* %b, align 8, !dbg !354
  4111. %4 = call i64 @__udivmoddi4(i64 %2, i64 %3, i64* %r), !dbg !355
  4112. %5 = load i64, i64* %r, align 8, !dbg !356
  4113. ret i64 %5, !dbg !357
  4114. }
  4115.  
  4116. ; Function Attrs: nobuiltin nounwind
  4117. define internal %AeabiUlDivModResult @__aeabi_uldivmod.0(i64, i64) unnamed_addr #0 !dbg !358 {
  4118. Entry:
  4119. %numerator = alloca i64, align 8
  4120. %denominator = alloca i64, align 8
  4121. store i64 %0, i64* %numerator, align 8
  4122. call void @llvm.dbg.declare(metadata i64* %numerator, metadata !366, metadata !277), !dbg !369
  4123. store i64 %1, i64* %denominator, align 8
  4124. call void @llvm.dbg.declare(metadata i64* %denominator, metadata !367, metadata !277), !dbg !370
  4125. unreachable, !dbg !371
  4126. }
  4127.  
  4128. ; Function Attrs: naked nobuiltin nounwind
  4129. define internal void @__aeabi_uidivmod.0() unnamed_addr #3 !dbg !374 {
  4130. Entry:
  4131. ret void, !dbg !378
  4132. }
  4133.  
  4134. ; Function Attrs: naked nobuiltin nounwind
  4135. define internal void @_chkstk.0() unnamed_addr #3 !dbg !379 {
  4136. Entry:
  4137. ret void, !dbg !380
  4138. }
  4139.  
  4140. ; Function Attrs: naked nobuiltin nounwind
  4141. define internal void @__chkstk.0() unnamed_addr #3 !dbg !381 {
  4142. Entry:
  4143. ret void, !dbg !382
  4144. }
  4145.  
  4146. ; Function Attrs: naked nobuiltin nounwind
  4147. define internal void @__chkstk_ms.0() unnamed_addr #3 !dbg !383 {
  4148. Entry:
  4149. ret void, !dbg !384
  4150. }
  4151.  
  4152. ; Function Attrs: naked nobuiltin nounwind
  4153. define internal void @___chkstk_ms.0() unnamed_addr #3 !dbg !385 {
  4154. Entry:
  4155. ret void, !dbg !386
  4156. }
  4157.  
  4158. ; Function Attrs: nobuiltin nounwind
  4159. define weak_odr i32 @__udivmodsi4(i32, i32, i32* nonnull) #0 !dbg !387 {
  4160. Entry:
  4161. %a = alloca i32, align 4
  4162. %b = alloca i32, align 4
  4163. %rem = alloca i32*, align 8
  4164. %d = alloca i32, align 4
  4165. store i32 %0, i32* %a, align 4
  4166. call void @llvm.dbg.declare(metadata i32* %a, metadata !393, metadata !277), !dbg !401
  4167. store i32 %1, i32* %b, align 4
  4168. call void @llvm.dbg.declare(metadata i32* %b, metadata !394, metadata !277), !dbg !402
  4169. store i32* %2, i32** %rem, align 8
  4170. call void @llvm.dbg.declare(metadata i32** %rem, metadata !396, metadata !277), !dbg !403
  4171. %3 = load i32, i32* %a, align 4, !dbg !404
  4172. %4 = load i32, i32* %b, align 4, !dbg !405
  4173. %5 = call i32 @__udivsi3(i32 %3, i32 %4), !dbg !406
  4174. store i32 %5, i32* %d, align 4, !dbg !407
  4175. call void @llvm.dbg.declare(metadata i32* %d, metadata !398, metadata !277), !dbg !407
  4176. %6 = load i32*, i32** %rem, align 8, !dbg !408
  4177. %7 = load i32, i32* %a, align 4, !dbg !410
  4178. %8 = load i32, i32* %d, align 4, !dbg !411
  4179. %9 = load i32, i32* %b, align 4, !dbg !412
  4180. %10 = mul nsw i32 %8, %9, !dbg !413
  4181. %11 = sub i32 %7, %10, !dbg !414
  4182. store i32 %11, i32* %6, align 4, !dbg !415
  4183. %12 = load i32, i32* %d, align 4, !dbg !416
  4184. ret i32 %12, !dbg !417
  4185. }
  4186.  
  4187. ; Function Attrs: nobuiltin nounwind
  4188. define weak_odr i32 @__udivsi3(i32, i32) #0 !dbg !418 {
  4189. Entry:
  4190. %n = alloca i32, align 4
  4191. %d = alloca i32, align 4
  4192. %n_uword_bits = alloca i32, align 4
  4193. %sr = alloca i32, align 4
  4194. %q = alloca i32, align 4
  4195. %r = alloca i32, align 4
  4196. %carry = alloca i32, align 4
  4197. %s = alloca i32, align 4
  4198. store i32 %0, i32* %n, align 4
  4199. call void @llvm.dbg.declare(metadata i32* %n, metadata !422, metadata !277), !dbg !441
  4200. store i32 %1, i32* %d, align 4
  4201. call void @llvm.dbg.declare(metadata i32* %d, metadata !423, metadata !277), !dbg !442
  4202. store i32 32, i32* %n_uword_bits, align 4, !dbg !443
  4203. call void @llvm.dbg.declare(metadata i32* %n_uword_bits, metadata !425, metadata !277), !dbg !443
  4204. %2 = load i32, i32* %d, align 4, !dbg !444
  4205. %3 = icmp eq i32 %2, 0, !dbg !445
  4206. br i1 %3, label %Then, label %Else, !dbg !445
  4207.  
  4208. Then: ; preds = %Entry
  4209. ret i32 0, !dbg !446
  4210.  
  4211. Else: ; preds = %Entry
  4212. br label %EndIf, !dbg !447
  4213.  
  4214. EndIf: ; preds = %Else
  4215. %4 = load i32, i32* %n, align 4, !dbg !448
  4216. %5 = icmp eq i32 %4, 0, !dbg !449
  4217. br i1 %5, label %Then1, label %Else2, !dbg !449
  4218.  
  4219. Then1: ; preds = %EndIf
  4220. ret i32 0, !dbg !450
  4221.  
  4222. Else2: ; preds = %EndIf
  4223. br label %EndIf3, !dbg !451
  4224.  
  4225. EndIf3: ; preds = %Else2
  4226. %6 = load i32, i32* %d, align 4, !dbg !452
  4227. %7 = call i32 @llvm.ctlz.i32(i32 %6, i1 false), !dbg !453
  4228. %8 = trunc i32 %7 to i6, !dbg !453
  4229. %9 = zext i6 %8 to i32, !dbg !454
  4230. %10 = load i32, i32* %n, align 4, !dbg !455
  4231. %11 = call i32 @llvm.ctlz.i32(i32 %10, i1 false), !dbg !456
  4232. %12 = trunc i32 %11 to i6, !dbg !456
  4233. %13 = zext i6 %12 to i32, !dbg !457
  4234. %14 = sub nsw i32 %9, %13, !dbg !458
  4235. store i32 %14, i32* %sr, align 4, !dbg !459
  4236. call void @llvm.dbg.declare(metadata i32* %sr, metadata !429, metadata !277), !dbg !459
  4237. %15 = load i32, i32* %sr, align 4, !dbg !460
  4238. %16 = icmp ugt i32 %15, 31, !dbg !461
  4239. br i1 %16, label %Then4, label %Else5, !dbg !461
  4240.  
  4241. Then4: ; preds = %EndIf3
  4242. ret i32 0, !dbg !462
  4243.  
  4244. Else5: ; preds = %EndIf3
  4245. br label %EndIf6, !dbg !463
  4246.  
  4247. EndIf6: ; preds = %Else5
  4248. %17 = load i32, i32* %sr, align 4, !dbg !464
  4249. %18 = icmp eq i32 %17, 31, !dbg !465
  4250. br i1 %18, label %Then7, label %Else8, !dbg !465
  4251.  
  4252. Then7: ; preds = %EndIf6
  4253. %19 = load i32, i32* %n, align 4, !dbg !466
  4254. ret i32 %19, !dbg !467
  4255.  
  4256. Else8: ; preds = %EndIf6
  4257. %20 = load i32, i32* %sr, align 4, !dbg !468
  4258. %21 = add nuw i32 %20, 1, !dbg !469
  4259. store i32 %21, i32* %sr, align 4, !dbg !469
  4260. %22 = load i32, i32* %n, align 4, !dbg !470
  4261. %23 = load i32, i32* %sr, align 4, !dbg !471
  4262. %24 = sub nuw i32 32, %23, !dbg !472
  4263. %25 = trunc i32 %24 to i5, !dbg !473
  4264. %26 = zext i5 %25 to i32, !dbg !474
  4265. %27 = shl i32 %22, %26, !dbg !474
  4266. store i32 %27, i32* %q, align 4, !dbg !475
  4267. call void @llvm.dbg.declare(metadata i32* %q, metadata !431, metadata !277), !dbg !475
  4268. %28 = load i32, i32* %n, align 4, !dbg !476
  4269. %29 = load i32, i32* %sr, align 4, !dbg !477
  4270. %30 = trunc i32 %29 to i5, !dbg !478
  4271. %31 = zext i5 %30 to i32, !dbg !479
  4272. %32 = lshr i32 %28, %31, !dbg !479
  4273. store i32 %32, i32* %r, align 4, !dbg !480
  4274. call void @llvm.dbg.declare(metadata i32* %r, metadata !433, metadata !277), !dbg !480
  4275. store i32 0, i32* %carry, align 4, !dbg !481
  4276. call void @llvm.dbg.declare(metadata i32* %carry, metadata !435, metadata !277), !dbg !481
  4277. br label %WhileCond, !dbg !482
  4278.  
  4279. WhileCond: ; preds = %WhileBody, %Else8
  4280. %33 = load i32, i32* %sr, align 4, !dbg !483
  4281. %34 = icmp ugt i32 %33, 0, !dbg !484
  4282. br i1 %34, label %WhileBody, label %WhileEnd, !dbg !484
  4283.  
  4284. WhileBody: ; preds = %WhileCond
  4285. %35 = load i32, i32* %r, align 4, !dbg !485
  4286. %36 = shl i32 %35, 1, !dbg !486
  4287. %37 = load i32, i32* %q, align 4, !dbg !487
  4288. %38 = lshr i32 %37, 31, !dbg !488
  4289. %39 = or i32 %36, %38, !dbg !489
  4290. store i32 %39, i32* %r, align 4, !dbg !490
  4291. %40 = load i32, i32* %q, align 4, !dbg !491
  4292. %41 = shl i32 %40, 1, !dbg !492
  4293. %42 = load i32, i32* %carry, align 4, !dbg !493
  4294. %43 = or i32 %41, %42, !dbg !494
  4295. store i32 %43, i32* %q, align 4, !dbg !495
  4296. %44 = load i32, i32* %d, align 4, !dbg !496
  4297. %45 = load i32, i32* %r, align 4, !dbg !497
  4298. %46 = sub i32 %44, %45, !dbg !498
  4299. %47 = sub i32 %46, 1, !dbg !499
  4300. %48 = ashr i32 %47, 31, !dbg !500
  4301. store i32 %48, i32* %s, align 4, !dbg !501
  4302. call void @llvm.dbg.declare(metadata i32* %s, metadata !437, metadata !277), !dbg !501
  4303. %49 = load i32, i32* %s, align 4, !dbg !502
  4304. %50 = and i32 %49, 1, !dbg !504
  4305. store i32 %50, i32* %carry, align 4, !dbg !505
  4306. %51 = load i32, i32* %r, align 4, !dbg !506
  4307. %52 = load i32, i32* %d, align 4, !dbg !507
  4308. %53 = load i32, i32* %s, align 4, !dbg !508
  4309. %54 = and i32 %52, %53, !dbg !509
  4310. %55 = sub nuw i32 %51, %54, !dbg !510
  4311. store i32 %55, i32* %r, align 4, !dbg !510
  4312. %56 = load i32, i32* %sr, align 4, !dbg !511
  4313. %57 = sub nuw i32 %56, 1, !dbg !512
  4314. store i32 %57, i32* %sr, align 4, !dbg !512
  4315. br label %WhileCond, !dbg !482
  4316.  
  4317. WhileEnd: ; preds = %WhileCond
  4318. %58 = load i32, i32* %q, align 4, !dbg !513
  4319. %59 = shl i32 %58, 1, !dbg !514
  4320. %60 = load i32, i32* %carry, align 4, !dbg !515
  4321. %61 = or i32 %59, %60, !dbg !516
  4322. store i32 %61, i32* %q, align 4, !dbg !517
  4323. %62 = load i32, i32* %q, align 4, !dbg !518
  4324. ret i32 %62, !dbg !519
  4325. }
  4326.  
  4327. ; Function Attrs: nobuiltin nounwind
  4328. define weak_odr i32 @__aeabi_uidiv(i32, i32) #0 !dbg !520 {
  4329. Entry:
  4330. %n = alloca i32, align 4
  4331. %d = alloca i32, align 4
  4332. store i32 %0, i32* %n, align 4
  4333. call void @llvm.dbg.declare(metadata i32* %n, metadata !522, metadata !277), !dbg !525
  4334. store i32 %1, i32* %d, align 4
  4335. call void @llvm.dbg.declare(metadata i32* %d, metadata !523, metadata !277), !dbg !526
  4336. %2 = load i32, i32* %n, align 4, !dbg !527
  4337. %3 = load i32, i32* %d, align 4, !dbg !530
  4338. %4 = call i32 @__udivsi3(i32 %2, i32 %3), !dbg !531
  4339. ret i32 %4, !dbg !532
  4340. }
  4341.  
  4342. ; Function Attrs: nounwind readnone speculatable
  4343. declare i32 @llvm.ctlz.i32(i32, i1) #2
  4344.  
  4345. ; Function Attrs: nobuiltin nounwind
  4346. define weak_odr i32 @__letf2(fp128, fp128) #0 !dbg !533 {
  4347. Entry:
  4348. %a = alloca fp128, align 16
  4349. %b = alloca fp128, align 16
  4350. %aInt = alloca i128, align 8
  4351. %bInt = alloca i128, align 8
  4352. %aAbs = alloca i128, align 8
  4353. %bAbs = alloca i128, align 8
  4354. store fp128 %0, fp128* %a, align 16
  4355. call void @llvm.dbg.declare(metadata fp128* %a, metadata !538, metadata !277), !dbg !550
  4356. store fp128 %1, fp128* %b, align 16
  4357. call void @llvm.dbg.declare(metadata fp128* %b, metadata !539, metadata !277), !dbg !551
  4358. %2 = load fp128, fp128* %a, align 16, !dbg !552
  4359. %3 = bitcast fp128 %2 to i128, !dbg !553
  4360. store i128 %3, i128* %aInt, align 8, !dbg !554
  4361. call void @llvm.dbg.declare(metadata i128* %aInt, metadata !541, metadata !277), !dbg !554
  4362. %4 = load fp128, fp128* %b, align 16, !dbg !555
  4363. %5 = bitcast fp128 %4 to i128, !dbg !556
  4364. store i128 %5, i128* %bInt, align 8, !dbg !557
  4365. call void @llvm.dbg.declare(metadata i128* %bInt, metadata !544, metadata !277), !dbg !557
  4366. %6 = load i128, i128* %aInt, align 8, !dbg !558
  4367. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !559
  4368. store i128 %7, i128* %aAbs, align 8, !dbg !560
  4369. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !546, metadata !277), !dbg !560
  4370. %8 = load i128, i128* %bInt, align 8, !dbg !561
  4371. %9 = and i128 %8, 170141183460469231731687303715884105727, !dbg !562
  4372. store i128 %9, i128* %bAbs, align 8, !dbg !563
  4373. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !548, metadata !277), !dbg !563
  4374. %10 = load i128, i128* %aAbs, align 8, !dbg !564
  4375. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !566
  4376. br i1 %11, label %BoolOrTrue, label %BoolOrFalse, !dbg !567
  4377.  
  4378. BoolOrFalse: ; preds = %Entry
  4379. %12 = load i128, i128* %bAbs, align 8, !dbg !568
  4380. %13 = icmp ugt i128 %12, 170135991163610696904058773219554885632, !dbg !569
  4381. br label %BoolOrTrue, !dbg !567
  4382.  
  4383. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  4384. %14 = phi i1 [ %11, %Entry ], [ %13, %BoolOrFalse ], !dbg !567
  4385. br i1 %14, label %Then, label %Else, !dbg !567
  4386.  
  4387. Then: ; preds = %BoolOrTrue
  4388. ret i32 1, !dbg !570
  4389.  
  4390. Else: ; preds = %BoolOrTrue
  4391. br label %EndIf, !dbg !571
  4392.  
  4393. EndIf: ; preds = %Else
  4394. %15 = load i128, i128* %aAbs, align 8, !dbg !572
  4395. %16 = load i128, i128* %bAbs, align 8, !dbg !573
  4396. %17 = or i128 %15, %16, !dbg !574
  4397. %18 = icmp eq i128 %17, 0, !dbg !575
  4398. br i1 %18, label %Then1, label %Else2, !dbg !575
  4399.  
  4400. Then1: ; preds = %EndIf
  4401. ret i32 0, !dbg !576
  4402.  
  4403. Else2: ; preds = %EndIf
  4404. br label %EndIf3, !dbg !577
  4405.  
  4406. EndIf3: ; preds = %Else2
  4407. %19 = load i128, i128* %aInt, align 8, !dbg !578
  4408. %20 = load i128, i128* %bInt, align 8, !dbg !579
  4409. %21 = load i128, i128* %aInt, align 8, !dbg !580
  4410. %22 = load i128, i128* %bInt, align 8, !dbg !582
  4411. %23 = icmp ult i128 %21, %22, !dbg !583
  4412. br i1 %23, label %Then4, label %Else5, !dbg !583
  4413.  
  4414. Then4: ; preds = %EndIf3
  4415. br label %EndIf9, !dbg !584
  4416.  
  4417. Else5: ; preds = %EndIf3
  4418. %24 = load i128, i128* %aInt, align 8, !dbg !585
  4419. %25 = load i128, i128* %bInt, align 8, !dbg !586
  4420. %26 = icmp eq i128 %24, %25, !dbg !587
  4421. br i1 %26, label %Then6, label %Else7, !dbg !587
  4422.  
  4423. Then6: ; preds = %Else5
  4424. br label %EndIf8, !dbg !588
  4425.  
  4426. Else7: ; preds = %Else5
  4427. br label %EndIf8, !dbg !588
  4428.  
  4429. EndIf8: ; preds = %Else7, %Then6
  4430. %27 = phi i32 [ 0, %Then6 ], [ 1, %Else7 ], !dbg !588
  4431. br label %EndIf9, !dbg !584
  4432.  
  4433. EndIf9: ; preds = %EndIf8, %Then4
  4434. %28 = phi i32 [ -1, %Then4 ], [ %27, %EndIf8 ], !dbg !584
  4435. ret i32 %28, !dbg !589
  4436. }
  4437.  
  4438. ; Function Attrs: nobuiltin nounwind
  4439. define weak_odr i32 @__cmptf2(fp128, fp128) #0 !dbg !590 {
  4440. Entry:
  4441. %a = alloca fp128, align 16
  4442. %b = alloca fp128, align 16
  4443. store fp128 %0, fp128* %a, align 16
  4444. call void @llvm.dbg.declare(metadata fp128* %a, metadata !592, metadata !277), !dbg !595
  4445. store fp128 %1, fp128* %b, align 16
  4446. call void @llvm.dbg.declare(metadata fp128* %b, metadata !593, metadata !277), !dbg !596
  4447. %2 = load fp128, fp128* %a, align 16, !dbg !597
  4448. %3 = load fp128, fp128* %b, align 16, !dbg !600
  4449. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !601
  4450. ret i32 %4, !dbg !602
  4451. }
  4452.  
  4453. ; Function Attrs: nobuiltin nounwind
  4454. define weak_odr i32 @__getf2(fp128, fp128) #0 !dbg !603 {
  4455. Entry:
  4456. %a = alloca fp128, align 16
  4457. %b = alloca fp128, align 16
  4458. %aInt = alloca i128, align 8
  4459. %bInt = alloca i128, align 8
  4460. %aAbs = alloca i128, align 8
  4461. %bAbs = alloca i128, align 8
  4462. store fp128 %0, fp128* %a, align 16
  4463. call void @llvm.dbg.declare(metadata fp128* %a, metadata !605, metadata !277), !dbg !618
  4464. store fp128 %1, fp128* %b, align 16
  4465. call void @llvm.dbg.declare(metadata fp128* %b, metadata !606, metadata !277), !dbg !619
  4466. %2 = load fp128, fp128* %a, align 16, !dbg !620
  4467. %3 = bitcast fp128 %2 to i128, !dbg !621
  4468. store i128 %3, i128* %aInt, align 8, !dbg !622
  4469. call void @llvm.dbg.declare(metadata i128* %aInt, metadata !608, metadata !277), !dbg !622
  4470. %4 = load fp128, fp128* %b, align 16, !dbg !623
  4471. %5 = bitcast fp128 %4 to i128, !dbg !624
  4472. store i128 %5, i128* %bInt, align 8, !dbg !625
  4473. call void @llvm.dbg.declare(metadata i128* %bInt, metadata !612, metadata !277), !dbg !625
  4474. %6 = load i128, i128* %aInt, align 8, !dbg !626
  4475. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !627
  4476. store i128 %7, i128* %aAbs, align 8, !dbg !628
  4477. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !614, metadata !277), !dbg !628
  4478. %8 = load i128, i128* %bInt, align 8, !dbg !629
  4479. %9 = and i128 %8, 170141183460469231731687303715884105727, !dbg !630
  4480. store i128 %9, i128* %bAbs, align 8, !dbg !631
  4481. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !616, metadata !277), !dbg !631
  4482. %10 = load i128, i128* %aAbs, align 8, !dbg !632
  4483. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !634
  4484. br i1 %11, label %BoolOrTrue, label %BoolOrFalse, !dbg !635
  4485.  
  4486. BoolOrFalse: ; preds = %Entry
  4487. %12 = load i128, i128* %bAbs, align 8, !dbg !636
  4488. %13 = icmp ugt i128 %12, 170135991163610696904058773219554885632, !dbg !637
  4489. br label %BoolOrTrue, !dbg !635
  4490.  
  4491. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  4492. %14 = phi i1 [ %11, %Entry ], [ %13, %BoolOrFalse ], !dbg !635
  4493. br i1 %14, label %Then, label %Else, !dbg !635
  4494.  
  4495. Then: ; preds = %BoolOrTrue
  4496. ret i32 -1, !dbg !638
  4497.  
  4498. Else: ; preds = %BoolOrTrue
  4499. br label %EndIf, !dbg !639
  4500.  
  4501. EndIf: ; preds = %Else
  4502. %15 = load i128, i128* %aAbs, align 8, !dbg !640
  4503. %16 = load i128, i128* %bAbs, align 8, !dbg !641
  4504. %17 = or i128 %15, %16, !dbg !642
  4505. %18 = icmp eq i128 %17, 0, !dbg !643
  4506. br i1 %18, label %Then1, label %Else2, !dbg !643
  4507.  
  4508. Then1: ; preds = %EndIf
  4509. ret i32 0, !dbg !644
  4510.  
  4511. Else2: ; preds = %EndIf
  4512. br label %EndIf3, !dbg !645
  4513.  
  4514. EndIf3: ; preds = %Else2
  4515. %19 = load i128, i128* %aInt, align 8, !dbg !646
  4516. %20 = load i128, i128* %bInt, align 8, !dbg !647
  4517. %21 = and i128 %19, %20, !dbg !648
  4518. %22 = icmp sge i128 %21, 0, !dbg !649
  4519. br i1 %22, label %Then4, label %Else5, !dbg !649
  4520.  
  4521. Then4: ; preds = %EndIf3
  4522. %23 = load i128, i128* %aInt, align 8, !dbg !650
  4523. %24 = load i128, i128* %bInt, align 8, !dbg !652
  4524. %25 = icmp slt i128 %23, %24, !dbg !653
  4525. br i1 %25, label %Then6, label %Else7, !dbg !653
  4526.  
  4527. Else5: ; preds = %EndIf3
  4528. %26 = load i128, i128* %aInt, align 8, !dbg !654
  4529. %27 = load i128, i128* %bInt, align 8, !dbg !656
  4530. %28 = icmp sgt i128 %26, %27, !dbg !657
  4531. br i1 %28, label %Then8, label %Else9, !dbg !657
  4532.  
  4533. Then6: ; preds = %Then4
  4534. br label %EndIf13, !dbg !658
  4535.  
  4536. Else7: ; preds = %Then4
  4537. %29 = load i128, i128* %aInt, align 8, !dbg !659
  4538. %30 = load i128, i128* %bInt, align 8, !dbg !660
  4539. %31 = icmp eq i128 %29, %30, !dbg !661
  4540. br i1 %31, label %Then10, label %Else11, !dbg !661
  4541.  
  4542. Then8: ; preds = %Else5
  4543. br label %EndIf17, !dbg !662
  4544.  
  4545. Else9: ; preds = %Else5
  4546. %32 = load i128, i128* %aInt, align 8, !dbg !663
  4547. %33 = load i128, i128* %bInt, align 8, !dbg !664
  4548. %34 = icmp eq i128 %32, %33, !dbg !665
  4549. br i1 %34, label %Then14, label %Else15, !dbg !665
  4550.  
  4551. Then10: ; preds = %Else7
  4552. br label %EndIf12, !dbg !666
  4553.  
  4554. Else11: ; preds = %Else7
  4555. br label %EndIf12, !dbg !666
  4556.  
  4557. EndIf12: ; preds = %Else11, %Then10
  4558. %35 = phi i32 [ 0, %Then10 ], [ 1, %Else11 ], !dbg !666
  4559. br label %EndIf13, !dbg !658
  4560.  
  4561. EndIf13: ; preds = %EndIf12, %Then6
  4562. %36 = phi i32 [ -1, %Then6 ], [ %35, %EndIf12 ], !dbg !658
  4563. br label %EndIf18, !dbg !667
  4564.  
  4565. Then14: ; preds = %Else9
  4566. br label %EndIf16, !dbg !668
  4567.  
  4568. Else15: ; preds = %Else9
  4569. br label %EndIf16, !dbg !668
  4570.  
  4571. EndIf16: ; preds = %Else15, %Then14
  4572. %37 = phi i32 [ 0, %Then14 ], [ 1, %Else15 ], !dbg !668
  4573. br label %EndIf17, !dbg !662
  4574.  
  4575. EndIf17: ; preds = %EndIf16, %Then8
  4576. %38 = phi i32 [ -1, %Then8 ], [ %37, %EndIf16 ], !dbg !662
  4577. br label %EndIf18, !dbg !667
  4578.  
  4579. EndIf18: ; preds = %EndIf17, %EndIf13
  4580. %39 = phi i32 [ %36, %EndIf13 ], [ %38, %EndIf17 ], !dbg !667
  4581. ret i32 %39, !dbg !669
  4582. }
  4583.  
  4584. ; Function Attrs: nobuiltin nounwind
  4585. define weak_odr i32 @__unordtf2(fp128, fp128) #0 !dbg !670 {
  4586. Entry:
  4587. %a = alloca fp128, align 16
  4588. %b = alloca fp128, align 16
  4589. %aAbs = alloca i128, align 8
  4590. %bAbs = alloca i128, align 8
  4591. store fp128 %0, fp128* %a, align 16
  4592. call void @llvm.dbg.declare(metadata fp128* %a, metadata !672, metadata !277), !dbg !680
  4593. store fp128 %1, fp128* %b, align 16
  4594. call void @llvm.dbg.declare(metadata fp128* %b, metadata !673, metadata !277), !dbg !681
  4595. %2 = load fp128, fp128* %a, align 16, !dbg !682
  4596. %3 = bitcast fp128 %2 to i128, !dbg !683
  4597. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !684
  4598. store i128 %4, i128* %aAbs, align 8, !dbg !685
  4599. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !675, metadata !277), !dbg !685
  4600. %5 = load fp128, fp128* %b, align 16, !dbg !686
  4601. %6 = bitcast fp128 %5 to i128, !dbg !687
  4602. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !688
  4603. store i128 %7, i128* %bAbs, align 8, !dbg !689
  4604. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !678, metadata !277), !dbg !689
  4605. %8 = load i128, i128* %aAbs, align 8, !dbg !690
  4606. %9 = icmp ugt i128 %8, 170135991163610696904058773219554885632, !dbg !692
  4607. br i1 %9, label %BoolOrTrue, label %BoolOrFalse, !dbg !693
  4608.  
  4609. BoolOrFalse: ; preds = %Entry
  4610. %10 = load i128, i128* %bAbs, align 8, !dbg !694
  4611. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !695
  4612. br label %BoolOrTrue, !dbg !693
  4613.  
  4614. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  4615. %12 = phi i1 [ %9, %Entry ], [ %11, %BoolOrFalse ], !dbg !693
  4616. %13 = zext i1 %12 to i32, !dbg !696
  4617. ret i32 %13, !dbg !697
  4618. }
  4619.  
  4620. ; Function Attrs: nobuiltin nounwind
  4621. define weak_odr i32 @__eqtf2(fp128, fp128) #0 !dbg !698 {
  4622. Entry:
  4623. %a = alloca fp128, align 16
  4624. %b = alloca fp128, align 16
  4625. store fp128 %0, fp128* %a, align 16
  4626. call void @llvm.dbg.declare(metadata fp128* %a, metadata !700, metadata !277), !dbg !703
  4627. store fp128 %1, fp128* %b, align 16
  4628. call void @llvm.dbg.declare(metadata fp128* %b, metadata !701, metadata !277), !dbg !704
  4629. %2 = load fp128, fp128* %a, align 16, !dbg !705
  4630. %3 = load fp128, fp128* %b, align 16, !dbg !708
  4631. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !709
  4632. ret i32 %4, !dbg !710
  4633. }
  4634.  
  4635. ; Function Attrs: nobuiltin nounwind
  4636. define weak_odr i32 @__lttf2(fp128, fp128) #0 !dbg !711 {
  4637. Entry:
  4638. %a = alloca fp128, align 16
  4639. %b = alloca fp128, align 16
  4640. store fp128 %0, fp128* %a, align 16
  4641. call void @llvm.dbg.declare(metadata fp128* %a, metadata !713, metadata !277), !dbg !716
  4642. store fp128 %1, fp128* %b, align 16
  4643. call void @llvm.dbg.declare(metadata fp128* %b, metadata !714, metadata !277), !dbg !717
  4644. %2 = load fp128, fp128* %a, align 16, !dbg !718
  4645. %3 = load fp128, fp128* %b, align 16, !dbg !721
  4646. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !722
  4647. ret i32 %4, !dbg !723
  4648. }
  4649.  
  4650. ; Function Attrs: nobuiltin nounwind
  4651. define weak_odr i32 @__netf2(fp128, fp128) #0 !dbg !724 {
  4652. Entry:
  4653. %a = alloca fp128, align 16
  4654. %b = alloca fp128, align 16
  4655. store fp128 %0, fp128* %a, align 16
  4656. call void @llvm.dbg.declare(metadata fp128* %a, metadata !726, metadata !277), !dbg !729
  4657. store fp128 %1, fp128* %b, align 16
  4658. call void @llvm.dbg.declare(metadata fp128* %b, metadata !727, metadata !277), !dbg !730
  4659. %2 = load fp128, fp128* %a, align 16, !dbg !731
  4660. %3 = load fp128, fp128* %b, align 16, !dbg !734
  4661. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !735
  4662. ret i32 %4, !dbg !736
  4663. }
  4664.  
  4665. ; Function Attrs: nobuiltin nounwind
  4666. define weak_odr i32 @__gttf2(fp128, fp128) #0 !dbg !737 {
  4667. Entry:
  4668. %a = alloca fp128, align 16
  4669. %b = alloca fp128, align 16
  4670. store fp128 %0, fp128* %a, align 16
  4671. call void @llvm.dbg.declare(metadata fp128* %a, metadata !739, metadata !277), !dbg !742
  4672. store fp128 %1, fp128* %b, align 16
  4673. call void @llvm.dbg.declare(metadata fp128* %b, metadata !740, metadata !277), !dbg !743
  4674. %2 = load fp128, fp128* %a, align 16, !dbg !744
  4675. %3 = load fp128, fp128* %b, align 16, !dbg !747
  4676. %4 = call i32 @__getf2(fp128 %2, fp128 %3), !dbg !748
  4677. ret i32 %4, !dbg !749
  4678. }
  4679.  
  4680. ; Function Attrs: nobuiltin nounwind
  4681. define weak_odr i64 @__fixunsdfdi(double) #0 !dbg !750 {
  4682. Entry:
  4683. %a = alloca double, align 8
  4684. store double %0, double* %a, align 8
  4685. call void @llvm.dbg.declare(metadata double* %a, metadata !755, metadata !277), !dbg !756
  4686. %1 = load double, double* %a, align 8, !dbg !757
  4687. %2 = call fastcc i64 @fixuint(double %1), !dbg !760
  4688. ret i64 %2, !dbg !761
  4689. }
  4690.  
  4691. ; Function Attrs: nobuiltin nounwind
  4692. define internal fastcc i64 @fixuint(double) unnamed_addr #0 !dbg !762 {
  4693. Entry:
  4694. %a = alloca double, align 8
  4695. %signBit = alloca i64, align 8
  4696. %implicitBit = alloca i64, align 8
  4697. %significandMask = alloca i64, align 8
  4698. %aRep = alloca i64, align 8
  4699. %absMask = alloca i64, align 8
  4700. %aAbs = alloca i64, align 8
  4701. %sign = alloca i32, align 4
  4702. %exponent = alloca i32, align 4
  4703. %significand = alloca i64, align 8
  4704. store double %0, double* %a, align 8
  4705. call void @llvm.dbg.declare(metadata double* %a, metadata !764, metadata !277), !dbg !794
  4706. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !795
  4707. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !768, metadata !277), !dbg !795
  4708. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !796
  4709. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !776, metadata !277), !dbg !796
  4710. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !797
  4711. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !780, metadata !277), !dbg !797
  4712. %1 = load double, double* %a, align 8, !dbg !798
  4713. %2 = bitcast double %1 to i64, !dbg !799
  4714. store i64 %2, i64* %aRep, align 8, !dbg !800
  4715. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !782, metadata !277), !dbg !800
  4716. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !801
  4717. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !784, metadata !277), !dbg !801
  4718. %3 = load i64, i64* %aRep, align 8, !dbg !802
  4719. %4 = and i64 %3, 9223372036854775807, !dbg !803
  4720. store i64 %4, i64* %aAbs, align 8, !dbg !804
  4721. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !786, metadata !277), !dbg !804
  4722. %5 = load i64, i64* %aRep, align 8, !dbg !805
  4723. %6 = and i64 %5, -9223372036854775808, !dbg !806
  4724. %7 = icmp ne i64 %6, 0, !dbg !807
  4725. br i1 %7, label %Then, label %Else, !dbg !807
  4726.  
  4727. Then: ; preds = %Entry
  4728. br label %EndIf, !dbg !808
  4729.  
  4730. Else: ; preds = %Entry
  4731. br label %EndIf, !dbg !808
  4732.  
  4733. EndIf: ; preds = %Else, %Then
  4734. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !808
  4735. store i32 %8, i32* %sign, align 4, !dbg !809
  4736. call void @llvm.dbg.declare(metadata i32* %sign, metadata !788, metadata !277), !dbg !809
  4737. %9 = load i64, i64* %aAbs, align 8, !dbg !810
  4738. %10 = lshr i64 %9, 52, !dbg !811
  4739. %11 = trunc i64 %10 to i32, !dbg !812
  4740. %12 = sub nsw i32 %11, 1023, !dbg !813
  4741. store i32 %12, i32* %exponent, align 4, !dbg !814
  4742. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !790, metadata !277), !dbg !814
  4743. %13 = load i64, i64* %aAbs, align 8, !dbg !815
  4744. %14 = and i64 %13, 4503599627370495, !dbg !816
  4745. %15 = or i64 %14, 4503599627370496, !dbg !817
  4746. store i64 %15, i64* %significand, align 8, !dbg !818
  4747. call void @llvm.dbg.declare(metadata i64* %significand, metadata !792, metadata !277), !dbg !818
  4748. %16 = load i32, i32* %sign, align 4, !dbg !819
  4749. %17 = icmp eq i32 %16, -1, !dbg !821
  4750. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !822
  4751.  
  4752. BoolOrFalse: ; preds = %EndIf
  4753. %18 = load i32, i32* %exponent, align 4, !dbg !823
  4754. %19 = icmp slt i32 %18, 0, !dbg !824
  4755. br label %BoolOrTrue, !dbg !822
  4756.  
  4757. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  4758. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !822
  4759. br i1 %20, label %Then1, label %Else2, !dbg !822
  4760.  
  4761. Then1: ; preds = %BoolOrTrue
  4762. ret i64 0, !dbg !825
  4763.  
  4764. Else2: ; preds = %BoolOrTrue
  4765. br label %EndIf3, !dbg !826
  4766.  
  4767. EndIf3: ; preds = %Else2
  4768. %21 = load i32, i32* %exponent, align 4, !dbg !827
  4769. %22 = icmp uge i32 %21, 64, !dbg !828
  4770. br i1 %22, label %Then4, label %Else5, !dbg !828
  4771.  
  4772. Then4: ; preds = %EndIf3
  4773. ret i64 -1, !dbg !829
  4774.  
  4775. Else5: ; preds = %EndIf3
  4776. %23 = load i32, i32* %exponent, align 4, !dbg !830
  4777. %24 = icmp slt i32 %23, 52, !dbg !831
  4778. br i1 %24, label %Then6, label %Else7, !dbg !831
  4779.  
  4780. Then6: ; preds = %Else5
  4781. %25 = load i64, i64* %significand, align 8, !dbg !832
  4782. %26 = load i32, i32* %exponent, align 4, !dbg !834
  4783. %27 = sub nsw i32 52, %26, !dbg !835
  4784. %28 = trunc i32 %27 to i6, !dbg !836
  4785. %29 = zext i6 %28 to i64, !dbg !837
  4786. %30 = lshr i64 %25, %29, !dbg !837
  4787. ret i64 %30, !dbg !838
  4788.  
  4789. Else7: ; preds = %Else5
  4790. %31 = load i64, i64* %significand, align 8, !dbg !839
  4791. %32 = load i32, i32* %exponent, align 4, !dbg !841
  4792. %33 = sub nsw i32 %32, 52, !dbg !842
  4793. %34 = trunc i32 %33 to i6, !dbg !843
  4794. %35 = zext i6 %34 to i64, !dbg !844
  4795. %36 = shl i64 %31, %35, !dbg !844
  4796. ret i64 %36, !dbg !845
  4797. }
  4798.  
  4799. ; Function Attrs: nobuiltin nounwind
  4800. define weak_odr i32 @__fixunsdfsi(double) #0 !dbg !846 {
  4801. Entry:
  4802. %a = alloca double, align 8
  4803. store double %0, double* %a, align 8
  4804. call void @llvm.dbg.declare(metadata double* %a, metadata !850, metadata !277), !dbg !851
  4805. %1 = load double, double* %a, align 8, !dbg !852
  4806. %2 = call fastcc i32 @fixuint.3(double %1), !dbg !855
  4807. ret i32 %2, !dbg !856
  4808. }
  4809.  
  4810. ; Function Attrs: nobuiltin nounwind
  4811. define internal fastcc i32 @fixuint.3(double) unnamed_addr #0 !dbg !857 {
  4812. Entry:
  4813. %a = alloca double, align 8
  4814. %signBit = alloca i64, align 8
  4815. %implicitBit = alloca i64, align 8
  4816. %significandMask = alloca i64, align 8
  4817. %aRep = alloca i64, align 8
  4818. %absMask = alloca i64, align 8
  4819. %aAbs = alloca i64, align 8
  4820. %sign = alloca i32, align 4
  4821. %exponent = alloca i32, align 4
  4822. %significand = alloca i64, align 8
  4823. store double %0, double* %a, align 8
  4824. call void @llvm.dbg.declare(metadata double* %a, metadata !859, metadata !277), !dbg !889
  4825. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !890
  4826. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !863, metadata !277), !dbg !890
  4827. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !891
  4828. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !871, metadata !277), !dbg !891
  4829. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !892
  4830. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !875, metadata !277), !dbg !892
  4831. %1 = load double, double* %a, align 8, !dbg !893
  4832. %2 = bitcast double %1 to i64, !dbg !894
  4833. store i64 %2, i64* %aRep, align 8, !dbg !895
  4834. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !877, metadata !277), !dbg !895
  4835. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !896
  4836. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !879, metadata !277), !dbg !896
  4837. %3 = load i64, i64* %aRep, align 8, !dbg !897
  4838. %4 = and i64 %3, 9223372036854775807, !dbg !898
  4839. store i64 %4, i64* %aAbs, align 8, !dbg !899
  4840. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !881, metadata !277), !dbg !899
  4841. %5 = load i64, i64* %aRep, align 8, !dbg !900
  4842. %6 = and i64 %5, -9223372036854775808, !dbg !901
  4843. %7 = icmp ne i64 %6, 0, !dbg !902
  4844. br i1 %7, label %Then, label %Else, !dbg !902
  4845.  
  4846. Then: ; preds = %Entry
  4847. br label %EndIf, !dbg !903
  4848.  
  4849. Else: ; preds = %Entry
  4850. br label %EndIf, !dbg !903
  4851.  
  4852. EndIf: ; preds = %Else, %Then
  4853. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !903
  4854. store i32 %8, i32* %sign, align 4, !dbg !904
  4855. call void @llvm.dbg.declare(metadata i32* %sign, metadata !883, metadata !277), !dbg !904
  4856. %9 = load i64, i64* %aAbs, align 8, !dbg !905
  4857. %10 = lshr i64 %9, 52, !dbg !906
  4858. %11 = trunc i64 %10 to i32, !dbg !907
  4859. %12 = sub nsw i32 %11, 1023, !dbg !908
  4860. store i32 %12, i32* %exponent, align 4, !dbg !909
  4861. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !885, metadata !277), !dbg !909
  4862. %13 = load i64, i64* %aAbs, align 8, !dbg !910
  4863. %14 = and i64 %13, 4503599627370495, !dbg !911
  4864. %15 = or i64 %14, 4503599627370496, !dbg !912
  4865. store i64 %15, i64* %significand, align 8, !dbg !913
  4866. call void @llvm.dbg.declare(metadata i64* %significand, metadata !887, metadata !277), !dbg !913
  4867. %16 = load i32, i32* %sign, align 4, !dbg !914
  4868. %17 = icmp eq i32 %16, -1, !dbg !916
  4869. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !917
  4870.  
  4871. BoolOrFalse: ; preds = %EndIf
  4872. %18 = load i32, i32* %exponent, align 4, !dbg !918
  4873. %19 = icmp slt i32 %18, 0, !dbg !919
  4874. br label %BoolOrTrue, !dbg !917
  4875.  
  4876. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  4877. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !917
  4878. br i1 %20, label %Then1, label %Else2, !dbg !917
  4879.  
  4880. Then1: ; preds = %BoolOrTrue
  4881. ret i32 0, !dbg !920
  4882.  
  4883. Else2: ; preds = %BoolOrTrue
  4884. br label %EndIf3, !dbg !921
  4885.  
  4886. EndIf3: ; preds = %Else2
  4887. %21 = load i32, i32* %exponent, align 4, !dbg !922
  4888. %22 = icmp uge i32 %21, 32, !dbg !923
  4889. br i1 %22, label %Then4, label %Else5, !dbg !923
  4890.  
  4891. Then4: ; preds = %EndIf3
  4892. ret i32 -1, !dbg !924
  4893.  
  4894. Else5: ; preds = %EndIf3
  4895. %23 = load i32, i32* %exponent, align 4, !dbg !925
  4896. %24 = icmp slt i32 %23, 52, !dbg !926
  4897. br i1 %24, label %Then6, label %Else7, !dbg !926
  4898.  
  4899. Then6: ; preds = %Else5
  4900. %25 = load i64, i64* %significand, align 8, !dbg !927
  4901. %26 = load i32, i32* %exponent, align 4, !dbg !929
  4902. %27 = sub nsw i32 52, %26, !dbg !930
  4903. %28 = trunc i32 %27 to i6, !dbg !931
  4904. %29 = zext i6 %28 to i64, !dbg !932
  4905. %30 = lshr i64 %25, %29, !dbg !932
  4906. %31 = trunc i64 %30 to i32, !dbg !933
  4907. ret i32 %31, !dbg !934
  4908.  
  4909. Else7: ; preds = %Else5
  4910. %32 = load i64, i64* %significand, align 8, !dbg !935
  4911. %33 = trunc i64 %32 to i32, !dbg !937
  4912. %34 = load i32, i32* %exponent, align 4, !dbg !938
  4913. %35 = sub nsw i32 %34, 52, !dbg !939
  4914. %36 = trunc i32 %35 to i5, !dbg !940
  4915. %37 = zext i5 %36 to i32, !dbg !941
  4916. %38 = shl i32 %33, %37, !dbg !941
  4917. ret i32 %38, !dbg !942
  4918. }
  4919.  
  4920. ; Function Attrs: nobuiltin nounwind
  4921. define weak_odr i128 @__fixunsdfti(double) #0 !dbg !943 {
  4922. Entry:
  4923. %a = alloca double, align 8
  4924. store double %0, double* %a, align 8
  4925. call void @llvm.dbg.declare(metadata double* %a, metadata !947, metadata !277), !dbg !948
  4926. %1 = load double, double* %a, align 8, !dbg !949
  4927. %2 = call fastcc i128 @fixuint.4(double %1), !dbg !952
  4928. ret i128 %2, !dbg !953
  4929. }
  4930.  
  4931. ; Function Attrs: nobuiltin nounwind
  4932. define internal fastcc i128 @fixuint.4(double) unnamed_addr #0 !dbg !954 {
  4933. Entry:
  4934. %a = alloca double, align 8
  4935. %signBit = alloca i64, align 8
  4936. %implicitBit = alloca i64, align 8
  4937. %significandMask = alloca i64, align 8
  4938. %aRep = alloca i64, align 8
  4939. %absMask = alloca i64, align 8
  4940. %aAbs = alloca i64, align 8
  4941. %sign = alloca i32, align 4
  4942. %exponent = alloca i32, align 4
  4943. %significand = alloca i64, align 8
  4944. store double %0, double* %a, align 8
  4945. call void @llvm.dbg.declare(metadata double* %a, metadata !956, metadata !277), !dbg !986
  4946. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !987
  4947. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !960, metadata !277), !dbg !987
  4948. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !988
  4949. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !968, metadata !277), !dbg !988
  4950. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !989
  4951. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !972, metadata !277), !dbg !989
  4952. %1 = load double, double* %a, align 8, !dbg !990
  4953. %2 = bitcast double %1 to i64, !dbg !991
  4954. store i64 %2, i64* %aRep, align 8, !dbg !992
  4955. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !974, metadata !277), !dbg !992
  4956. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !993
  4957. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !976, metadata !277), !dbg !993
  4958. %3 = load i64, i64* %aRep, align 8, !dbg !994
  4959. %4 = and i64 %3, 9223372036854775807, !dbg !995
  4960. store i64 %4, i64* %aAbs, align 8, !dbg !996
  4961. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !978, metadata !277), !dbg !996
  4962. %5 = load i64, i64* %aRep, align 8, !dbg !997
  4963. %6 = and i64 %5, -9223372036854775808, !dbg !998
  4964. %7 = icmp ne i64 %6, 0, !dbg !999
  4965. br i1 %7, label %Then, label %Else, !dbg !999
  4966.  
  4967. Then: ; preds = %Entry
  4968. br label %EndIf, !dbg !1000
  4969.  
  4970. Else: ; preds = %Entry
  4971. br label %EndIf, !dbg !1000
  4972.  
  4973. EndIf: ; preds = %Else, %Then
  4974. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1000
  4975. store i32 %8, i32* %sign, align 4, !dbg !1001
  4976. call void @llvm.dbg.declare(metadata i32* %sign, metadata !980, metadata !277), !dbg !1001
  4977. %9 = load i64, i64* %aAbs, align 8, !dbg !1002
  4978. %10 = lshr i64 %9, 52, !dbg !1003
  4979. %11 = trunc i64 %10 to i32, !dbg !1004
  4980. %12 = sub nsw i32 %11, 1023, !dbg !1005
  4981. store i32 %12, i32* %exponent, align 4, !dbg !1006
  4982. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !982, metadata !277), !dbg !1006
  4983. %13 = load i64, i64* %aAbs, align 8, !dbg !1007
  4984. %14 = and i64 %13, 4503599627370495, !dbg !1008
  4985. %15 = or i64 %14, 4503599627370496, !dbg !1009
  4986. store i64 %15, i64* %significand, align 8, !dbg !1010
  4987. call void @llvm.dbg.declare(metadata i64* %significand, metadata !984, metadata !277), !dbg !1010
  4988. %16 = load i32, i32* %sign, align 4, !dbg !1011
  4989. %17 = icmp eq i32 %16, -1, !dbg !1013
  4990. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1014
  4991.  
  4992. BoolOrFalse: ; preds = %EndIf
  4993. %18 = load i32, i32* %exponent, align 4, !dbg !1015
  4994. %19 = icmp slt i32 %18, 0, !dbg !1016
  4995. br label %BoolOrTrue, !dbg !1014
  4996.  
  4997. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  4998. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1014
  4999. br i1 %20, label %Then1, label %Else2, !dbg !1014
  5000.  
  5001. Then1: ; preds = %BoolOrTrue
  5002. ret i128 0, !dbg !1017
  5003.  
  5004. Else2: ; preds = %BoolOrTrue
  5005. br label %EndIf3, !dbg !1018
  5006.  
  5007. EndIf3: ; preds = %Else2
  5008. %21 = load i32, i32* %exponent, align 4, !dbg !1019
  5009. %22 = icmp uge i32 %21, 128, !dbg !1020
  5010. br i1 %22, label %Then4, label %Else5, !dbg !1020
  5011.  
  5012. Then4: ; preds = %EndIf3
  5013. ret i128 -1, !dbg !1021
  5014.  
  5015. Else5: ; preds = %EndIf3
  5016. %23 = load i32, i32* %exponent, align 4, !dbg !1022
  5017. %24 = icmp slt i32 %23, 52, !dbg !1023
  5018. br i1 %24, label %Then6, label %Else7, !dbg !1023
  5019.  
  5020. Then6: ; preds = %Else5
  5021. %25 = load i64, i64* %significand, align 8, !dbg !1024
  5022. %26 = load i32, i32* %exponent, align 4, !dbg !1026
  5023. %27 = sub nsw i32 52, %26, !dbg !1027
  5024. %28 = trunc i32 %27 to i6, !dbg !1028
  5025. %29 = zext i6 %28 to i64, !dbg !1029
  5026. %30 = lshr i64 %25, %29, !dbg !1029
  5027. %31 = zext i64 %30 to i128, !dbg !1030
  5028. ret i128 %31, !dbg !1031
  5029.  
  5030. Else7: ; preds = %Else5
  5031. %32 = load i64, i64* %significand, align 8, !dbg !1032
  5032. %33 = zext i64 %32 to i128, !dbg !1034
  5033. %34 = load i32, i32* %exponent, align 4, !dbg !1035
  5034. %35 = sub nsw i32 %34, 52, !dbg !1036
  5035. %36 = trunc i32 %35 to i7, !dbg !1037
  5036. %37 = zext i7 %36 to i128, !dbg !1038
  5037. %38 = shl i128 %33, %37, !dbg !1038
  5038. ret i128 %38, !dbg !1039
  5039. }
  5040.  
  5041. ; Function Attrs: nobuiltin nounwind
  5042. define weak_odr i64 @__fixunssfdi(float) #0 !dbg !1040 {
  5043. Entry:
  5044. %a = alloca float, align 4
  5045. store float %0, float* %a, align 4
  5046. call void @llvm.dbg.declare(metadata float* %a, metadata !1045, metadata !277), !dbg !1046
  5047. %1 = load float, float* %a, align 4, !dbg !1047
  5048. %2 = call fastcc i64 @fixuint.5(float %1), !dbg !1050
  5049. ret i64 %2, !dbg !1051
  5050. }
  5051.  
  5052. ; Function Attrs: nobuiltin nounwind
  5053. define internal fastcc i64 @fixuint.5(float) unnamed_addr #0 !dbg !1052 {
  5054. Entry:
  5055. %a = alloca float, align 4
  5056. %signBit = alloca i32, align 4
  5057. %implicitBit = alloca i32, align 4
  5058. %significandMask = alloca i32, align 4
  5059. %aRep = alloca i32, align 4
  5060. %absMask = alloca i32, align 4
  5061. %aAbs = alloca i32, align 4
  5062. %sign = alloca i32, align 4
  5063. %exponent = alloca i32, align 4
  5064. %significand = alloca i32, align 4
  5065. store float %0, float* %a, align 4
  5066. call void @llvm.dbg.declare(metadata float* %a, metadata !1054, metadata !277), !dbg !1084
  5067. store i32 -2147483648, i32* %signBit, align 4, !dbg !1085
  5068. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1058, metadata !277), !dbg !1085
  5069. store i32 8388608, i32* %implicitBit, align 4, !dbg !1086
  5070. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1066, metadata !277), !dbg !1086
  5071. store i32 8388607, i32* %significandMask, align 4, !dbg !1087
  5072. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1070, metadata !277), !dbg !1087
  5073. %1 = load float, float* %a, align 4, !dbg !1088
  5074. %2 = bitcast float %1 to i32, !dbg !1089
  5075. store i32 %2, i32* %aRep, align 4, !dbg !1090
  5076. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1072, metadata !277), !dbg !1090
  5077. store i32 2147483647, i32* %absMask, align 4, !dbg !1091
  5078. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1074, metadata !277), !dbg !1091
  5079. %3 = load i32, i32* %aRep, align 4, !dbg !1092
  5080. %4 = and i32 %3, 2147483647, !dbg !1093
  5081. store i32 %4, i32* %aAbs, align 4, !dbg !1094
  5082. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1076, metadata !277), !dbg !1094
  5083. %5 = load i32, i32* %aRep, align 4, !dbg !1095
  5084. %6 = and i32 %5, -2147483648, !dbg !1096
  5085. %7 = icmp ne i32 %6, 0, !dbg !1097
  5086. br i1 %7, label %Then, label %Else, !dbg !1097
  5087.  
  5088. Then: ; preds = %Entry
  5089. br label %EndIf, !dbg !1098
  5090.  
  5091. Else: ; preds = %Entry
  5092. br label %EndIf, !dbg !1098
  5093.  
  5094. EndIf: ; preds = %Else, %Then
  5095. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1098
  5096. store i32 %8, i32* %sign, align 4, !dbg !1099
  5097. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1078, metadata !277), !dbg !1099
  5098. %9 = load i32, i32* %aAbs, align 4, !dbg !1100
  5099. %10 = lshr i32 %9, 23, !dbg !1101
  5100. %11 = sub nsw i32 %10, 127, !dbg !1102
  5101. store i32 %11, i32* %exponent, align 4, !dbg !1103
  5102. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1080, metadata !277), !dbg !1103
  5103. %12 = load i32, i32* %aAbs, align 4, !dbg !1104
  5104. %13 = and i32 %12, 8388607, !dbg !1105
  5105. %14 = or i32 %13, 8388608, !dbg !1106
  5106. store i32 %14, i32* %significand, align 4, !dbg !1107
  5107. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1082, metadata !277), !dbg !1107
  5108. %15 = load i32, i32* %sign, align 4, !dbg !1108
  5109. %16 = icmp eq i32 %15, -1, !dbg !1110
  5110. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1111
  5111.  
  5112. BoolOrFalse: ; preds = %EndIf
  5113. %17 = load i32, i32* %exponent, align 4, !dbg !1112
  5114. %18 = icmp slt i32 %17, 0, !dbg !1113
  5115. br label %BoolOrTrue, !dbg !1111
  5116.  
  5117. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5118. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1111
  5119. br i1 %19, label %Then1, label %Else2, !dbg !1111
  5120.  
  5121. Then1: ; preds = %BoolOrTrue
  5122. ret i64 0, !dbg !1114
  5123.  
  5124. Else2: ; preds = %BoolOrTrue
  5125. br label %EndIf3, !dbg !1115
  5126.  
  5127. EndIf3: ; preds = %Else2
  5128. %20 = load i32, i32* %exponent, align 4, !dbg !1116
  5129. %21 = icmp uge i32 %20, 64, !dbg !1117
  5130. br i1 %21, label %Then4, label %Else5, !dbg !1117
  5131.  
  5132. Then4: ; preds = %EndIf3
  5133. ret i64 -1, !dbg !1118
  5134.  
  5135. Else5: ; preds = %EndIf3
  5136. %22 = load i32, i32* %exponent, align 4, !dbg !1119
  5137. %23 = icmp slt i32 %22, 23, !dbg !1120
  5138. br i1 %23, label %Then6, label %Else7, !dbg !1120
  5139.  
  5140. Then6: ; preds = %Else5
  5141. %24 = load i32, i32* %significand, align 4, !dbg !1121
  5142. %25 = load i32, i32* %exponent, align 4, !dbg !1123
  5143. %26 = sub nsw i32 23, %25, !dbg !1124
  5144. %27 = trunc i32 %26 to i5, !dbg !1125
  5145. %28 = zext i5 %27 to i32, !dbg !1126
  5146. %29 = lshr i32 %24, %28, !dbg !1126
  5147. %30 = zext i32 %29 to i64, !dbg !1127
  5148. ret i64 %30, !dbg !1128
  5149.  
  5150. Else7: ; preds = %Else5
  5151. %31 = load i32, i32* %significand, align 4, !dbg !1129
  5152. %32 = zext i32 %31 to i64, !dbg !1131
  5153. %33 = load i32, i32* %exponent, align 4, !dbg !1132
  5154. %34 = sub nsw i32 %33, 23, !dbg !1133
  5155. %35 = trunc i32 %34 to i6, !dbg !1134
  5156. %36 = zext i6 %35 to i64, !dbg !1135
  5157. %37 = shl i64 %32, %36, !dbg !1135
  5158. ret i64 %37, !dbg !1136
  5159. }
  5160.  
  5161. ; Function Attrs: nobuiltin nounwind
  5162. define weak_odr i32 @__fixunssfsi(float) #0 !dbg !1137 {
  5163. Entry:
  5164. %a = alloca float, align 4
  5165. store float %0, float* %a, align 4
  5166. call void @llvm.dbg.declare(metadata float* %a, metadata !1141, metadata !277), !dbg !1142
  5167. %1 = load float, float* %a, align 4, !dbg !1143
  5168. %2 = call fastcc i32 @fixuint.6(float %1), !dbg !1146
  5169. ret i32 %2, !dbg !1147
  5170. }
  5171.  
  5172. ; Function Attrs: nobuiltin nounwind
  5173. define internal fastcc i32 @fixuint.6(float) unnamed_addr #0 !dbg !1148 {
  5174. Entry:
  5175. %a = alloca float, align 4
  5176. %signBit = alloca i32, align 4
  5177. %implicitBit = alloca i32, align 4
  5178. %significandMask = alloca i32, align 4
  5179. %aRep = alloca i32, align 4
  5180. %absMask = alloca i32, align 4
  5181. %aAbs = alloca i32, align 4
  5182. %sign = alloca i32, align 4
  5183. %exponent = alloca i32, align 4
  5184. %significand = alloca i32, align 4
  5185. store float %0, float* %a, align 4
  5186. call void @llvm.dbg.declare(metadata float* %a, metadata !1150, metadata !277), !dbg !1180
  5187. store i32 -2147483648, i32* %signBit, align 4, !dbg !1181
  5188. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1154, metadata !277), !dbg !1181
  5189. store i32 8388608, i32* %implicitBit, align 4, !dbg !1182
  5190. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1162, metadata !277), !dbg !1182
  5191. store i32 8388607, i32* %significandMask, align 4, !dbg !1183
  5192. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1166, metadata !277), !dbg !1183
  5193. %1 = load float, float* %a, align 4, !dbg !1184
  5194. %2 = bitcast float %1 to i32, !dbg !1185
  5195. store i32 %2, i32* %aRep, align 4, !dbg !1186
  5196. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1168, metadata !277), !dbg !1186
  5197. store i32 2147483647, i32* %absMask, align 4, !dbg !1187
  5198. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1170, metadata !277), !dbg !1187
  5199. %3 = load i32, i32* %aRep, align 4, !dbg !1188
  5200. %4 = and i32 %3, 2147483647, !dbg !1189
  5201. store i32 %4, i32* %aAbs, align 4, !dbg !1190
  5202. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1172, metadata !277), !dbg !1190
  5203. %5 = load i32, i32* %aRep, align 4, !dbg !1191
  5204. %6 = and i32 %5, -2147483648, !dbg !1192
  5205. %7 = icmp ne i32 %6, 0, !dbg !1193
  5206. br i1 %7, label %Then, label %Else, !dbg !1193
  5207.  
  5208. Then: ; preds = %Entry
  5209. br label %EndIf, !dbg !1194
  5210.  
  5211. Else: ; preds = %Entry
  5212. br label %EndIf, !dbg !1194
  5213.  
  5214. EndIf: ; preds = %Else, %Then
  5215. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1194
  5216. store i32 %8, i32* %sign, align 4, !dbg !1195
  5217. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1174, metadata !277), !dbg !1195
  5218. %9 = load i32, i32* %aAbs, align 4, !dbg !1196
  5219. %10 = lshr i32 %9, 23, !dbg !1197
  5220. %11 = sub nsw i32 %10, 127, !dbg !1198
  5221. store i32 %11, i32* %exponent, align 4, !dbg !1199
  5222. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1176, metadata !277), !dbg !1199
  5223. %12 = load i32, i32* %aAbs, align 4, !dbg !1200
  5224. %13 = and i32 %12, 8388607, !dbg !1201
  5225. %14 = or i32 %13, 8388608, !dbg !1202
  5226. store i32 %14, i32* %significand, align 4, !dbg !1203
  5227. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1178, metadata !277), !dbg !1203
  5228. %15 = load i32, i32* %sign, align 4, !dbg !1204
  5229. %16 = icmp eq i32 %15, -1, !dbg !1206
  5230. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1207
  5231.  
  5232. BoolOrFalse: ; preds = %EndIf
  5233. %17 = load i32, i32* %exponent, align 4, !dbg !1208
  5234. %18 = icmp slt i32 %17, 0, !dbg !1209
  5235. br label %BoolOrTrue, !dbg !1207
  5236.  
  5237. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5238. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1207
  5239. br i1 %19, label %Then1, label %Else2, !dbg !1207
  5240.  
  5241. Then1: ; preds = %BoolOrTrue
  5242. ret i32 0, !dbg !1210
  5243.  
  5244. Else2: ; preds = %BoolOrTrue
  5245. br label %EndIf3, !dbg !1211
  5246.  
  5247. EndIf3: ; preds = %Else2
  5248. %20 = load i32, i32* %exponent, align 4, !dbg !1212
  5249. %21 = icmp uge i32 %20, 32, !dbg !1213
  5250. br i1 %21, label %Then4, label %Else5, !dbg !1213
  5251.  
  5252. Then4: ; preds = %EndIf3
  5253. ret i32 -1, !dbg !1214
  5254.  
  5255. Else5: ; preds = %EndIf3
  5256. %22 = load i32, i32* %exponent, align 4, !dbg !1215
  5257. %23 = icmp slt i32 %22, 23, !dbg !1216
  5258. br i1 %23, label %Then6, label %Else7, !dbg !1216
  5259.  
  5260. Then6: ; preds = %Else5
  5261. %24 = load i32, i32* %significand, align 4, !dbg !1217
  5262. %25 = load i32, i32* %exponent, align 4, !dbg !1219
  5263. %26 = sub nsw i32 23, %25, !dbg !1220
  5264. %27 = trunc i32 %26 to i5, !dbg !1221
  5265. %28 = zext i5 %27 to i32, !dbg !1222
  5266. %29 = lshr i32 %24, %28, !dbg !1222
  5267. ret i32 %29, !dbg !1223
  5268.  
  5269. Else7: ; preds = %Else5
  5270. %30 = load i32, i32* %significand, align 4, !dbg !1224
  5271. %31 = load i32, i32* %exponent, align 4, !dbg !1226
  5272. %32 = sub nsw i32 %31, 23, !dbg !1227
  5273. %33 = trunc i32 %32 to i5, !dbg !1228
  5274. %34 = zext i5 %33 to i32, !dbg !1229
  5275. %35 = shl i32 %30, %34, !dbg !1229
  5276. ret i32 %35, !dbg !1230
  5277. }
  5278.  
  5279. ; Function Attrs: nobuiltin nounwind
  5280. define weak_odr i128 @__fixunssfti(float) #0 !dbg !1231 {
  5281. Entry:
  5282. %a = alloca float, align 4
  5283. store float %0, float* %a, align 4
  5284. call void @llvm.dbg.declare(metadata float* %a, metadata !1235, metadata !277), !dbg !1236
  5285. %1 = load float, float* %a, align 4, !dbg !1237
  5286. %2 = call fastcc i128 @fixuint.7(float %1), !dbg !1240
  5287. ret i128 %2, !dbg !1241
  5288. }
  5289.  
  5290. ; Function Attrs: nobuiltin nounwind
  5291. define internal fastcc i128 @fixuint.7(float) unnamed_addr #0 !dbg !1242 {
  5292. Entry:
  5293. %a = alloca float, align 4
  5294. %signBit = alloca i32, align 4
  5295. %implicitBit = alloca i32, align 4
  5296. %significandMask = alloca i32, align 4
  5297. %aRep = alloca i32, align 4
  5298. %absMask = alloca i32, align 4
  5299. %aAbs = alloca i32, align 4
  5300. %sign = alloca i32, align 4
  5301. %exponent = alloca i32, align 4
  5302. %significand = alloca i32, align 4
  5303. store float %0, float* %a, align 4
  5304. call void @llvm.dbg.declare(metadata float* %a, metadata !1244, metadata !277), !dbg !1274
  5305. store i32 -2147483648, i32* %signBit, align 4, !dbg !1275
  5306. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1248, metadata !277), !dbg !1275
  5307. store i32 8388608, i32* %implicitBit, align 4, !dbg !1276
  5308. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1256, metadata !277), !dbg !1276
  5309. store i32 8388607, i32* %significandMask, align 4, !dbg !1277
  5310. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1260, metadata !277), !dbg !1277
  5311. %1 = load float, float* %a, align 4, !dbg !1278
  5312. %2 = bitcast float %1 to i32, !dbg !1279
  5313. store i32 %2, i32* %aRep, align 4, !dbg !1280
  5314. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1262, metadata !277), !dbg !1280
  5315. store i32 2147483647, i32* %absMask, align 4, !dbg !1281
  5316. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1264, metadata !277), !dbg !1281
  5317. %3 = load i32, i32* %aRep, align 4, !dbg !1282
  5318. %4 = and i32 %3, 2147483647, !dbg !1283
  5319. store i32 %4, i32* %aAbs, align 4, !dbg !1284
  5320. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1266, metadata !277), !dbg !1284
  5321. %5 = load i32, i32* %aRep, align 4, !dbg !1285
  5322. %6 = and i32 %5, -2147483648, !dbg !1286
  5323. %7 = icmp ne i32 %6, 0, !dbg !1287
  5324. br i1 %7, label %Then, label %Else, !dbg !1287
  5325.  
  5326. Then: ; preds = %Entry
  5327. br label %EndIf, !dbg !1288
  5328.  
  5329. Else: ; preds = %Entry
  5330. br label %EndIf, !dbg !1288
  5331.  
  5332. EndIf: ; preds = %Else, %Then
  5333. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1288
  5334. store i32 %8, i32* %sign, align 4, !dbg !1289
  5335. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1268, metadata !277), !dbg !1289
  5336. %9 = load i32, i32* %aAbs, align 4, !dbg !1290
  5337. %10 = lshr i32 %9, 23, !dbg !1291
  5338. %11 = sub nsw i32 %10, 127, !dbg !1292
  5339. store i32 %11, i32* %exponent, align 4, !dbg !1293
  5340. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1270, metadata !277), !dbg !1293
  5341. %12 = load i32, i32* %aAbs, align 4, !dbg !1294
  5342. %13 = and i32 %12, 8388607, !dbg !1295
  5343. %14 = or i32 %13, 8388608, !dbg !1296
  5344. store i32 %14, i32* %significand, align 4, !dbg !1297
  5345. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1272, metadata !277), !dbg !1297
  5346. %15 = load i32, i32* %sign, align 4, !dbg !1298
  5347. %16 = icmp eq i32 %15, -1, !dbg !1300
  5348. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1301
  5349.  
  5350. BoolOrFalse: ; preds = %EndIf
  5351. %17 = load i32, i32* %exponent, align 4, !dbg !1302
  5352. %18 = icmp slt i32 %17, 0, !dbg !1303
  5353. br label %BoolOrTrue, !dbg !1301
  5354.  
  5355. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5356. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1301
  5357. br i1 %19, label %Then1, label %Else2, !dbg !1301
  5358.  
  5359. Then1: ; preds = %BoolOrTrue
  5360. ret i128 0, !dbg !1304
  5361.  
  5362. Else2: ; preds = %BoolOrTrue
  5363. br label %EndIf3, !dbg !1305
  5364.  
  5365. EndIf3: ; preds = %Else2
  5366. %20 = load i32, i32* %exponent, align 4, !dbg !1306
  5367. %21 = icmp uge i32 %20, 128, !dbg !1307
  5368. br i1 %21, label %Then4, label %Else5, !dbg !1307
  5369.  
  5370. Then4: ; preds = %EndIf3
  5371. ret i128 -1, !dbg !1308
  5372.  
  5373. Else5: ; preds = %EndIf3
  5374. %22 = load i32, i32* %exponent, align 4, !dbg !1309
  5375. %23 = icmp slt i32 %22, 23, !dbg !1310
  5376. br i1 %23, label %Then6, label %Else7, !dbg !1310
  5377.  
  5378. Then6: ; preds = %Else5
  5379. %24 = load i32, i32* %significand, align 4, !dbg !1311
  5380. %25 = load i32, i32* %exponent, align 4, !dbg !1313
  5381. %26 = sub nsw i32 23, %25, !dbg !1314
  5382. %27 = trunc i32 %26 to i5, !dbg !1315
  5383. %28 = zext i5 %27 to i32, !dbg !1316
  5384. %29 = lshr i32 %24, %28, !dbg !1316
  5385. %30 = zext i32 %29 to i128, !dbg !1317
  5386. ret i128 %30, !dbg !1318
  5387.  
  5388. Else7: ; preds = %Else5
  5389. %31 = load i32, i32* %significand, align 4, !dbg !1319
  5390. %32 = zext i32 %31 to i128, !dbg !1321
  5391. %33 = load i32, i32* %exponent, align 4, !dbg !1322
  5392. %34 = sub nsw i32 %33, 23, !dbg !1323
  5393. %35 = trunc i32 %34 to i7, !dbg !1324
  5394. %36 = zext i7 %35 to i128, !dbg !1325
  5395. %37 = shl i128 %32, %36, !dbg !1325
  5396. ret i128 %37, !dbg !1326
  5397. }
  5398.  
  5399. ; Function Attrs: nobuiltin nounwind
  5400. define weak_odr i64 @__fixunstfdi(fp128) #0 !dbg !1327 {
  5401. Entry:
  5402. %a = alloca fp128, align 16
  5403. store fp128 %0, fp128* %a, align 16
  5404. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1331, metadata !277), !dbg !1332
  5405. %1 = load fp128, fp128* %a, align 16, !dbg !1333
  5406. %2 = call fastcc i64 @fixuint.8(fp128 %1), !dbg !1336
  5407. ret i64 %2, !dbg !1337
  5408. }
  5409.  
  5410. ; Function Attrs: nobuiltin nounwind
  5411. define internal fastcc i64 @fixuint.8(fp128) unnamed_addr #0 !dbg !1338 {
  5412. Entry:
  5413. %a = alloca fp128, align 16
  5414. %signBit = alloca i128, align 8
  5415. %implicitBit = alloca i128, align 8
  5416. %significandMask = alloca i128, align 8
  5417. %aRep = alloca i128, align 8
  5418. %absMask = alloca i128, align 8
  5419. %aAbs = alloca i128, align 8
  5420. %sign = alloca i32, align 4
  5421. %exponent = alloca i32, align 4
  5422. %significand = alloca i128, align 8
  5423. store fp128 %0, fp128* %a, align 16
  5424. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1340, metadata !277), !dbg !1370
  5425. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1371
  5426. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1344, metadata !277), !dbg !1371
  5427. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1372
  5428. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1352, metadata !277), !dbg !1372
  5429. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1373
  5430. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1356, metadata !277), !dbg !1373
  5431. %1 = load fp128, fp128* %a, align 16, !dbg !1374
  5432. %2 = bitcast fp128 %1 to i128, !dbg !1375
  5433. store i128 %2, i128* %aRep, align 8, !dbg !1376
  5434. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1358, metadata !277), !dbg !1376
  5435. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1377
  5436. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1360, metadata !277), !dbg !1377
  5437. %3 = load i128, i128* %aRep, align 8, !dbg !1378
  5438. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1379
  5439. store i128 %4, i128* %aAbs, align 8, !dbg !1380
  5440. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1362, metadata !277), !dbg !1380
  5441. %5 = load i128, i128* %aRep, align 8, !dbg !1381
  5442. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1382
  5443. %7 = icmp ne i128 %6, 0, !dbg !1383
  5444. br i1 %7, label %Then, label %Else, !dbg !1383
  5445.  
  5446. Then: ; preds = %Entry
  5447. br label %EndIf, !dbg !1384
  5448.  
  5449. Else: ; preds = %Entry
  5450. br label %EndIf, !dbg !1384
  5451.  
  5452. EndIf: ; preds = %Else, %Then
  5453. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1384
  5454. store i32 %8, i32* %sign, align 4, !dbg !1385
  5455. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1364, metadata !277), !dbg !1385
  5456. %9 = load i128, i128* %aAbs, align 8, !dbg !1386
  5457. %10 = lshr i128 %9, 112, !dbg !1387
  5458. %11 = trunc i128 %10 to i32, !dbg !1388
  5459. %12 = sub nsw i32 %11, 16383, !dbg !1389
  5460. store i32 %12, i32* %exponent, align 4, !dbg !1390
  5461. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1366, metadata !277), !dbg !1390
  5462. %13 = load i128, i128* %aAbs, align 8, !dbg !1391
  5463. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1392
  5464. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1393
  5465. store i128 %15, i128* %significand, align 8, !dbg !1394
  5466. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1368, metadata !277), !dbg !1394
  5467. %16 = load i32, i32* %sign, align 4, !dbg !1395
  5468. %17 = icmp eq i32 %16, -1, !dbg !1397
  5469. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1398
  5470.  
  5471. BoolOrFalse: ; preds = %EndIf
  5472. %18 = load i32, i32* %exponent, align 4, !dbg !1399
  5473. %19 = icmp slt i32 %18, 0, !dbg !1400
  5474. br label %BoolOrTrue, !dbg !1398
  5475.  
  5476. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5477. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1398
  5478. br i1 %20, label %Then1, label %Else2, !dbg !1398
  5479.  
  5480. Then1: ; preds = %BoolOrTrue
  5481. ret i64 0, !dbg !1401
  5482.  
  5483. Else2: ; preds = %BoolOrTrue
  5484. br label %EndIf3, !dbg !1402
  5485.  
  5486. EndIf3: ; preds = %Else2
  5487. %21 = load i32, i32* %exponent, align 4, !dbg !1403
  5488. %22 = icmp uge i32 %21, 64, !dbg !1404
  5489. br i1 %22, label %Then4, label %Else5, !dbg !1404
  5490.  
  5491. Then4: ; preds = %EndIf3
  5492. ret i64 -1, !dbg !1405
  5493.  
  5494. Else5: ; preds = %EndIf3
  5495. %23 = load i32, i32* %exponent, align 4, !dbg !1406
  5496. %24 = icmp slt i32 %23, 112, !dbg !1407
  5497. br i1 %24, label %Then6, label %Else7, !dbg !1407
  5498.  
  5499. Then6: ; preds = %Else5
  5500. %25 = load i128, i128* %significand, align 8, !dbg !1408
  5501. %26 = load i32, i32* %exponent, align 4, !dbg !1410
  5502. %27 = sub nsw i32 112, %26, !dbg !1411
  5503. %28 = trunc i32 %27 to i7, !dbg !1412
  5504. %29 = zext i7 %28 to i128, !dbg !1413
  5505. %30 = lshr i128 %25, %29, !dbg !1413
  5506. %31 = trunc i128 %30 to i64, !dbg !1414
  5507. ret i64 %31, !dbg !1415
  5508.  
  5509. Else7: ; preds = %Else5
  5510. %32 = load i128, i128* %significand, align 8, !dbg !1416
  5511. %33 = trunc i128 %32 to i64, !dbg !1418
  5512. %34 = load i32, i32* %exponent, align 4, !dbg !1419
  5513. %35 = sub nsw i32 %34, 112, !dbg !1420
  5514. %36 = trunc i32 %35 to i6, !dbg !1421
  5515. %37 = zext i6 %36 to i64, !dbg !1422
  5516. %38 = shl i64 %33, %37, !dbg !1422
  5517. ret i64 %38, !dbg !1423
  5518. }
  5519.  
  5520. ; Function Attrs: nobuiltin nounwind
  5521. define weak_odr i32 @__fixunstfsi(fp128) #0 !dbg !1424 {
  5522. Entry:
  5523. %a = alloca fp128, align 16
  5524. store fp128 %0, fp128* %a, align 16
  5525. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1428, metadata !277), !dbg !1429
  5526. %1 = load fp128, fp128* %a, align 16, !dbg !1430
  5527. %2 = call fastcc i32 @fixuint.9(fp128 %1), !dbg !1433
  5528. ret i32 %2, !dbg !1434
  5529. }
  5530.  
  5531. ; Function Attrs: nobuiltin nounwind
  5532. define internal fastcc i32 @fixuint.9(fp128) unnamed_addr #0 !dbg !1435 {
  5533. Entry:
  5534. %a = alloca fp128, align 16
  5535. %signBit = alloca i128, align 8
  5536. %implicitBit = alloca i128, align 8
  5537. %significandMask = alloca i128, align 8
  5538. %aRep = alloca i128, align 8
  5539. %absMask = alloca i128, align 8
  5540. %aAbs = alloca i128, align 8
  5541. %sign = alloca i32, align 4
  5542. %exponent = alloca i32, align 4
  5543. %significand = alloca i128, align 8
  5544. store fp128 %0, fp128* %a, align 16
  5545. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1437, metadata !277), !dbg !1467
  5546. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1468
  5547. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1441, metadata !277), !dbg !1468
  5548. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1469
  5549. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1449, metadata !277), !dbg !1469
  5550. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1470
  5551. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1453, metadata !277), !dbg !1470
  5552. %1 = load fp128, fp128* %a, align 16, !dbg !1471
  5553. %2 = bitcast fp128 %1 to i128, !dbg !1472
  5554. store i128 %2, i128* %aRep, align 8, !dbg !1473
  5555. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1455, metadata !277), !dbg !1473
  5556. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1474
  5557. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1457, metadata !277), !dbg !1474
  5558. %3 = load i128, i128* %aRep, align 8, !dbg !1475
  5559. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1476
  5560. store i128 %4, i128* %aAbs, align 8, !dbg !1477
  5561. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1459, metadata !277), !dbg !1477
  5562. %5 = load i128, i128* %aRep, align 8, !dbg !1478
  5563. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1479
  5564. %7 = icmp ne i128 %6, 0, !dbg !1480
  5565. br i1 %7, label %Then, label %Else, !dbg !1480
  5566.  
  5567. Then: ; preds = %Entry
  5568. br label %EndIf, !dbg !1481
  5569.  
  5570. Else: ; preds = %Entry
  5571. br label %EndIf, !dbg !1481
  5572.  
  5573. EndIf: ; preds = %Else, %Then
  5574. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1481
  5575. store i32 %8, i32* %sign, align 4, !dbg !1482
  5576. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1461, metadata !277), !dbg !1482
  5577. %9 = load i128, i128* %aAbs, align 8, !dbg !1483
  5578. %10 = lshr i128 %9, 112, !dbg !1484
  5579. %11 = trunc i128 %10 to i32, !dbg !1485
  5580. %12 = sub nsw i32 %11, 16383, !dbg !1486
  5581. store i32 %12, i32* %exponent, align 4, !dbg !1487
  5582. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1463, metadata !277), !dbg !1487
  5583. %13 = load i128, i128* %aAbs, align 8, !dbg !1488
  5584. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1489
  5585. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1490
  5586. store i128 %15, i128* %significand, align 8, !dbg !1491
  5587. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1465, metadata !277), !dbg !1491
  5588. %16 = load i32, i32* %sign, align 4, !dbg !1492
  5589. %17 = icmp eq i32 %16, -1, !dbg !1494
  5590. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1495
  5591.  
  5592. BoolOrFalse: ; preds = %EndIf
  5593. %18 = load i32, i32* %exponent, align 4, !dbg !1496
  5594. %19 = icmp slt i32 %18, 0, !dbg !1497
  5595. br label %BoolOrTrue, !dbg !1495
  5596.  
  5597. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5598. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1495
  5599. br i1 %20, label %Then1, label %Else2, !dbg !1495
  5600.  
  5601. Then1: ; preds = %BoolOrTrue
  5602. ret i32 0, !dbg !1498
  5603.  
  5604. Else2: ; preds = %BoolOrTrue
  5605. br label %EndIf3, !dbg !1499
  5606.  
  5607. EndIf3: ; preds = %Else2
  5608. %21 = load i32, i32* %exponent, align 4, !dbg !1500
  5609. %22 = icmp uge i32 %21, 32, !dbg !1501
  5610. br i1 %22, label %Then4, label %Else5, !dbg !1501
  5611.  
  5612. Then4: ; preds = %EndIf3
  5613. ret i32 -1, !dbg !1502
  5614.  
  5615. Else5: ; preds = %EndIf3
  5616. %23 = load i32, i32* %exponent, align 4, !dbg !1503
  5617. %24 = icmp slt i32 %23, 112, !dbg !1504
  5618. br i1 %24, label %Then6, label %Else7, !dbg !1504
  5619.  
  5620. Then6: ; preds = %Else5
  5621. %25 = load i128, i128* %significand, align 8, !dbg !1505
  5622. %26 = load i32, i32* %exponent, align 4, !dbg !1507
  5623. %27 = sub nsw i32 112, %26, !dbg !1508
  5624. %28 = trunc i32 %27 to i7, !dbg !1509
  5625. %29 = zext i7 %28 to i128, !dbg !1510
  5626. %30 = lshr i128 %25, %29, !dbg !1510
  5627. %31 = trunc i128 %30 to i32, !dbg !1511
  5628. ret i32 %31, !dbg !1512
  5629.  
  5630. Else7: ; preds = %Else5
  5631. %32 = load i128, i128* %significand, align 8, !dbg !1513
  5632. %33 = trunc i128 %32 to i32, !dbg !1515
  5633. %34 = load i32, i32* %exponent, align 4, !dbg !1516
  5634. %35 = sub nsw i32 %34, 112, !dbg !1517
  5635. %36 = trunc i32 %35 to i5, !dbg !1518
  5636. %37 = zext i5 %36 to i32, !dbg !1519
  5637. %38 = shl i32 %33, %37, !dbg !1519
  5638. ret i32 %38, !dbg !1520
  5639. }
  5640.  
  5641. ; Function Attrs: nobuiltin nounwind
  5642. define weak_odr i128 @__fixunstfti(fp128) #0 !dbg !1521 {
  5643. Entry:
  5644. %a = alloca fp128, align 16
  5645. store fp128 %0, fp128* %a, align 16
  5646. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1525, metadata !277), !dbg !1526
  5647. %1 = load fp128, fp128* %a, align 16, !dbg !1527
  5648. %2 = call fastcc i128 @fixuint.10(fp128 %1), !dbg !1530
  5649. ret i128 %2, !dbg !1531
  5650. }
  5651.  
  5652. ; Function Attrs: nobuiltin nounwind
  5653. define internal fastcc i128 @fixuint.10(fp128) unnamed_addr #0 !dbg !1532 {
  5654. Entry:
  5655. %a = alloca fp128, align 16
  5656. %signBit = alloca i128, align 8
  5657. %implicitBit = alloca i128, align 8
  5658. %significandMask = alloca i128, align 8
  5659. %aRep = alloca i128, align 8
  5660. %absMask = alloca i128, align 8
  5661. %aAbs = alloca i128, align 8
  5662. %sign = alloca i32, align 4
  5663. %exponent = alloca i32, align 4
  5664. %significand = alloca i128, align 8
  5665. store fp128 %0, fp128* %a, align 16
  5666. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1534, metadata !277), !dbg !1564
  5667. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1565
  5668. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1538, metadata !277), !dbg !1565
  5669. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1566
  5670. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1546, metadata !277), !dbg !1566
  5671. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1567
  5672. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1550, metadata !277), !dbg !1567
  5673. %1 = load fp128, fp128* %a, align 16, !dbg !1568
  5674. %2 = bitcast fp128 %1 to i128, !dbg !1569
  5675. store i128 %2, i128* %aRep, align 8, !dbg !1570
  5676. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1552, metadata !277), !dbg !1570
  5677. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1571
  5678. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1554, metadata !277), !dbg !1571
  5679. %3 = load i128, i128* %aRep, align 8, !dbg !1572
  5680. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1573
  5681. store i128 %4, i128* %aAbs, align 8, !dbg !1574
  5682. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1556, metadata !277), !dbg !1574
  5683. %5 = load i128, i128* %aRep, align 8, !dbg !1575
  5684. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1576
  5685. %7 = icmp ne i128 %6, 0, !dbg !1577
  5686. br i1 %7, label %Then, label %Else, !dbg !1577
  5687.  
  5688. Then: ; preds = %Entry
  5689. br label %EndIf, !dbg !1578
  5690.  
  5691. Else: ; preds = %Entry
  5692. br label %EndIf, !dbg !1578
  5693.  
  5694. EndIf: ; preds = %Else, %Then
  5695. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1578
  5696. store i32 %8, i32* %sign, align 4, !dbg !1579
  5697. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1558, metadata !277), !dbg !1579
  5698. %9 = load i128, i128* %aAbs, align 8, !dbg !1580
  5699. %10 = lshr i128 %9, 112, !dbg !1581
  5700. %11 = trunc i128 %10 to i32, !dbg !1582
  5701. %12 = sub nsw i32 %11, 16383, !dbg !1583
  5702. store i32 %12, i32* %exponent, align 4, !dbg !1584
  5703. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1560, metadata !277), !dbg !1584
  5704. %13 = load i128, i128* %aAbs, align 8, !dbg !1585
  5705. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1586
  5706. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1587
  5707. store i128 %15, i128* %significand, align 8, !dbg !1588
  5708. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1562, metadata !277), !dbg !1588
  5709. %16 = load i32, i32* %sign, align 4, !dbg !1589
  5710. %17 = icmp eq i32 %16, -1, !dbg !1591
  5711. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1592
  5712.  
  5713. BoolOrFalse: ; preds = %EndIf
  5714. %18 = load i32, i32* %exponent, align 4, !dbg !1593
  5715. %19 = icmp slt i32 %18, 0, !dbg !1594
  5716. br label %BoolOrTrue, !dbg !1592
  5717.  
  5718. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  5719. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1592
  5720. br i1 %20, label %Then1, label %Else2, !dbg !1592
  5721.  
  5722. Then1: ; preds = %BoolOrTrue
  5723. ret i128 0, !dbg !1595
  5724.  
  5725. Else2: ; preds = %BoolOrTrue
  5726. br label %EndIf3, !dbg !1596
  5727.  
  5728. EndIf3: ; preds = %Else2
  5729. %21 = load i32, i32* %exponent, align 4, !dbg !1597
  5730. %22 = icmp uge i32 %21, 128, !dbg !1598
  5731. br i1 %22, label %Then4, label %Else5, !dbg !1598
  5732.  
  5733. Then4: ; preds = %EndIf3
  5734. ret i128 -1, !dbg !1599
  5735.  
  5736. Else5: ; preds = %EndIf3
  5737. %23 = load i32, i32* %exponent, align 4, !dbg !1600
  5738. %24 = icmp slt i32 %23, 112, !dbg !1601
  5739. br i1 %24, label %Then6, label %Else7, !dbg !1601
  5740.  
  5741. Then6: ; preds = %Else5
  5742. %25 = load i128, i128* %significand, align 8, !dbg !1602
  5743. %26 = load i32, i32* %exponent, align 4, !dbg !1604
  5744. %27 = sub nsw i32 112, %26, !dbg !1605
  5745. %28 = trunc i32 %27 to i7, !dbg !1606
  5746. %29 = zext i7 %28 to i128, !dbg !1607
  5747. %30 = lshr i128 %25, %29, !dbg !1607
  5748. ret i128 %30, !dbg !1608
  5749.  
  5750. Else7: ; preds = %Else5
  5751. %31 = load i128, i128* %significand, align 8, !dbg !1609
  5752. %32 = load i32, i32* %exponent, align 4, !dbg !1611
  5753. %33 = sub nsw i32 %32, 112, !dbg !1612
  5754. %34 = trunc i32 %33 to i7, !dbg !1613
  5755. %35 = zext i7 %34 to i128, !dbg !1614
  5756. %36 = shl i128 %31, %35, !dbg !1614
  5757. ret i128 %36, !dbg !1615
  5758. }
  5759.  
  5760. ; Function Attrs: nobuiltin nounwind
  5761. define internal fastcc i64 @udivmod(i64, i64, i64*) unnamed_addr #0 !dbg !1616 {
  5762. Entry:
  5763. %a = alloca i64, align 8
  5764. %b = alloca i64, align 8
  5765. %maybe_rem = alloca i64*, align 8
  5766. %n = alloca [2 x i32], align 4
  5767. %d = alloca [2 x i32], align 4
  5768. %q = alloca [2 x i32], align 4
  5769. %r = alloca [2 x i32], align 4
  5770. %sr = alloca i32, align 4
  5771. %rem = alloca i64*, align 8
  5772. %rem64 = alloca i64*, align 8
  5773. %rem65 = alloca i64*, align 8
  5774. %rem66 = alloca i64*, align 8
  5775. %rem67 = alloca i64*, align 8
  5776. %rem68 = alloca i64*, align 8
  5777. %rem69 = alloca i64*, align 8
  5778. %rem70 = alloca i64*, align 8
  5779. %carry = alloca i32, align 4
  5780. %r_all = alloca i64, align 8
  5781. %s = alloca i64, align 8
  5782. %q_all = alloca i64, align 8
  5783. %rem71 = alloca i64*, align 8
  5784. store i64 %0, i64* %a, align 8
  5785. call void @llvm.dbg.declare(metadata i64* %a, metadata !1618, metadata !277), !dbg !1675
  5786. store i64 %1, i64* %b, align 8
  5787. call void @llvm.dbg.declare(metadata i64* %b, metadata !1623, metadata !277), !dbg !1676
  5788. store i64* %2, i64** %maybe_rem, align 8
  5789. call void @llvm.dbg.declare(metadata i64** %maybe_rem, metadata !1625, metadata !277), !dbg !1677
  5790. %3 = bitcast i64* %a to [2 x i32]*, !dbg !1678
  5791. %4 = bitcast [2 x i32]* %3 to i8*, !dbg !1679
  5792. %5 = bitcast [2 x i32]* %n to i8*, !dbg !1679
  5793. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %4, i64 8, i32 4, i1 false), !dbg !1679
  5794. call void @llvm.dbg.declare(metadata [2 x i32]* %n, metadata !1627, metadata !277), !dbg !1679
  5795. %6 = bitcast i64* %b to [2 x i32]*, !dbg !1680
  5796. %7 = bitcast [2 x i32]* %6 to i8*, !dbg !1681
  5797. %8 = bitcast [2 x i32]* %d to i8*, !dbg !1681
  5798. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 8, i32 4, i1 false), !dbg !1681
  5799. call void @llvm.dbg.declare(metadata [2 x i32]* %d, metadata !1636, metadata !277), !dbg !1681
  5800. %9 = bitcast [2 x i32]* %q to i8*, !dbg !1682
  5801. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* bitcast ([2 x i32]* @3 to i8*), i64 8, i32 4, i1 false), !dbg !1682
  5802. call void @llvm.dbg.declare(metadata [2 x i32]* %q, metadata !1638, metadata !277), !dbg !1682
  5803. %10 = bitcast [2 x i32]* %r to i8*, !dbg !1683
  5804. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ([2 x i32]* @4 to i8*), i64 8, i32 4, i1 false), !dbg !1683
  5805. call void @llvm.dbg.declare(metadata [2 x i32]* %r, metadata !1640, metadata !277), !dbg !1683
  5806. call void @llvm.dbg.declare(metadata i32* %sr, metadata !1642, metadata !277), !dbg !1684
  5807. %11 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1685
  5808. %12 = load i32, i32* %11, align 4, !dbg !1685
  5809. %13 = icmp eq i32 %12, 0, !dbg !1686
  5810. br i1 %13, label %Then, label %Else, !dbg !1686
  5811.  
  5812. Then: ; preds = %Entry
  5813. %14 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1687
  5814. %15 = load i32, i32* %14, align 4, !dbg !1687
  5815. %16 = icmp eq i32 %15, 0, !dbg !1688
  5816. br i1 %16, label %Then1, label %Else2, !dbg !1688
  5817.  
  5818. Else: ; preds = %Entry
  5819. br label %EndIf6, !dbg !1689
  5820.  
  5821. Then1: ; preds = %Then
  5822. %17 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  5823. %18 = icmp ne i64* %17, null, !dbg !1690
  5824. br i1 %18, label %MaybeThen, label %MaybeElse, !dbg !1690
  5825.  
  5826. Else2: ; preds = %Then
  5827. br label %EndIf, !dbg !1691
  5828.  
  5829. MaybeThen: ; preds = %Then1
  5830. %19 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  5831. %20 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  5832. store i64* %20, i64** %rem, align 8, !dbg !1690
  5833. call void @llvm.dbg.declare(metadata i64** %rem, metadata !1644, metadata !277), !dbg !1690
  5834. %21 = load i64*, i64** %rem, align 8, !dbg !1692
  5835. %22 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1695
  5836. %23 = load i32, i32* %22, align 4, !dbg !1695
  5837. %24 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1696
  5838. %25 = load i32, i32* %24, align 4, !dbg !1696
  5839. %26 = urem i32 %23, %25, !dbg !1697
  5840. %27 = zext i32 %26 to i64, !dbg !1697
  5841. store i64 %27, i64* %21, align 8, !dbg !1698
  5842. br label %MaybeEndIf, !dbg !1690
  5843.  
  5844. MaybeElse: ; preds = %Then1
  5845. br label %MaybeEndIf, !dbg !1690
  5846.  
  5847. MaybeEndIf: ; preds = %MaybeElse, %MaybeThen
  5848. %28 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1699
  5849. %29 = load i32, i32* %28, align 4, !dbg !1699
  5850. %30 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1700
  5851. %31 = load i32, i32* %30, align 4, !dbg !1700
  5852. %32 = udiv i32 %29, %31, !dbg !1701
  5853. %33 = zext i32 %32 to i64, !dbg !1701
  5854. ret i64 %33, !dbg !1702
  5855.  
  5856. EndIf: ; preds = %Else2
  5857. %34 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  5858. %35 = icmp ne i64* %34, null, !dbg !1703
  5859. br i1 %35, label %MaybeThen3, label %MaybeElse4, !dbg !1703
  5860.  
  5861. MaybeThen3: ; preds = %EndIf
  5862. %36 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  5863. %37 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  5864. store i64* %37, i64** %rem64, align 8, !dbg !1703
  5865. call void @llvm.dbg.declare(metadata i64** %rem64, metadata !1648, metadata !277), !dbg !1703
  5866. %38 = load i64*, i64** %rem64, align 8, !dbg !1704
  5867. %39 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1707
  5868. %40 = load i32, i32* %39, align 4, !dbg !1707
  5869. %41 = zext i32 %40 to i64, !dbg !1707
  5870. store i64 %41, i64* %38, align 8, !dbg !1708
  5871. br label %MaybeEndIf5, !dbg !1703
  5872.  
  5873. MaybeElse4: ; preds = %EndIf
  5874. br label %MaybeEndIf5, !dbg !1703
  5875.  
  5876. MaybeEndIf5: ; preds = %MaybeElse4, %MaybeThen3
  5877. ret i64 0, !dbg !1709
  5878.  
  5879. EndIf6: ; preds = %Else
  5880. %42 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1710
  5881. %43 = load i32, i32* %42, align 4, !dbg !1710
  5882. %44 = icmp eq i32 %43, 0, !dbg !1711
  5883. br i1 %44, label %Then7, label %Else8, !dbg !1711
  5884.  
  5885. Then7: ; preds = %EndIf6
  5886. %45 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1712
  5887. %46 = load i32, i32* %45, align 4, !dbg !1712
  5888. %47 = icmp eq i32 %46, 0, !dbg !1713
  5889. br i1 %47, label %Then9, label %Else10, !dbg !1713
  5890.  
  5891. Else8: ; preds = %EndIf6
  5892. %48 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1714
  5893. %49 = load i32, i32* %48, align 4, !dbg !1714
  5894. %50 = icmp eq i32 %49, 0, !dbg !1715
  5895. br i1 %50, label %Then11, label %Else12, !dbg !1715
  5896.  
  5897. Then9: ; preds = %Then7
  5898. %51 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  5899. %52 = icmp ne i64* %51, null, !dbg !1716
  5900. br i1 %52, label %MaybeThen13, label %MaybeElse14, !dbg !1716
  5901.  
  5902. Else10: ; preds = %Then7
  5903. br label %EndIf16, !dbg !1717
  5904.  
  5905. Then11: ; preds = %Else8
  5906. %53 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1718
  5907. %54 = load i32, i32* %53, align 4, !dbg !1718
  5908. %55 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1719
  5909. %56 = load i32, i32* %55, align 4, !dbg !1719
  5910. %57 = sub nuw i32 %56, 1, !dbg !1720
  5911. %58 = and i32 %54, %57, !dbg !1721
  5912. %59 = icmp eq i32 %58, 0, !dbg !1722
  5913. br i1 %59, label %Then17, label %Else18, !dbg !1722
  5914.  
  5915. Else12: ; preds = %Else8
  5916. %60 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1723
  5917. %61 = load i32, i32* %60, align 4, !dbg !1723
  5918. %62 = call i32 @llvm.ctlz.i32(i32 %61, i1 false), !dbg !1724
  5919. %63 = trunc i32 %62 to i6, !dbg !1724
  5920. %64 = zext i6 %63 to i32, !dbg !1725
  5921. %65 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1726
  5922. %66 = load i32, i32* %65, align 4, !dbg !1726
  5923. %67 = call i32 @llvm.ctlz.i32(i32 %66, i1 false), !dbg !1727
  5924. %68 = trunc i32 %67 to i6, !dbg !1727
  5925. %69 = zext i6 %68 to i32, !dbg !1728
  5926. %70 = sub nsw i32 %64, %69, !dbg !1729
  5927. store i32 %70, i32* %sr, align 4, !dbg !1730
  5928. %71 = load i32, i32* %sr, align 4, !dbg !1731
  5929. %72 = icmp ugt i32 %71, 31, !dbg !1732
  5930. br i1 %72, label %Then19, label %Else20, !dbg !1732
  5931.  
  5932. MaybeThen13: ; preds = %Then9
  5933. %73 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  5934. %74 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  5935. store i64* %74, i64** %rem65, align 8, !dbg !1716
  5936. call void @llvm.dbg.declare(metadata i64** %rem65, metadata !1649, metadata !277), !dbg !1716
  5937. %75 = load i64*, i64** %rem65, align 8, !dbg !1733
  5938. %76 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1736
  5939. %77 = load i32, i32* %76, align 4, !dbg !1736
  5940. %78 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1737
  5941. %79 = load i32, i32* %78, align 4, !dbg !1737
  5942. %80 = urem i32 %77, %79, !dbg !1738
  5943. %81 = zext i32 %80 to i64, !dbg !1738
  5944. store i64 %81, i64* %75, align 8, !dbg !1739
  5945. br label %MaybeEndIf15, !dbg !1716
  5946.  
  5947. MaybeElse14: ; preds = %Then9
  5948. br label %MaybeEndIf15, !dbg !1716
  5949.  
  5950. MaybeEndIf15: ; preds = %MaybeElse14, %MaybeThen13
  5951. %82 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1740
  5952. %83 = load i32, i32* %82, align 4, !dbg !1740
  5953. %84 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1741
  5954. %85 = load i32, i32* %84, align 4, !dbg !1741
  5955. %86 = udiv i32 %83, %85, !dbg !1742
  5956. %87 = zext i32 %86 to i64, !dbg !1742
  5957. ret i64 %87, !dbg !1743
  5958.  
  5959. EndIf16: ; preds = %Else10
  5960. %88 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1744
  5961. %89 = load i32, i32* %88, align 4, !dbg !1744
  5962. %90 = icmp eq i32 %89, 0, !dbg !1745
  5963. br i1 %90, label %Then21, label %Else22, !dbg !1745
  5964.  
  5965. Then17: ; preds = %Then11
  5966. %91 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  5967. %92 = icmp ne i64* %91, null, !dbg !1746
  5968. br i1 %92, label %MaybeThen23, label %MaybeElse24, !dbg !1746
  5969.  
  5970. Else18: ; preds = %Then11
  5971. br label %EndIf28, !dbg !1747
  5972.  
  5973. Then19: ; preds = %Else12
  5974. %93 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  5975. %94 = icmp ne i64* %93, null, !dbg !1748
  5976. br i1 %94, label %MaybeThen29, label %MaybeElse30, !dbg !1748
  5977.  
  5978. Else20: ; preds = %Else12
  5979. br label %EndIf32, !dbg !1749
  5980.  
  5981. Then21: ; preds = %EndIf16
  5982. %95 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  5983. %96 = icmp ne i64* %95, null, !dbg !1750
  5984. br i1 %96, label %MaybeThen33, label %MaybeElse34, !dbg !1750
  5985.  
  5986. Else22: ; preds = %EndIf16
  5987. br label %EndIf36, !dbg !1751
  5988.  
  5989. MaybeThen23: ; preds = %Then17
  5990. %97 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  5991. %98 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  5992. store i64* %98, i64** %rem66, align 8, !dbg !1746
  5993. call void @llvm.dbg.declare(metadata i64** %rem66, metadata !1652, metadata !277), !dbg !1746
  5994. %99 = load i64*, i64** %rem66, align 8, !dbg !1752
  5995. %100 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1755
  5996. %101 = load i32, i32* %100, align 4, !dbg !1755
  5997. %102 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1756
  5998. %103 = load i32, i32* %102, align 4, !dbg !1756
  5999. %104 = sub nuw i32 %103, 1, !dbg !1757
  6000. %105 = and i32 %101, %104, !dbg !1758
  6001. %106 = zext i32 %105 to i64, !dbg !1758
  6002. store i64 %106, i64* %99, align 8, !dbg !1759
  6003. br label %MaybeEndIf37, !dbg !1746
  6004.  
  6005. MaybeElse24: ; preds = %Then17
  6006. br label %MaybeEndIf37, !dbg !1746
  6007.  
  6008. Then25: ; preds = %MaybeEndIf37
  6009. %107 = load i64, i64* %a, align 8, !dbg !1760
  6010. ret i64 %107, !dbg !1762
  6011.  
  6012. Else26: ; preds = %MaybeEndIf37
  6013. br label %EndIf27, !dbg !1763
  6014.  
  6015. EndIf27: ; preds = %Else26
  6016. %108 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1764
  6017. %109 = load i32, i32* %108, align 4, !dbg !1764
  6018. %110 = call i32 @llvm.cttz.i32(i32 %109, i1 false), !dbg !1765
  6019. %111 = trunc i32 %110 to i6, !dbg !1765
  6020. %112 = zext i6 %111 to i32, !dbg !1765
  6021. store i32 %112, i32* %sr, align 4, !dbg !1766
  6022. %113 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1767
  6023. %114 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1768
  6024. %115 = load i32, i32* %114, align 4, !dbg !1768
  6025. %116 = load i32, i32* %sr, align 4, !dbg !1769
  6026. %117 = trunc i32 %116 to i5, !dbg !1770
  6027. %118 = zext i5 %117 to i32, !dbg !1771
  6028. %119 = lshr i32 %115, %118, !dbg !1771
  6029. store i32 %119, i32* %113, align 4, !dbg !1772
  6030. %120 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1773
  6031. %121 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1774
  6032. %122 = load i32, i32* %121, align 4, !dbg !1774
  6033. %123 = load i32, i32* %sr, align 4, !dbg !1775
  6034. %124 = sub nuw i32 32, %123, !dbg !1776
  6035. %125 = trunc i32 %124 to i5, !dbg !1777
  6036. %126 = zext i5 %125 to i32, !dbg !1778
  6037. %127 = shl i32 %122, %126, !dbg !1778
  6038. %128 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1779
  6039. %129 = load i32, i32* %128, align 4, !dbg !1779
  6040. %130 = load i32, i32* %sr, align 4, !dbg !1780
  6041. %131 = trunc i32 %130 to i5, !dbg !1781
  6042. %132 = zext i5 %131 to i32, !dbg !1782
  6043. %133 = lshr i32 %129, %132, !dbg !1782
  6044. %134 = or i32 %127, %133, !dbg !1783
  6045. store i32 %134, i32* %120, align 4, !dbg !1784
  6046. %135 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1785
  6047. %136 = bitcast i32* %135 to i64*, !dbg !1786
  6048. %137 = load i64, i64* %136, align 4, !dbg !1787
  6049. ret i64 %137, !dbg !1788
  6050.  
  6051. EndIf28: ; preds = %Else18
  6052. %138 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1789
  6053. %139 = load i32, i32* %138, align 4, !dbg !1789
  6054. %140 = call i32 @llvm.ctlz.i32(i32 %139, i1 false), !dbg !1790
  6055. %141 = trunc i32 %140 to i6, !dbg !1790
  6056. %142 = zext i6 %141 to i32, !dbg !1791
  6057. %143 = add nuw i32 33, %142, !dbg !1792
  6058. %144 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1793
  6059. %145 = load i32, i32* %144, align 4, !dbg !1793
  6060. %146 = call i32 @llvm.ctlz.i32(i32 %145, i1 false), !dbg !1794
  6061. %147 = trunc i32 %146 to i6, !dbg !1794
  6062. %148 = zext i6 %147 to i32, !dbg !1795
  6063. %149 = sub nuw i32 %143, %148, !dbg !1796
  6064. store i32 %149, i32* %sr, align 4, !dbg !1797
  6065. %150 = load i32, i32* %sr, align 4, !dbg !1798
  6066. %151 = icmp eq i32 %150, 32, !dbg !1799
  6067. br i1 %151, label %Then38, label %Else39, !dbg !1799
  6068.  
  6069. MaybeThen29: ; preds = %Then19
  6070. %152 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  6071. %153 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  6072. store i64* %153, i64** %rem67, align 8, !dbg !1748
  6073. call void @llvm.dbg.declare(metadata i64** %rem67, metadata !1656, metadata !277), !dbg !1748
  6074. %154 = load i64*, i64** %rem67, align 8, !dbg !1800
  6075. %155 = load i64, i64* %a, align 8, !dbg !1803
  6076. store i64 %155, i64* %154, align 8, !dbg !1804
  6077. br label %MaybeEndIf31, !dbg !1748
  6078.  
  6079. MaybeElse30: ; preds = %Then19
  6080. br label %MaybeEndIf31, !dbg !1748
  6081.  
  6082. MaybeEndIf31: ; preds = %MaybeElse30, %MaybeThen29
  6083. ret i64 0, !dbg !1805
  6084.  
  6085. EndIf32: ; preds = %Else20
  6086. %156 = load i32, i32* %sr, align 4, !dbg !1806
  6087. %157 = add nuw i32 %156, 1, !dbg !1807
  6088. store i32 %157, i32* %sr, align 4, !dbg !1807
  6089. %158 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1808
  6090. store i32 0, i32* %158, align 4, !dbg !1809
  6091. %159 = load i32, i32* %sr, align 4, !dbg !1810
  6092. %160 = icmp eq i32 %159, 32, !dbg !1811
  6093. br i1 %160, label %Then40, label %Else41, !dbg !1811
  6094.  
  6095. MaybeThen33: ; preds = %Then21
  6096. %161 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  6097. %162 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  6098. store i64* %162, i64** %rem68, align 8, !dbg !1750
  6099. call void @llvm.dbg.declare(metadata i64** %rem68, metadata !1659, metadata !277), !dbg !1750
  6100. %163 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1812
  6101. %164 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1815
  6102. %165 = load i32, i32* %164, align 4, !dbg !1815
  6103. %166 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1816
  6104. %167 = load i32, i32* %166, align 4, !dbg !1816
  6105. %168 = urem i32 %165, %167, !dbg !1817
  6106. store i32 %168, i32* %163, align 4, !dbg !1818
  6107. %169 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1819
  6108. store i32 0, i32* %169, align 4, !dbg !1820
  6109. %170 = load i64*, i64** %rem68, align 8, !dbg !1821
  6110. %171 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1822
  6111. %172 = bitcast i32* %171 to i64*, !dbg !1823
  6112. %173 = load i64, i64* %172, align 4, !dbg !1824
  6113. store i64 %173, i64* %170, align 8, !dbg !1825
  6114. br label %MaybeEndIf35, !dbg !1750
  6115.  
  6116. MaybeElse34: ; preds = %Then21
  6117. br label %MaybeEndIf35, !dbg !1750
  6118.  
  6119. MaybeEndIf35: ; preds = %MaybeElse34, %MaybeThen33
  6120. %174 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1826
  6121. %175 = load i32, i32* %174, align 4, !dbg !1826
  6122. %176 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1827
  6123. %177 = load i32, i32* %176, align 4, !dbg !1827
  6124. %178 = udiv i32 %175, %177, !dbg !1828
  6125. %179 = zext i32 %178 to i64, !dbg !1828
  6126. ret i64 %179, !dbg !1829
  6127.  
  6128. EndIf36: ; preds = %Else22
  6129. %180 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1830
  6130. %181 = load i32, i32* %180, align 4, !dbg !1830
  6131. %182 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1831
  6132. %183 = load i32, i32* %182, align 4, !dbg !1831
  6133. %184 = sub nuw i32 %183, 1, !dbg !1832
  6134. %185 = and i32 %181, %184, !dbg !1833
  6135. %186 = icmp eq i32 %185, 0, !dbg !1834
  6136. br i1 %186, label %Then42, label %Else43, !dbg !1834
  6137.  
  6138. MaybeEndIf37: ; preds = %MaybeElse24, %MaybeThen23
  6139. %187 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1835
  6140. %188 = load i32, i32* %187, align 4, !dbg !1835
  6141. %189 = icmp eq i32 %188, 1, !dbg !1836
  6142. br i1 %189, label %Then25, label %Else26, !dbg !1836
  6143.  
  6144. Then38: ; preds = %EndIf28
  6145. %190 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1837
  6146. store i32 0, i32* %190, align 4, !dbg !1839
  6147. %191 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1840
  6148. %192 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1841
  6149. %193 = load i32, i32* %192, align 4, !dbg !1841
  6150. store i32 %193, i32* %191, align 4, !dbg !1842
  6151. %194 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1843
  6152. store i32 0, i32* %194, align 4, !dbg !1844
  6153. %195 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1845
  6154. %196 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1846
  6155. %197 = load i32, i32* %196, align 4, !dbg !1846
  6156. store i32 %197, i32* %195, align 4, !dbg !1847
  6157. br label %EndIf47, !dbg !1848
  6158.  
  6159. Else39: ; preds = %EndIf28
  6160. %198 = load i32, i32* %sr, align 4, !dbg !1849
  6161. %199 = icmp ult i32 %198, 32, !dbg !1850
  6162. br i1 %199, label %Then44, label %Else45, !dbg !1850
  6163.  
  6164. Then40: ; preds = %EndIf32
  6165. %200 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1851
  6166. %201 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1853
  6167. %202 = load i32, i32* %201, align 4, !dbg !1853
  6168. store i32 %202, i32* %200, align 4, !dbg !1854
  6169. %203 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1855
  6170. store i32 0, i32* %203, align 4, !dbg !1856
  6171. %204 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1857
  6172. %205 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1858
  6173. %206 = load i32, i32* %205, align 4, !dbg !1858
  6174. store i32 %206, i32* %204, align 4, !dbg !1859
  6175. br label %EndIf48, !dbg !1860
  6176.  
  6177. Else41: ; preds = %EndIf32
  6178. %207 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1861
  6179. %208 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1863
  6180. %209 = load i32, i32* %208, align 4, !dbg !1863
  6181. %210 = load i32, i32* %sr, align 4, !dbg !1864
  6182. %211 = trunc i32 %210 to i5, !dbg !1865
  6183. %212 = zext i5 %211 to i32, !dbg !1866
  6184. %213 = lshr i32 %209, %212, !dbg !1866
  6185. store i32 %213, i32* %207, align 4, !dbg !1867
  6186. %214 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1868
  6187. %215 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1869
  6188. %216 = load i32, i32* %215, align 4, !dbg !1869
  6189. %217 = load i32, i32* %sr, align 4, !dbg !1870
  6190. %218 = sub nuw i32 32, %217, !dbg !1871
  6191. %219 = trunc i32 %218 to i5, !dbg !1872
  6192. %220 = zext i5 %219 to i32, !dbg !1873
  6193. %221 = shl i32 %216, %220, !dbg !1873
  6194. %222 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1874
  6195. %223 = load i32, i32* %222, align 4, !dbg !1874
  6196. %224 = load i32, i32* %sr, align 4, !dbg !1875
  6197. %225 = trunc i32 %224 to i5, !dbg !1876
  6198. %226 = zext i5 %225 to i32, !dbg !1877
  6199. %227 = lshr i32 %223, %226, !dbg !1877
  6200. %228 = or i32 %221, %227, !dbg !1878
  6201. store i32 %228, i32* %214, align 4, !dbg !1879
  6202. %229 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1880
  6203. %230 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1881
  6204. %231 = load i32, i32* %230, align 4, !dbg !1881
  6205. %232 = load i32, i32* %sr, align 4, !dbg !1882
  6206. %233 = sub nuw i32 32, %232, !dbg !1883
  6207. %234 = trunc i32 %233 to i5, !dbg !1884
  6208. %235 = zext i5 %234 to i32, !dbg !1885
  6209. %236 = shl i32 %231, %235, !dbg !1885
  6210. store i32 %236, i32* %229, align 4, !dbg !1886
  6211. br label %EndIf48, !dbg !1860
  6212.  
  6213. Then42: ; preds = %EndIf36
  6214. %237 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  6215. %238 = icmp ne i64* %237, null, !dbg !1887
  6216. br i1 %238, label %MaybeThen49, label %MaybeElse50, !dbg !1887
  6217.  
  6218. Else43: ; preds = %EndIf36
  6219. br label %EndIf52, !dbg !1888
  6220.  
  6221. Then44: ; preds = %Else39
  6222. %239 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1889
  6223. store i32 0, i32* %239, align 4, !dbg !1891
  6224. %240 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1892
  6225. %241 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1893
  6226. %242 = load i32, i32* %241, align 4, !dbg !1893
  6227. %243 = load i32, i32* %sr, align 4, !dbg !1894
  6228. %244 = sub nuw i32 32, %243, !dbg !1895
  6229. %245 = trunc i32 %244 to i5, !dbg !1896
  6230. %246 = zext i5 %245 to i32, !dbg !1897
  6231. %247 = shl i32 %242, %246, !dbg !1897
  6232. store i32 %247, i32* %240, align 4, !dbg !1898
  6233. %248 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1899
  6234. %249 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1900
  6235. %250 = load i32, i32* %249, align 4, !dbg !1900
  6236. %251 = load i32, i32* %sr, align 4, !dbg !1901
  6237. %252 = trunc i32 %251 to i5, !dbg !1902
  6238. %253 = zext i5 %252 to i32, !dbg !1903
  6239. %254 = lshr i32 %250, %253, !dbg !1903
  6240. store i32 %254, i32* %248, align 4, !dbg !1904
  6241. %255 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1905
  6242. %256 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1906
  6243. %257 = load i32, i32* %256, align 4, !dbg !1906
  6244. %258 = load i32, i32* %sr, align 4, !dbg !1907
  6245. %259 = sub nuw i32 32, %258, !dbg !1908
  6246. %260 = trunc i32 %259 to i5, !dbg !1909
  6247. %261 = zext i5 %260 to i32, !dbg !1910
  6248. %262 = shl i32 %257, %261, !dbg !1910
  6249. %263 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1911
  6250. %264 = load i32, i32* %263, align 4, !dbg !1911
  6251. %265 = load i32, i32* %sr, align 4, !dbg !1912
  6252. %266 = trunc i32 %265 to i5, !dbg !1913
  6253. %267 = zext i5 %266 to i32, !dbg !1914
  6254. %268 = lshr i32 %264, %267, !dbg !1914
  6255. %269 = or i32 %262, %268, !dbg !1915
  6256. store i32 %269, i32* %255, align 4, !dbg !1916
  6257. br label %EndIf46, !dbg !1917
  6258.  
  6259. Else45: ; preds = %Else39
  6260. %270 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1918
  6261. %271 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1920
  6262. %272 = load i32, i32* %271, align 4, !dbg !1920
  6263. %273 = load i32, i32* %sr, align 4, !dbg !1921
  6264. %274 = sub nuw i32 64, %273, !dbg !1922
  6265. %275 = trunc i32 %274 to i5, !dbg !1923
  6266. %276 = zext i5 %275 to i32, !dbg !1924
  6267. %277 = shl i32 %272, %276, !dbg !1924
  6268. store i32 %277, i32* %270, align 4, !dbg !1925
  6269. %278 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1926
  6270. %279 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1927
  6271. %280 = load i32, i32* %279, align 4, !dbg !1927
  6272. %281 = load i32, i32* %sr, align 4, !dbg !1928
  6273. %282 = sub nuw i32 64, %281, !dbg !1929
  6274. %283 = trunc i32 %282 to i5, !dbg !1930
  6275. %284 = zext i5 %283 to i32, !dbg !1931
  6276. %285 = shl i32 %280, %284, !dbg !1931
  6277. %286 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1932
  6278. %287 = load i32, i32* %286, align 4, !dbg !1932
  6279. %288 = load i32, i32* %sr, align 4, !dbg !1933
  6280. %289 = sub nuw i32 %288, 32, !dbg !1934
  6281. %290 = trunc i32 %289 to i5, !dbg !1935
  6282. %291 = zext i5 %290 to i32, !dbg !1936
  6283. %292 = lshr i32 %287, %291, !dbg !1936
  6284. %293 = or i32 %285, %292, !dbg !1937
  6285. store i32 %293, i32* %278, align 4, !dbg !1938
  6286. %294 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1939
  6287. store i32 0, i32* %294, align 4, !dbg !1940
  6288. %295 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1941
  6289. %296 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1942
  6290. %297 = load i32, i32* %296, align 4, !dbg !1942
  6291. %298 = load i32, i32* %sr, align 4, !dbg !1943
  6292. %299 = sub nuw i32 %298, 32, !dbg !1944
  6293. %300 = trunc i32 %299 to i5, !dbg !1945
  6294. %301 = zext i5 %300 to i32, !dbg !1946
  6295. %302 = lshr i32 %297, %301, !dbg !1946
  6296. store i32 %302, i32* %295, align 4, !dbg !1947
  6297. br label %EndIf46, !dbg !1917
  6298.  
  6299. EndIf46: ; preds = %Else45, %Then44
  6300. br label %EndIf47, !dbg !1848
  6301.  
  6302. EndIf47: ; preds = %EndIf46, %Then38
  6303. br label %EndIf53, !dbg !1948
  6304.  
  6305. EndIf48: ; preds = %Else41, %Then40
  6306. br label %EndIf53, !dbg !1948
  6307.  
  6308. MaybeThen49: ; preds = %Then42
  6309. %303 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  6310. %304 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  6311. store i64* %304, i64** %rem69, align 8, !dbg !1887
  6312. call void @llvm.dbg.declare(metadata i64** %rem69, metadata !1661, metadata !277), !dbg !1887
  6313. %305 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1949
  6314. %306 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1952
  6315. %307 = load i32, i32* %306, align 4, !dbg !1952
  6316. store i32 %307, i32* %305, align 4, !dbg !1953
  6317. %308 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1954
  6318. %309 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1955
  6319. %310 = load i32, i32* %309, align 4, !dbg !1955
  6320. %311 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1956
  6321. %312 = load i32, i32* %311, align 4, !dbg !1956
  6322. %313 = sub nuw i32 %312, 1, !dbg !1957
  6323. %314 = and i32 %310, %313, !dbg !1958
  6324. store i32 %314, i32* %308, align 4, !dbg !1959
  6325. %315 = load i64*, i64** %rem69, align 8, !dbg !1960
  6326. %316 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1961
  6327. %317 = bitcast i32* %316 to i64*, !dbg !1962
  6328. %318 = load i64, i64* %317, align 4, !dbg !1963
  6329. store i64 %318, i64* %315, align 8, !dbg !1964
  6330. br label %MaybeEndIf51, !dbg !1887
  6331.  
  6332. MaybeElse50: ; preds = %Then42
  6333. br label %MaybeEndIf51, !dbg !1887
  6334.  
  6335. MaybeEndIf51: ; preds = %MaybeElse50, %MaybeThen49
  6336. %319 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1965
  6337. %320 = load i32, i32* %319, align 4, !dbg !1965
  6338. %321 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1966
  6339. %322 = load i32, i32* %321, align 4, !dbg !1966
  6340. %323 = call i32 @llvm.cttz.i32(i32 %322, i1 false), !dbg !1967
  6341. %324 = trunc i32 %323 to i6, !dbg !1967
  6342. %325 = trunc i6 %324 to i5, !dbg !1968
  6343. %326 = zext i5 %325 to i32, !dbg !1969
  6344. %327 = lshr i32 %320, %326, !dbg !1969
  6345. %328 = zext i32 %327 to i64, !dbg !1969
  6346. ret i64 %328, !dbg !1970
  6347.  
  6348. EndIf52: ; preds = %Else43
  6349. %329 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1971
  6350. %330 = load i32, i32* %329, align 4, !dbg !1971
  6351. %331 = call i32 @llvm.ctlz.i32(i32 %330, i1 false), !dbg !1972
  6352. %332 = trunc i32 %331 to i6, !dbg !1972
  6353. %333 = zext i6 %332 to i32, !dbg !1973
  6354. %334 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1974
  6355. %335 = load i32, i32* %334, align 4, !dbg !1974
  6356. %336 = call i32 @llvm.ctlz.i32(i32 %335, i1 false), !dbg !1975
  6357. %337 = trunc i32 %336 to i6, !dbg !1975
  6358. %338 = zext i6 %337 to i32, !dbg !1976
  6359. %339 = sub nsw i32 %333, %338, !dbg !1977
  6360. store i32 %339, i32* %sr, align 4, !dbg !1978
  6361. %340 = load i32, i32* %sr, align 4, !dbg !1979
  6362. %341 = icmp ugt i32 %340, 30, !dbg !1980
  6363. br i1 %341, label %Then54, label %Else55, !dbg !1980
  6364.  
  6365. EndIf53: ; preds = %EndIf48, %EndIf47
  6366. br label %EndIf60, !dbg !1981
  6367.  
  6368. Then54: ; preds = %EndIf52
  6369. %342 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  6370. %343 = icmp ne i64* %342, null, !dbg !1982
  6371. br i1 %343, label %MaybeThen56, label %MaybeElse57, !dbg !1982
  6372.  
  6373. Else55: ; preds = %EndIf52
  6374. br label %EndIf59, !dbg !1983
  6375.  
  6376. MaybeThen56: ; preds = %Then54
  6377. %344 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  6378. %345 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  6379. store i64* %345, i64** %rem70, align 8, !dbg !1982
  6380. call void @llvm.dbg.declare(metadata i64** %rem70, metadata !1663, metadata !277), !dbg !1982
  6381. %346 = load i64*, i64** %rem70, align 8, !dbg !1984
  6382. %347 = load i64, i64* %a, align 8, !dbg !1987
  6383. store i64 %347, i64* %346, align 8, !dbg !1988
  6384. br label %MaybeEndIf58, !dbg !1982
  6385.  
  6386. MaybeElse57: ; preds = %Then54
  6387. br label %MaybeEndIf58, !dbg !1982
  6388.  
  6389. MaybeEndIf58: ; preds = %MaybeElse57, %MaybeThen56
  6390. ret i64 0, !dbg !1989
  6391.  
  6392. EndIf59: ; preds = %Else55
  6393. %348 = load i32, i32* %sr, align 4, !dbg !1990
  6394. %349 = add nuw i32 %348, 1, !dbg !1991
  6395. store i32 %349, i32* %sr, align 4, !dbg !1991
  6396. %350 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1992
  6397. store i32 0, i32* %350, align 4, !dbg !1993
  6398. %351 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1994
  6399. %352 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1995
  6400. %353 = load i32, i32* %352, align 4, !dbg !1995
  6401. %354 = load i32, i32* %sr, align 4, !dbg !1996
  6402. %355 = sub nuw i32 32, %354, !dbg !1997
  6403. %356 = trunc i32 %355 to i5, !dbg !1998
  6404. %357 = zext i5 %356 to i32, !dbg !1999
  6405. %358 = shl i32 %353, %357, !dbg !1999
  6406. store i32 %358, i32* %351, align 4, !dbg !2000
  6407. %359 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2001
  6408. %360 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !2002
  6409. %361 = load i32, i32* %360, align 4, !dbg !2002
  6410. %362 = load i32, i32* %sr, align 4, !dbg !2003
  6411. %363 = trunc i32 %362 to i5, !dbg !2004
  6412. %364 = zext i5 %363 to i32, !dbg !2005
  6413. %365 = lshr i32 %361, %364, !dbg !2005
  6414. store i32 %365, i32* %359, align 4, !dbg !2006
  6415. %366 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2007
  6416. %367 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !2008
  6417. %368 = load i32, i32* %367, align 4, !dbg !2008
  6418. %369 = load i32, i32* %sr, align 4, !dbg !2009
  6419. %370 = sub nuw i32 32, %369, !dbg !2010
  6420. %371 = trunc i32 %370 to i5, !dbg !2011
  6421. %372 = zext i5 %371 to i32, !dbg !2012
  6422. %373 = shl i32 %368, %372, !dbg !2012
  6423. %374 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !2013
  6424. %375 = load i32, i32* %374, align 4, !dbg !2013
  6425. %376 = load i32, i32* %sr, align 4, !dbg !2014
  6426. %377 = trunc i32 %376 to i5, !dbg !2015
  6427. %378 = zext i5 %377 to i32, !dbg !2016
  6428. %379 = lshr i32 %375, %378, !dbg !2016
  6429. %380 = or i32 %373, %379, !dbg !2017
  6430. store i32 %380, i32* %366, align 4, !dbg !2018
  6431. br label %EndIf60, !dbg !1981
  6432.  
  6433. EndIf60: ; preds = %EndIf59, %EndIf53
  6434. store i32 0, i32* %carry, align 4, !dbg !2019
  6435. call void @llvm.dbg.declare(metadata i32* %carry, metadata !1665, metadata !277), !dbg !2019
  6436. call void @llvm.dbg.declare(metadata i64* %r_all, metadata !1666, metadata !277), !dbg !2020
  6437. br label %WhileCond, !dbg !2021
  6438.  
  6439. WhileCond: ; preds = %WhileBody, %EndIf60
  6440. %381 = load i32, i32* %sr, align 4, !dbg !2022
  6441. %382 = icmp ugt i32 %381, 0, !dbg !2023
  6442. br i1 %382, label %WhileBody, label %WhileEnd, !dbg !2023
  6443.  
  6444. WhileBody: ; preds = %WhileCond
  6445. %383 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2024
  6446. %384 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2025
  6447. %385 = load i32, i32* %384, align 4, !dbg !2025
  6448. %386 = shl i32 %385, 1, !dbg !2026
  6449. %387 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2027
  6450. %388 = load i32, i32* %387, align 4, !dbg !2027
  6451. %389 = lshr i32 %388, 31, !dbg !2028
  6452. %390 = or i32 %386, %389, !dbg !2029
  6453. store i32 %390, i32* %383, align 4, !dbg !2030
  6454. %391 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2031
  6455. %392 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2032
  6456. %393 = load i32, i32* %392, align 4, !dbg !2032
  6457. %394 = shl i32 %393, 1, !dbg !2033
  6458. %395 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2034
  6459. %396 = load i32, i32* %395, align 4, !dbg !2034
  6460. %397 = lshr i32 %396, 31, !dbg !2035
  6461. %398 = or i32 %394, %397, !dbg !2036
  6462. store i32 %398, i32* %391, align 4, !dbg !2037
  6463. %399 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2038
  6464. %400 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2039
  6465. %401 = load i32, i32* %400, align 4, !dbg !2039
  6466. %402 = shl i32 %401, 1, !dbg !2040
  6467. %403 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2041
  6468. %404 = load i32, i32* %403, align 4, !dbg !2041
  6469. %405 = lshr i32 %404, 31, !dbg !2042
  6470. %406 = or i32 %402, %405, !dbg !2043
  6471. store i32 %406, i32* %399, align 4, !dbg !2044
  6472. %407 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2045
  6473. %408 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2046
  6474. %409 = load i32, i32* %408, align 4, !dbg !2046
  6475. %410 = shl i32 %409, 1, !dbg !2047
  6476. %411 = load i32, i32* %carry, align 4, !dbg !2048
  6477. %412 = or i32 %410, %411, !dbg !2049
  6478. store i32 %412, i32* %407, align 4, !dbg !2050
  6479. %413 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2051
  6480. %414 = bitcast i32* %413 to i64*, !dbg !2052
  6481. %415 = load i64, i64* %414, align 4, !dbg !2053
  6482. store i64 %415, i64* %r_all, align 8, !dbg !2054
  6483. %416 = load i64, i64* %b, align 8, !dbg !2055
  6484. %417 = load i64, i64* %r_all, align 8, !dbg !2056
  6485. %418 = sub i64 %416, %417, !dbg !2057
  6486. %419 = sub i64 %418, 1, !dbg !2058
  6487. %420 = ashr i64 %419, 63, !dbg !2059
  6488. store i64 %420, i64* %s, align 8, !dbg !2060
  6489. call void @llvm.dbg.declare(metadata i64* %s, metadata !1668, metadata !277), !dbg !2060
  6490. %421 = load i64, i64* %s, align 8, !dbg !2061
  6491. %422 = and i64 %421, 1, !dbg !2063
  6492. %423 = trunc i64 %422 to i32, !dbg !2064
  6493. store i32 %423, i32* %carry, align 4, !dbg !2065
  6494. %424 = load i64, i64* %r_all, align 8, !dbg !2066
  6495. %425 = load i64, i64* %b, align 8, !dbg !2067
  6496. %426 = load i64, i64* %s, align 8, !dbg !2068
  6497. %427 = and i64 %425, %426, !dbg !2069
  6498. %428 = sub nuw i64 %424, %427, !dbg !2070
  6499. store i64 %428, i64* %r_all, align 8, !dbg !2070
  6500. %429 = bitcast i64* %r_all to [2 x i32]*, !dbg !2071
  6501. %430 = bitcast [2 x i32]* %429 to i8*, !dbg !2072
  6502. %431 = bitcast [2 x i32]* %r to i8*, !dbg !2072
  6503. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %431, i8* %430, i64 8, i32 4, i1 false), !dbg !2072
  6504. %432 = load i32, i32* %sr, align 4, !dbg !2073
  6505. %433 = sub nuw i32 %432, 1, !dbg !2074
  6506. store i32 %433, i32* %sr, align 4, !dbg !2074
  6507. br label %WhileCond, !dbg !2021
  6508.  
  6509. WhileEnd: ; preds = %WhileCond
  6510. %434 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2075
  6511. %435 = bitcast i32* %434 to i64*, !dbg !2076
  6512. %436 = load i64, i64* %435, align 4, !dbg !2077
  6513. %437 = shl i64 %436, 1, !dbg !2078
  6514. %438 = load i32, i32* %carry, align 4, !dbg !2079
  6515. %439 = zext i32 %438 to i64, !dbg !2079
  6516. %440 = or i64 %437, %439, !dbg !2080
  6517. store i64 %440, i64* %q_all, align 8, !dbg !2081
  6518. call void @llvm.dbg.declare(metadata i64* %q_all, metadata !1672, metadata !277), !dbg !2081
  6519. %441 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  6520. %442 = icmp ne i64* %441, null, !dbg !2082
  6521. br i1 %442, label %MaybeThen61, label %MaybeElse62, !dbg !2082
  6522.  
  6523. MaybeThen61: ; preds = %WhileEnd
  6524. %443 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  6525. %444 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  6526. store i64* %444, i64** %rem71, align 8, !dbg !2082
  6527. call void @llvm.dbg.declare(metadata i64** %rem71, metadata !1673, metadata !277), !dbg !2082
  6528. %445 = load i64*, i64** %rem71, align 8, !dbg !2083
  6529. %446 = load i64, i64* %r_all, align 8, !dbg !2086
  6530. store i64 %446, i64* %445, align 8, !dbg !2087
  6531. br label %MaybeEndIf63, !dbg !2082
  6532.  
  6533. MaybeElse62: ; preds = %WhileEnd
  6534. br label %MaybeEndIf63, !dbg !2082
  6535.  
  6536. MaybeEndIf63: ; preds = %MaybeElse62, %MaybeThen61
  6537. %447 = load i64, i64* %q_all, align 8, !dbg !2088
  6538. ret i64 %447, !dbg !2089
  6539. }
  6540.  
  6541. ; Function Attrs: nobuiltin nounwind
  6542. define internal fastcc i128 @udivmod.11(i128, i128, i128*) unnamed_addr #0 !dbg !2090 {
  6543. Entry:
  6544. %a = alloca i128, align 8
  6545. %b = alloca i128, align 8
  6546. %maybe_rem = alloca i128*, align 8
  6547. %n = alloca [2 x i64], align 8
  6548. %d = alloca [2 x i64], align 8
  6549. %q = alloca [2 x i64], align 8
  6550. %r = alloca [2 x i64], align 8
  6551. %sr = alloca i32, align 4
  6552. %rem = alloca i128*, align 8
  6553. %rem64 = alloca i128*, align 8
  6554. %rem65 = alloca i128*, align 8
  6555. %rem66 = alloca i128*, align 8
  6556. %rem67 = alloca i128*, align 8
  6557. %rem68 = alloca i128*, align 8
  6558. %rem69 = alloca i128*, align 8
  6559. %rem70 = alloca i128*, align 8
  6560. %carry = alloca i32, align 4
  6561. %r_all = alloca i128, align 8
  6562. %s = alloca i128, align 8
  6563. %q_all = alloca i128, align 8
  6564. %rem71 = alloca i128*, align 8
  6565. store i128 %0, i128* %a, align 8
  6566. call void @llvm.dbg.declare(metadata i128* %a, metadata !2092, metadata !277), !dbg !2146
  6567. store i128 %1, i128* %b, align 8
  6568. call void @llvm.dbg.declare(metadata i128* %b, metadata !2097, metadata !277), !dbg !2147
  6569. store i128* %2, i128** %maybe_rem, align 8
  6570. call void @llvm.dbg.declare(metadata i128** %maybe_rem, metadata !2099, metadata !277), !dbg !2148
  6571. %3 = bitcast i128* %a to [2 x i64]*, !dbg !2149
  6572. %4 = bitcast [2 x i64]* %3 to i8*, !dbg !2150
  6573. %5 = bitcast [2 x i64]* %n to i8*, !dbg !2150
  6574. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %4, i64 16, i32 8, i1 false), !dbg !2150
  6575. call void @llvm.dbg.declare(metadata [2 x i64]* %n, metadata !2101, metadata !277), !dbg !2150
  6576. %6 = bitcast i128* %b to [2 x i64]*, !dbg !2151
  6577. %7 = bitcast [2 x i64]* %6 to i8*, !dbg !2152
  6578. %8 = bitcast [2 x i64]* %d to i8*, !dbg !2152
  6579. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 16, i32 8, i1 false), !dbg !2152
  6580. call void @llvm.dbg.declare(metadata [2 x i64]* %d, metadata !2108, metadata !277), !dbg !2152
  6581. %9 = bitcast [2 x i64]* %q to i8*, !dbg !2153
  6582. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* bitcast ([2 x i64]* @5 to i8*), i64 16, i32 8, i1 false), !dbg !2153
  6583. call void @llvm.dbg.declare(metadata [2 x i64]* %q, metadata !2110, metadata !277), !dbg !2153
  6584. %10 = bitcast [2 x i64]* %r to i8*, !dbg !2154
  6585. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ([2 x i64]* @6 to i8*), i64 16, i32 8, i1 false), !dbg !2154
  6586. call void @llvm.dbg.declare(metadata [2 x i64]* %r, metadata !2112, metadata !277), !dbg !2154
  6587. call void @llvm.dbg.declare(metadata i32* %sr, metadata !2114, metadata !277), !dbg !2155
  6588. %11 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2156
  6589. %12 = load i64, i64* %11, align 8, !dbg !2156
  6590. %13 = icmp eq i64 %12, 0, !dbg !2157
  6591. br i1 %13, label %Then, label %Else, !dbg !2157
  6592.  
  6593. Then: ; preds = %Entry
  6594. %14 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2158
  6595. %15 = load i64, i64* %14, align 8, !dbg !2158
  6596. %16 = icmp eq i64 %15, 0, !dbg !2159
  6597. br i1 %16, label %Then1, label %Else2, !dbg !2159
  6598.  
  6599. Else: ; preds = %Entry
  6600. br label %EndIf6, !dbg !2160
  6601.  
  6602. Then1: ; preds = %Then
  6603. %17 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  6604. %18 = icmp ne i128* %17, null, !dbg !2161
  6605. br i1 %18, label %MaybeThen, label %MaybeElse, !dbg !2161
  6606.  
  6607. Else2: ; preds = %Then
  6608. br label %EndIf, !dbg !2162
  6609.  
  6610. MaybeThen: ; preds = %Then1
  6611. %19 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  6612. %20 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  6613. store i128* %20, i128** %rem, align 8, !dbg !2161
  6614. call void @llvm.dbg.declare(metadata i128** %rem, metadata !2116, metadata !277), !dbg !2161
  6615. %21 = load i128*, i128** %rem, align 8, !dbg !2163
  6616. %22 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2166
  6617. %23 = load i64, i64* %22, align 8, !dbg !2166
  6618. %24 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2167
  6619. %25 = load i64, i64* %24, align 8, !dbg !2167
  6620. %26 = urem i64 %23, %25, !dbg !2168
  6621. %27 = zext i64 %26 to i128, !dbg !2168
  6622. store i128 %27, i128* %21, align 8, !dbg !2169
  6623. br label %MaybeEndIf, !dbg !2161
  6624.  
  6625. MaybeElse: ; preds = %Then1
  6626. br label %MaybeEndIf, !dbg !2161
  6627.  
  6628. MaybeEndIf: ; preds = %MaybeElse, %MaybeThen
  6629. %28 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2170
  6630. %29 = load i64, i64* %28, align 8, !dbg !2170
  6631. %30 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2171
  6632. %31 = load i64, i64* %30, align 8, !dbg !2171
  6633. %32 = udiv i64 %29, %31, !dbg !2172
  6634. %33 = zext i64 %32 to i128, !dbg !2172
  6635. ret i128 %33, !dbg !2173
  6636.  
  6637. EndIf: ; preds = %Else2
  6638. %34 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  6639. %35 = icmp ne i128* %34, null, !dbg !2174
  6640. br i1 %35, label %MaybeThen3, label %MaybeElse4, !dbg !2174
  6641.  
  6642. MaybeThen3: ; preds = %EndIf
  6643. %36 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  6644. %37 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  6645. store i128* %37, i128** %rem64, align 8, !dbg !2174
  6646. call void @llvm.dbg.declare(metadata i128** %rem64, metadata !2120, metadata !277), !dbg !2174
  6647. %38 = load i128*, i128** %rem64, align 8, !dbg !2175
  6648. %39 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2178
  6649. %40 = load i64, i64* %39, align 8, !dbg !2178
  6650. %41 = zext i64 %40 to i128, !dbg !2178
  6651. store i128 %41, i128* %38, align 8, !dbg !2179
  6652. br label %MaybeEndIf5, !dbg !2174
  6653.  
  6654. MaybeElse4: ; preds = %EndIf
  6655. br label %MaybeEndIf5, !dbg !2174
  6656.  
  6657. MaybeEndIf5: ; preds = %MaybeElse4, %MaybeThen3
  6658. ret i128 0, !dbg !2180
  6659.  
  6660. EndIf6: ; preds = %Else
  6661. %42 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2181
  6662. %43 = load i64, i64* %42, align 8, !dbg !2181
  6663. %44 = icmp eq i64 %43, 0, !dbg !2182
  6664. br i1 %44, label %Then7, label %Else8, !dbg !2182
  6665.  
  6666. Then7: ; preds = %EndIf6
  6667. %45 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2183
  6668. %46 = load i64, i64* %45, align 8, !dbg !2183
  6669. %47 = icmp eq i64 %46, 0, !dbg !2184
  6670. br i1 %47, label %Then9, label %Else10, !dbg !2184
  6671.  
  6672. Else8: ; preds = %EndIf6
  6673. %48 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2185
  6674. %49 = load i64, i64* %48, align 8, !dbg !2185
  6675. %50 = icmp eq i64 %49, 0, !dbg !2186
  6676. br i1 %50, label %Then11, label %Else12, !dbg !2186
  6677.  
  6678. Then9: ; preds = %Then7
  6679. %51 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  6680. %52 = icmp ne i128* %51, null, !dbg !2187
  6681. br i1 %52, label %MaybeThen13, label %MaybeElse14, !dbg !2187
  6682.  
  6683. Else10: ; preds = %Then7
  6684. br label %EndIf16, !dbg !2188
  6685.  
  6686. Then11: ; preds = %Else8
  6687. %53 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2189
  6688. %54 = load i64, i64* %53, align 8, !dbg !2189
  6689. %55 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2190
  6690. %56 = load i64, i64* %55, align 8, !dbg !2190
  6691. %57 = sub nuw i64 %56, 1, !dbg !2191
  6692. %58 = and i64 %54, %57, !dbg !2192
  6693. %59 = icmp eq i64 %58, 0, !dbg !2193
  6694. br i1 %59, label %Then17, label %Else18, !dbg !2193
  6695.  
  6696. Else12: ; preds = %Else8
  6697. %60 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2194
  6698. %61 = load i64, i64* %60, align 8, !dbg !2194
  6699. %62 = call i64 @llvm.ctlz.i64(i64 %61, i1 false), !dbg !2195
  6700. %63 = trunc i64 %62 to i7, !dbg !2195
  6701. %64 = zext i7 %63 to i32, !dbg !2196
  6702. %65 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2197
  6703. %66 = load i64, i64* %65, align 8, !dbg !2197
  6704. %67 = call i64 @llvm.ctlz.i64(i64 %66, i1 false), !dbg !2198
  6705. %68 = trunc i64 %67 to i7, !dbg !2198
  6706. %69 = zext i7 %68 to i32, !dbg !2199
  6707. %70 = sub nsw i32 %64, %69, !dbg !2200
  6708. store i32 %70, i32* %sr, align 4, !dbg !2201
  6709. %71 = load i32, i32* %sr, align 4, !dbg !2202
  6710. %72 = icmp ugt i32 %71, 63, !dbg !2203
  6711. br i1 %72, label %Then19, label %Else20, !dbg !2203
  6712.  
  6713. MaybeThen13: ; preds = %Then9
  6714. %73 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  6715. %74 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  6716. store i128* %74, i128** %rem65, align 8, !dbg !2187
  6717. call void @llvm.dbg.declare(metadata i128** %rem65, metadata !2121, metadata !277), !dbg !2187
  6718. %75 = load i128*, i128** %rem65, align 8, !dbg !2204
  6719. %76 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2207
  6720. %77 = load i64, i64* %76, align 8, !dbg !2207
  6721. %78 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2208
  6722. %79 = load i64, i64* %78, align 8, !dbg !2208
  6723. %80 = urem i64 %77, %79, !dbg !2209
  6724. %81 = zext i64 %80 to i128, !dbg !2209
  6725. store i128 %81, i128* %75, align 8, !dbg !2210
  6726. br label %MaybeEndIf15, !dbg !2187
  6727.  
  6728. MaybeElse14: ; preds = %Then9
  6729. br label %MaybeEndIf15, !dbg !2187
  6730.  
  6731. MaybeEndIf15: ; preds = %MaybeElse14, %MaybeThen13
  6732. %82 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2211
  6733. %83 = load i64, i64* %82, align 8, !dbg !2211
  6734. %84 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2212
  6735. %85 = load i64, i64* %84, align 8, !dbg !2212
  6736. %86 = udiv i64 %83, %85, !dbg !2213
  6737. %87 = zext i64 %86 to i128, !dbg !2213
  6738. ret i128 %87, !dbg !2214
  6739.  
  6740. EndIf16: ; preds = %Else10
  6741. %88 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2215
  6742. %89 = load i64, i64* %88, align 8, !dbg !2215
  6743. %90 = icmp eq i64 %89, 0, !dbg !2216
  6744. br i1 %90, label %Then21, label %Else22, !dbg !2216
  6745.  
  6746. Then17: ; preds = %Then11
  6747. %91 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  6748. %92 = icmp ne i128* %91, null, !dbg !2217
  6749. br i1 %92, label %MaybeThen23, label %MaybeElse24, !dbg !2217
  6750.  
  6751. Else18: ; preds = %Then11
  6752. br label %EndIf28, !dbg !2218
  6753.  
  6754. Then19: ; preds = %Else12
  6755. %93 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  6756. %94 = icmp ne i128* %93, null, !dbg !2219
  6757. br i1 %94, label %MaybeThen29, label %MaybeElse30, !dbg !2219
  6758.  
  6759. Else20: ; preds = %Else12
  6760. br label %EndIf32, !dbg !2220
  6761.  
  6762. Then21: ; preds = %EndIf16
  6763. %95 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  6764. %96 = icmp ne i128* %95, null, !dbg !2221
  6765. br i1 %96, label %MaybeThen33, label %MaybeElse34, !dbg !2221
  6766.  
  6767. Else22: ; preds = %EndIf16
  6768. br label %EndIf36, !dbg !2222
  6769.  
  6770. MaybeThen23: ; preds = %Then17
  6771. %97 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  6772. %98 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  6773. store i128* %98, i128** %rem66, align 8, !dbg !2217
  6774. call void @llvm.dbg.declare(metadata i128** %rem66, metadata !2124, metadata !277), !dbg !2217
  6775. %99 = load i128*, i128** %rem66, align 8, !dbg !2223
  6776. %100 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2226
  6777. %101 = load i64, i64* %100, align 8, !dbg !2226
  6778. %102 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2227
  6779. %103 = load i64, i64* %102, align 8, !dbg !2227
  6780. %104 = sub nuw i64 %103, 1, !dbg !2228
  6781. %105 = and i64 %101, %104, !dbg !2229
  6782. %106 = zext i64 %105 to i128, !dbg !2229
  6783. store i128 %106, i128* %99, align 8, !dbg !2230
  6784. br label %MaybeEndIf37, !dbg !2217
  6785.  
  6786. MaybeElse24: ; preds = %Then17
  6787. br label %MaybeEndIf37, !dbg !2217
  6788.  
  6789. Then25: ; preds = %MaybeEndIf37
  6790. %107 = load i128, i128* %a, align 8, !dbg !2231
  6791. ret i128 %107, !dbg !2233
  6792.  
  6793. Else26: ; preds = %MaybeEndIf37
  6794. br label %EndIf27, !dbg !2234
  6795.  
  6796. EndIf27: ; preds = %Else26
  6797. %108 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2235
  6798. %109 = load i64, i64* %108, align 8, !dbg !2235
  6799. %110 = call i64 @llvm.cttz.i64(i64 %109, i1 false), !dbg !2236
  6800. %111 = trunc i64 %110 to i7, !dbg !2236
  6801. %112 = zext i7 %111 to i32, !dbg !2236
  6802. store i32 %112, i32* %sr, align 4, !dbg !2237
  6803. %113 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2238
  6804. %114 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2239
  6805. %115 = load i64, i64* %114, align 8, !dbg !2239
  6806. %116 = load i32, i32* %sr, align 4, !dbg !2240
  6807. %117 = trunc i32 %116 to i6, !dbg !2241
  6808. %118 = zext i6 %117 to i64, !dbg !2242
  6809. %119 = lshr i64 %115, %118, !dbg !2242
  6810. store i64 %119, i64* %113, align 8, !dbg !2243
  6811. %120 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2244
  6812. %121 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2245
  6813. %122 = load i64, i64* %121, align 8, !dbg !2245
  6814. %123 = load i32, i32* %sr, align 4, !dbg !2246
  6815. %124 = sub nuw i32 64, %123, !dbg !2247
  6816. %125 = trunc i32 %124 to i6, !dbg !2248
  6817. %126 = zext i6 %125 to i64, !dbg !2249
  6818. %127 = shl i64 %122, %126, !dbg !2249
  6819. %128 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2250
  6820. %129 = load i64, i64* %128, align 8, !dbg !2250
  6821. %130 = load i32, i32* %sr, align 4, !dbg !2251
  6822. %131 = trunc i32 %130 to i6, !dbg !2252
  6823. %132 = zext i6 %131 to i64, !dbg !2253
  6824. %133 = lshr i64 %129, %132, !dbg !2253
  6825. %134 = or i64 %127, %133, !dbg !2254
  6826. store i64 %134, i64* %120, align 8, !dbg !2255
  6827. %135 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2256
  6828. %136 = bitcast i64* %135 to i128*, !dbg !2257
  6829. %137 = load i128, i128* %136, align 8, !dbg !2258
  6830. ret i128 %137, !dbg !2259
  6831.  
  6832. EndIf28: ; preds = %Else18
  6833. %138 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2260
  6834. %139 = load i64, i64* %138, align 8, !dbg !2260
  6835. %140 = call i64 @llvm.ctlz.i64(i64 %139, i1 false), !dbg !2261
  6836. %141 = trunc i64 %140 to i7, !dbg !2261
  6837. %142 = zext i7 %141 to i32, !dbg !2262
  6838. %143 = add nuw i32 65, %142, !dbg !2263
  6839. %144 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2264
  6840. %145 = load i64, i64* %144, align 8, !dbg !2264
  6841. %146 = call i64 @llvm.ctlz.i64(i64 %145, i1 false), !dbg !2265
  6842. %147 = trunc i64 %146 to i7, !dbg !2265
  6843. %148 = zext i7 %147 to i32, !dbg !2266
  6844. %149 = sub nuw i32 %143, %148, !dbg !2267
  6845. store i32 %149, i32* %sr, align 4, !dbg !2268
  6846. %150 = load i32, i32* %sr, align 4, !dbg !2269
  6847. %151 = icmp eq i32 %150, 64, !dbg !2270
  6848. br i1 %151, label %Then38, label %Else39, !dbg !2270
  6849.  
  6850. MaybeThen29: ; preds = %Then19
  6851. %152 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  6852. %153 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  6853. store i128* %153, i128** %rem67, align 8, !dbg !2219
  6854. call void @llvm.dbg.declare(metadata i128** %rem67, metadata !2128, metadata !277), !dbg !2219
  6855. %154 = load i128*, i128** %rem67, align 8, !dbg !2271
  6856. %155 = load i128, i128* %a, align 8, !dbg !2274
  6857. store i128 %155, i128* %154, align 8, !dbg !2275
  6858. br label %MaybeEndIf31, !dbg !2219
  6859.  
  6860. MaybeElse30: ; preds = %Then19
  6861. br label %MaybeEndIf31, !dbg !2219
  6862.  
  6863. MaybeEndIf31: ; preds = %MaybeElse30, %MaybeThen29
  6864. ret i128 0, !dbg !2276
  6865.  
  6866. EndIf32: ; preds = %Else20
  6867. %156 = load i32, i32* %sr, align 4, !dbg !2277
  6868. %157 = add nuw i32 %156, 1, !dbg !2278
  6869. store i32 %157, i32* %sr, align 4, !dbg !2278
  6870. %158 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2279
  6871. store i64 0, i64* %158, align 8, !dbg !2280
  6872. %159 = load i32, i32* %sr, align 4, !dbg !2281
  6873. %160 = icmp eq i32 %159, 64, !dbg !2282
  6874. br i1 %160, label %Then40, label %Else41, !dbg !2282
  6875.  
  6876. MaybeThen33: ; preds = %Then21
  6877. %161 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  6878. %162 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  6879. store i128* %162, i128** %rem68, align 8, !dbg !2221
  6880. call void @llvm.dbg.declare(metadata i128** %rem68, metadata !2131, metadata !277), !dbg !2221
  6881. %163 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2283
  6882. %164 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2286
  6883. %165 = load i64, i64* %164, align 8, !dbg !2286
  6884. %166 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2287
  6885. %167 = load i64, i64* %166, align 8, !dbg !2287
  6886. %168 = urem i64 %165, %167, !dbg !2288
  6887. store i64 %168, i64* %163, align 8, !dbg !2289
  6888. %169 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2290
  6889. store i64 0, i64* %169, align 8, !dbg !2291
  6890. %170 = load i128*, i128** %rem68, align 8, !dbg !2292
  6891. %171 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2293
  6892. %172 = bitcast i64* %171 to i128*, !dbg !2294
  6893. %173 = load i128, i128* %172, align 8, !dbg !2295
  6894. store i128 %173, i128* %170, align 8, !dbg !2296
  6895. br label %MaybeEndIf35, !dbg !2221
  6896.  
  6897. MaybeElse34: ; preds = %Then21
  6898. br label %MaybeEndIf35, !dbg !2221
  6899.  
  6900. MaybeEndIf35: ; preds = %MaybeElse34, %MaybeThen33
  6901. %174 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2297
  6902. %175 = load i64, i64* %174, align 8, !dbg !2297
  6903. %176 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2298
  6904. %177 = load i64, i64* %176, align 8, !dbg !2298
  6905. %178 = udiv i64 %175, %177, !dbg !2299
  6906. %179 = zext i64 %178 to i128, !dbg !2299
  6907. ret i128 %179, !dbg !2300
  6908.  
  6909. EndIf36: ; preds = %Else22
  6910. %180 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2301
  6911. %181 = load i64, i64* %180, align 8, !dbg !2301
  6912. %182 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2302
  6913. %183 = load i64, i64* %182, align 8, !dbg !2302
  6914. %184 = sub nuw i64 %183, 1, !dbg !2303
  6915. %185 = and i64 %181, %184, !dbg !2304
  6916. %186 = icmp eq i64 %185, 0, !dbg !2305
  6917. br i1 %186, label %Then42, label %Else43, !dbg !2305
  6918.  
  6919. MaybeEndIf37: ; preds = %MaybeElse24, %MaybeThen23
  6920. %187 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2306
  6921. %188 = load i64, i64* %187, align 8, !dbg !2306
  6922. %189 = icmp eq i64 %188, 1, !dbg !2307
  6923. br i1 %189, label %Then25, label %Else26, !dbg !2307
  6924.  
  6925. Then38: ; preds = %EndIf28
  6926. %190 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2308
  6927. store i64 0, i64* %190, align 8, !dbg !2310
  6928. %191 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2311
  6929. %192 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2312
  6930. %193 = load i64, i64* %192, align 8, !dbg !2312
  6931. store i64 %193, i64* %191, align 8, !dbg !2313
  6932. %194 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2314
  6933. store i64 0, i64* %194, align 8, !dbg !2315
  6934. %195 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2316
  6935. %196 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2317
  6936. %197 = load i64, i64* %196, align 8, !dbg !2317
  6937. store i64 %197, i64* %195, align 8, !dbg !2318
  6938. br label %EndIf47, !dbg !2319
  6939.  
  6940. Else39: ; preds = %EndIf28
  6941. %198 = load i32, i32* %sr, align 4, !dbg !2320
  6942. %199 = icmp ult i32 %198, 64, !dbg !2321
  6943. br i1 %199, label %Then44, label %Else45, !dbg !2321
  6944.  
  6945. Then40: ; preds = %EndIf32
  6946. %200 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2322
  6947. %201 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2324
  6948. %202 = load i64, i64* %201, align 8, !dbg !2324
  6949. store i64 %202, i64* %200, align 8, !dbg !2325
  6950. %203 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2326
  6951. store i64 0, i64* %203, align 8, !dbg !2327
  6952. %204 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2328
  6953. %205 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2329
  6954. %206 = load i64, i64* %205, align 8, !dbg !2329
  6955. store i64 %206, i64* %204, align 8, !dbg !2330
  6956. br label %EndIf48, !dbg !2331
  6957.  
  6958. Else41: ; preds = %EndIf32
  6959. %207 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2332
  6960. %208 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2334
  6961. %209 = load i64, i64* %208, align 8, !dbg !2334
  6962. %210 = load i32, i32* %sr, align 4, !dbg !2335
  6963. %211 = trunc i32 %210 to i6, !dbg !2336
  6964. %212 = zext i6 %211 to i64, !dbg !2337
  6965. %213 = lshr i64 %209, %212, !dbg !2337
  6966. store i64 %213, i64* %207, align 8, !dbg !2338
  6967. %214 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2339
  6968. %215 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2340
  6969. %216 = load i64, i64* %215, align 8, !dbg !2340
  6970. %217 = load i32, i32* %sr, align 4, !dbg !2341
  6971. %218 = sub nuw i32 64, %217, !dbg !2342
  6972. %219 = trunc i32 %218 to i6, !dbg !2343
  6973. %220 = zext i6 %219 to i64, !dbg !2344
  6974. %221 = shl i64 %216, %220, !dbg !2344
  6975. %222 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2345
  6976. %223 = load i64, i64* %222, align 8, !dbg !2345
  6977. %224 = load i32, i32* %sr, align 4, !dbg !2346
  6978. %225 = trunc i32 %224 to i6, !dbg !2347
  6979. %226 = zext i6 %225 to i64, !dbg !2348
  6980. %227 = lshr i64 %223, %226, !dbg !2348
  6981. %228 = or i64 %221, %227, !dbg !2349
  6982. store i64 %228, i64* %214, align 8, !dbg !2350
  6983. %229 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2351
  6984. %230 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2352
  6985. %231 = load i64, i64* %230, align 8, !dbg !2352
  6986. %232 = load i32, i32* %sr, align 4, !dbg !2353
  6987. %233 = sub nuw i32 64, %232, !dbg !2354
  6988. %234 = trunc i32 %233 to i6, !dbg !2355
  6989. %235 = zext i6 %234 to i64, !dbg !2356
  6990. %236 = shl i64 %231, %235, !dbg !2356
  6991. store i64 %236, i64* %229, align 8, !dbg !2357
  6992. br label %EndIf48, !dbg !2331
  6993.  
  6994. Then42: ; preds = %EndIf36
  6995. %237 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  6996. %238 = icmp ne i128* %237, null, !dbg !2358
  6997. br i1 %238, label %MaybeThen49, label %MaybeElse50, !dbg !2358
  6998.  
  6999. Else43: ; preds = %EndIf36
  7000. br label %EndIf52, !dbg !2359
  7001.  
  7002. Then44: ; preds = %Else39
  7003. %239 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2360
  7004. store i64 0, i64* %239, align 8, !dbg !2362
  7005. %240 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2363
  7006. %241 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2364
  7007. %242 = load i64, i64* %241, align 8, !dbg !2364
  7008. %243 = load i32, i32* %sr, align 4, !dbg !2365
  7009. %244 = sub nuw i32 64, %243, !dbg !2366
  7010. %245 = trunc i32 %244 to i6, !dbg !2367
  7011. %246 = zext i6 %245 to i64, !dbg !2368
  7012. %247 = shl i64 %242, %246, !dbg !2368
  7013. store i64 %247, i64* %240, align 8, !dbg !2369
  7014. %248 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2370
  7015. %249 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2371
  7016. %250 = load i64, i64* %249, align 8, !dbg !2371
  7017. %251 = load i32, i32* %sr, align 4, !dbg !2372
  7018. %252 = trunc i32 %251 to i6, !dbg !2373
  7019. %253 = zext i6 %252 to i64, !dbg !2374
  7020. %254 = lshr i64 %250, %253, !dbg !2374
  7021. store i64 %254, i64* %248, align 8, !dbg !2375
  7022. %255 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2376
  7023. %256 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2377
  7024. %257 = load i64, i64* %256, align 8, !dbg !2377
  7025. %258 = load i32, i32* %sr, align 4, !dbg !2378
  7026. %259 = sub nuw i32 64, %258, !dbg !2379
  7027. %260 = trunc i32 %259 to i6, !dbg !2380
  7028. %261 = zext i6 %260 to i64, !dbg !2381
  7029. %262 = shl i64 %257, %261, !dbg !2381
  7030. %263 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2382
  7031. %264 = load i64, i64* %263, align 8, !dbg !2382
  7032. %265 = load i32, i32* %sr, align 4, !dbg !2383
  7033. %266 = trunc i32 %265 to i6, !dbg !2384
  7034. %267 = zext i6 %266 to i64, !dbg !2385
  7035. %268 = lshr i64 %264, %267, !dbg !2385
  7036. %269 = or i64 %262, %268, !dbg !2386
  7037. store i64 %269, i64* %255, align 8, !dbg !2387
  7038. br label %EndIf46, !dbg !2388
  7039.  
  7040. Else45: ; preds = %Else39
  7041. %270 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2389
  7042. %271 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2391
  7043. %272 = load i64, i64* %271, align 8, !dbg !2391
  7044. %273 = load i32, i32* %sr, align 4, !dbg !2392
  7045. %274 = sub nuw i32 128, %273, !dbg !2393
  7046. %275 = trunc i32 %274 to i6, !dbg !2394
  7047. %276 = zext i6 %275 to i64, !dbg !2395
  7048. %277 = shl i64 %272, %276, !dbg !2395
  7049. store i64 %277, i64* %270, align 8, !dbg !2396
  7050. %278 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2397
  7051. %279 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2398
  7052. %280 = load i64, i64* %279, align 8, !dbg !2398
  7053. %281 = load i32, i32* %sr, align 4, !dbg !2399
  7054. %282 = sub nuw i32 128, %281, !dbg !2400
  7055. %283 = trunc i32 %282 to i6, !dbg !2401
  7056. %284 = zext i6 %283 to i64, !dbg !2402
  7057. %285 = shl i64 %280, %284, !dbg !2402
  7058. %286 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2403
  7059. %287 = load i64, i64* %286, align 8, !dbg !2403
  7060. %288 = load i32, i32* %sr, align 4, !dbg !2404
  7061. %289 = sub nuw i32 %288, 64, !dbg !2405
  7062. %290 = trunc i32 %289 to i6, !dbg !2406
  7063. %291 = zext i6 %290 to i64, !dbg !2407
  7064. %292 = lshr i64 %287, %291, !dbg !2407
  7065. %293 = or i64 %285, %292, !dbg !2408
  7066. store i64 %293, i64* %278, align 8, !dbg !2409
  7067. %294 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2410
  7068. store i64 0, i64* %294, align 8, !dbg !2411
  7069. %295 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2412
  7070. %296 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2413
  7071. %297 = load i64, i64* %296, align 8, !dbg !2413
  7072. %298 = load i32, i32* %sr, align 4, !dbg !2414
  7073. %299 = sub nuw i32 %298, 64, !dbg !2415
  7074. %300 = trunc i32 %299 to i6, !dbg !2416
  7075. %301 = zext i6 %300 to i64, !dbg !2417
  7076. %302 = lshr i64 %297, %301, !dbg !2417
  7077. store i64 %302, i64* %295, align 8, !dbg !2418
  7078. br label %EndIf46, !dbg !2388
  7079.  
  7080. EndIf46: ; preds = %Else45, %Then44
  7081. br label %EndIf47, !dbg !2319
  7082.  
  7083. EndIf47: ; preds = %EndIf46, %Then38
  7084. br label %EndIf53, !dbg !2419
  7085.  
  7086. EndIf48: ; preds = %Else41, %Then40
  7087. br label %EndIf53, !dbg !2419
  7088.  
  7089. MaybeThen49: ; preds = %Then42
  7090. %303 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  7091. %304 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  7092. store i128* %304, i128** %rem69, align 8, !dbg !2358
  7093. call void @llvm.dbg.declare(metadata i128** %rem69, metadata !2133, metadata !277), !dbg !2358
  7094. %305 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2420
  7095. %306 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2423
  7096. %307 = load i64, i64* %306, align 8, !dbg !2423
  7097. store i64 %307, i64* %305, align 8, !dbg !2424
  7098. %308 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2425
  7099. %309 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2426
  7100. %310 = load i64, i64* %309, align 8, !dbg !2426
  7101. %311 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2427
  7102. %312 = load i64, i64* %311, align 8, !dbg !2427
  7103. %313 = sub nuw i64 %312, 1, !dbg !2428
  7104. %314 = and i64 %310, %313, !dbg !2429
  7105. store i64 %314, i64* %308, align 8, !dbg !2430
  7106. %315 = load i128*, i128** %rem69, align 8, !dbg !2431
  7107. %316 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2432
  7108. %317 = bitcast i64* %316 to i128*, !dbg !2433
  7109. %318 = load i128, i128* %317, align 8, !dbg !2434
  7110. store i128 %318, i128* %315, align 8, !dbg !2435
  7111. br label %MaybeEndIf51, !dbg !2358
  7112.  
  7113. MaybeElse50: ; preds = %Then42
  7114. br label %MaybeEndIf51, !dbg !2358
  7115.  
  7116. MaybeEndIf51: ; preds = %MaybeElse50, %MaybeThen49
  7117. %319 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2436
  7118. %320 = load i64, i64* %319, align 8, !dbg !2436
  7119. %321 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2437
  7120. %322 = load i64, i64* %321, align 8, !dbg !2437
  7121. %323 = call i64 @llvm.cttz.i64(i64 %322, i1 false), !dbg !2438
  7122. %324 = trunc i64 %323 to i7, !dbg !2438
  7123. %325 = trunc i7 %324 to i6, !dbg !2439
  7124. %326 = zext i6 %325 to i64, !dbg !2440
  7125. %327 = lshr i64 %320, %326, !dbg !2440
  7126. %328 = zext i64 %327 to i128, !dbg !2440
  7127. ret i128 %328, !dbg !2441
  7128.  
  7129. EndIf52: ; preds = %Else43
  7130. %329 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2442
  7131. %330 = load i64, i64* %329, align 8, !dbg !2442
  7132. %331 = call i64 @llvm.ctlz.i64(i64 %330, i1 false), !dbg !2443
  7133. %332 = trunc i64 %331 to i7, !dbg !2443
  7134. %333 = zext i7 %332 to i32, !dbg !2444
  7135. %334 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2445
  7136. %335 = load i64, i64* %334, align 8, !dbg !2445
  7137. %336 = call i64 @llvm.ctlz.i64(i64 %335, i1 false), !dbg !2446
  7138. %337 = trunc i64 %336 to i7, !dbg !2446
  7139. %338 = zext i7 %337 to i32, !dbg !2447
  7140. %339 = sub nsw i32 %333, %338, !dbg !2448
  7141. store i32 %339, i32* %sr, align 4, !dbg !2449
  7142. %340 = load i32, i32* %sr, align 4, !dbg !2450
  7143. %341 = icmp ugt i32 %340, 62, !dbg !2451
  7144. br i1 %341, label %Then54, label %Else55, !dbg !2451
  7145.  
  7146. EndIf53: ; preds = %EndIf48, %EndIf47
  7147. br label %EndIf60, !dbg !2452
  7148.  
  7149. Then54: ; preds = %EndIf52
  7150. %342 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  7151. %343 = icmp ne i128* %342, null, !dbg !2453
  7152. br i1 %343, label %MaybeThen56, label %MaybeElse57, !dbg !2453
  7153.  
  7154. Else55: ; preds = %EndIf52
  7155. br label %EndIf59, !dbg !2454
  7156.  
  7157. MaybeThen56: ; preds = %Then54
  7158. %344 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  7159. %345 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  7160. store i128* %345, i128** %rem70, align 8, !dbg !2453
  7161. call void @llvm.dbg.declare(metadata i128** %rem70, metadata !2135, metadata !277), !dbg !2453
  7162. %346 = load i128*, i128** %rem70, align 8, !dbg !2455
  7163. %347 = load i128, i128* %a, align 8, !dbg !2458
  7164. store i128 %347, i128* %346, align 8, !dbg !2459
  7165. br label %MaybeEndIf58, !dbg !2453
  7166.  
  7167. MaybeElse57: ; preds = %Then54
  7168. br label %MaybeEndIf58, !dbg !2453
  7169.  
  7170. MaybeEndIf58: ; preds = %MaybeElse57, %MaybeThen56
  7171. ret i128 0, !dbg !2460
  7172.  
  7173. EndIf59: ; preds = %Else55
  7174. %348 = load i32, i32* %sr, align 4, !dbg !2461
  7175. %349 = add nuw i32 %348, 1, !dbg !2462
  7176. store i32 %349, i32* %sr, align 4, !dbg !2462
  7177. %350 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2463
  7178. store i64 0, i64* %350, align 8, !dbg !2464
  7179. %351 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2465
  7180. %352 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2466
  7181. %353 = load i64, i64* %352, align 8, !dbg !2466
  7182. %354 = load i32, i32* %sr, align 4, !dbg !2467
  7183. %355 = sub nuw i32 64, %354, !dbg !2468
  7184. %356 = trunc i32 %355 to i6, !dbg !2469
  7185. %357 = zext i6 %356 to i64, !dbg !2470
  7186. %358 = shl i64 %353, %357, !dbg !2470
  7187. store i64 %358, i64* %351, align 8, !dbg !2471
  7188. %359 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2472
  7189. %360 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2473
  7190. %361 = load i64, i64* %360, align 8, !dbg !2473
  7191. %362 = load i32, i32* %sr, align 4, !dbg !2474
  7192. %363 = trunc i32 %362 to i6, !dbg !2475
  7193. %364 = zext i6 %363 to i64, !dbg !2476
  7194. %365 = lshr i64 %361, %364, !dbg !2476
  7195. store i64 %365, i64* %359, align 8, !dbg !2477
  7196. %366 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2478
  7197. %367 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2479
  7198. %368 = load i64, i64* %367, align 8, !dbg !2479
  7199. %369 = load i32, i32* %sr, align 4, !dbg !2480
  7200. %370 = sub nuw i32 64, %369, !dbg !2481
  7201. %371 = trunc i32 %370 to i6, !dbg !2482
  7202. %372 = zext i6 %371 to i64, !dbg !2483
  7203. %373 = shl i64 %368, %372, !dbg !2483
  7204. %374 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2484
  7205. %375 = load i64, i64* %374, align 8, !dbg !2484
  7206. %376 = load i32, i32* %sr, align 4, !dbg !2485
  7207. %377 = trunc i32 %376 to i6, !dbg !2486
  7208. %378 = zext i6 %377 to i64, !dbg !2487
  7209. %379 = lshr i64 %375, %378, !dbg !2487
  7210. %380 = or i64 %373, %379, !dbg !2488
  7211. store i64 %380, i64* %366, align 8, !dbg !2489
  7212. br label %EndIf60, !dbg !2452
  7213.  
  7214. EndIf60: ; preds = %EndIf59, %EndIf53
  7215. store i32 0, i32* %carry, align 4, !dbg !2490
  7216. call void @llvm.dbg.declare(metadata i32* %carry, metadata !2137, metadata !277), !dbg !2490
  7217. call void @llvm.dbg.declare(metadata i128* %r_all, metadata !2138, metadata !277), !dbg !2491
  7218. br label %WhileCond, !dbg !2492
  7219.  
  7220. WhileCond: ; preds = %WhileBody, %EndIf60
  7221. %381 = load i32, i32* %sr, align 4, !dbg !2493
  7222. %382 = icmp ugt i32 %381, 0, !dbg !2494
  7223. br i1 %382, label %WhileBody, label %WhileEnd, !dbg !2494
  7224.  
  7225. WhileBody: ; preds = %WhileCond
  7226. %383 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2495
  7227. %384 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2496
  7228. %385 = load i64, i64* %384, align 8, !dbg !2496
  7229. %386 = shl i64 %385, 1, !dbg !2497
  7230. %387 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2498
  7231. %388 = load i64, i64* %387, align 8, !dbg !2498
  7232. %389 = lshr i64 %388, 63, !dbg !2499
  7233. %390 = or i64 %386, %389, !dbg !2500
  7234. store i64 %390, i64* %383, align 8, !dbg !2501
  7235. %391 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2502
  7236. %392 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2503
  7237. %393 = load i64, i64* %392, align 8, !dbg !2503
  7238. %394 = shl i64 %393, 1, !dbg !2504
  7239. %395 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2505
  7240. %396 = load i64, i64* %395, align 8, !dbg !2505
  7241. %397 = lshr i64 %396, 63, !dbg !2506
  7242. %398 = or i64 %394, %397, !dbg !2507
  7243. store i64 %398, i64* %391, align 8, !dbg !2508
  7244. %399 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2509
  7245. %400 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2510
  7246. %401 = load i64, i64* %400, align 8, !dbg !2510
  7247. %402 = shl i64 %401, 1, !dbg !2511
  7248. %403 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2512
  7249. %404 = load i64, i64* %403, align 8, !dbg !2512
  7250. %405 = lshr i64 %404, 63, !dbg !2513
  7251. %406 = or i64 %402, %405, !dbg !2514
  7252. store i64 %406, i64* %399, align 8, !dbg !2515
  7253. %407 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2516
  7254. %408 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2517
  7255. %409 = load i64, i64* %408, align 8, !dbg !2517
  7256. %410 = shl i64 %409, 1, !dbg !2518
  7257. %411 = load i32, i32* %carry, align 4, !dbg !2519
  7258. %412 = zext i32 %411 to i64, !dbg !2519
  7259. %413 = or i64 %410, %412, !dbg !2520
  7260. store i64 %413, i64* %407, align 8, !dbg !2521
  7261. %414 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2522
  7262. %415 = bitcast i64* %414 to i128*, !dbg !2523
  7263. %416 = load i128, i128* %415, align 8, !dbg !2524
  7264. store i128 %416, i128* %r_all, align 8, !dbg !2525
  7265. %417 = load i128, i128* %b, align 8, !dbg !2526
  7266. %418 = load i128, i128* %r_all, align 8, !dbg !2527
  7267. %419 = sub i128 %417, %418, !dbg !2528
  7268. %420 = sub i128 %419, 1, !dbg !2529
  7269. %421 = ashr i128 %420, 127, !dbg !2530
  7270. store i128 %421, i128* %s, align 8, !dbg !2531
  7271. call void @llvm.dbg.declare(metadata i128* %s, metadata !2140, metadata !277), !dbg !2531
  7272. %422 = load i128, i128* %s, align 8, !dbg !2532
  7273. %423 = and i128 %422, 1, !dbg !2534
  7274. %424 = trunc i128 %423 to i32, !dbg !2535
  7275. store i32 %424, i32* %carry, align 4, !dbg !2536
  7276. %425 = load i128, i128* %r_all, align 8, !dbg !2537
  7277. %426 = load i128, i128* %b, align 8, !dbg !2538
  7278. %427 = load i128, i128* %s, align 8, !dbg !2539
  7279. %428 = and i128 %426, %427, !dbg !2540
  7280. %429 = sub nuw i128 %425, %428, !dbg !2541
  7281. store i128 %429, i128* %r_all, align 8, !dbg !2541
  7282. %430 = bitcast i128* %r_all to [2 x i64]*, !dbg !2542
  7283. %431 = bitcast [2 x i64]* %430 to i8*, !dbg !2543
  7284. %432 = bitcast [2 x i64]* %r to i8*, !dbg !2543
  7285. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %432, i8* %431, i64 16, i32 8, i1 false), !dbg !2543
  7286. %433 = load i32, i32* %sr, align 4, !dbg !2544
  7287. %434 = sub nuw i32 %433, 1, !dbg !2545
  7288. store i32 %434, i32* %sr, align 4, !dbg !2545
  7289. br label %WhileCond, !dbg !2492
  7290.  
  7291. WhileEnd: ; preds = %WhileCond
  7292. %435 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2546
  7293. %436 = bitcast i64* %435 to i128*, !dbg !2547
  7294. %437 = load i128, i128* %436, align 8, !dbg !2548
  7295. %438 = shl i128 %437, 1, !dbg !2549
  7296. %439 = load i32, i32* %carry, align 4, !dbg !2550
  7297. %440 = zext i32 %439 to i128, !dbg !2550
  7298. %441 = or i128 %438, %440, !dbg !2551
  7299. store i128 %441, i128* %q_all, align 8, !dbg !2552
  7300. call void @llvm.dbg.declare(metadata i128* %q_all, metadata !2143, metadata !277), !dbg !2552
  7301. %442 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  7302. %443 = icmp ne i128* %442, null, !dbg !2553
  7303. br i1 %443, label %MaybeThen61, label %MaybeElse62, !dbg !2553
  7304.  
  7305. MaybeThen61: ; preds = %WhileEnd
  7306. %444 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  7307. %445 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  7308. store i128* %445, i128** %rem71, align 8, !dbg !2553
  7309. call void @llvm.dbg.declare(metadata i128** %rem71, metadata !2144, metadata !277), !dbg !2553
  7310. %446 = load i128*, i128** %rem71, align 8, !dbg !2554
  7311. %447 = load i128, i128* %r_all, align 8, !dbg !2557
  7312. store i128 %447, i128* %446, align 8, !dbg !2558
  7313. br label %MaybeEndIf63, !dbg !2553
  7314.  
  7315. MaybeElse62: ; preds = %WhileEnd
  7316. br label %MaybeEndIf63, !dbg !2553
  7317.  
  7318. MaybeEndIf63: ; preds = %MaybeElse62, %MaybeThen61
  7319. %448 = load i128, i128* %q_all, align 8, !dbg !2559
  7320. ret i128 %448, !dbg !2560
  7321. }
  7322.  
  7323. ; Function Attrs: nobuiltin nounwind
  7324. define weak_odr i128 @__udivti3(i128, i128) #0 !dbg !2561 {
  7325. Entry:
  7326. %a = alloca i128, align 8
  7327. %b = alloca i128, align 8
  7328. store i128 %0, i128* %a, align 8
  7329. call void @llvm.dbg.declare(metadata i128* %a, metadata !2565, metadata !277), !dbg !2568
  7330. store i128 %1, i128* %b, align 8
  7331. call void @llvm.dbg.declare(metadata i128* %b, metadata !2566, metadata !277), !dbg !2569
  7332. %2 = load i128, i128* %a, align 8, !dbg !2570
  7333. %3 = load i128, i128* %b, align 8, !dbg !2573
  7334. %4 = call i128 @__udivmodti4(i128 %2, i128 %3, i128* null), !dbg !2574
  7335. ret i128 %4, !dbg !2575
  7336. }
  7337.  
  7338. ; Function Attrs: nobuiltin nounwind
  7339. define weak_odr i128 @__umodti3(i128, i128) #0 !dbg !2576 {
  7340. Entry:
  7341. %a = alloca i128, align 8
  7342. %b = alloca i128, align 8
  7343. %r = alloca i128, align 8
  7344. store i128 %0, i128* %a, align 8
  7345. call void @llvm.dbg.declare(metadata i128* %a, metadata !2578, metadata !277), !dbg !2584
  7346. store i128 %1, i128* %b, align 8
  7347. call void @llvm.dbg.declare(metadata i128* %b, metadata !2579, metadata !277), !dbg !2585
  7348. call void @llvm.dbg.declare(metadata i128* %r, metadata !2581, metadata !277), !dbg !2586
  7349. %2 = load i128, i128* %a, align 8, !dbg !2587
  7350. %3 = load i128, i128* %b, align 8, !dbg !2589
  7351. %4 = call i128 @__udivmodti4(i128 %2, i128 %3, i128* %r), !dbg !2590
  7352. %5 = load i128, i128* %r, align 8, !dbg !2591
  7353. ret i128 %5, !dbg !2592
  7354. }
  7355.  
  7356. ; Function Attrs: naked nobuiltin nounwind sspstrong
  7357. define internal void @_aulldiv.0() unnamed_addr #4 !dbg !2593 {
  7358. Entry:
  7359. call coldcc void @panic(%"[]u8.0"* @2), !dbg !2594
  7360. unreachable, !dbg !2594
  7361. }
  7362.  
  7363. ; Function Attrs: naked nobuiltin nounwind sspstrong
  7364. define internal void @_aullrem.0() unnamed_addr #4 !dbg !2596 {
  7365. Entry:
  7366. call coldcc void @panic(%"[]u8.0"* @2), !dbg !2597
  7367. unreachable, !dbg !2597
  7368. }
  7369.  
  7370. ; Function Attrs: nobuiltin nounwind sspstrong
  7371. define internal fastcc i1 @isArmArch() unnamed_addr #5 !dbg !2599 {
  7372. Entry:
  7373. ret i1 false, !dbg !2602
  7374. }
  7375.  
  7376. ; Function Attrs: argmemonly nounwind
  7377. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #6
  7378.  
  7379. ; Function Attrs: nounwind readnone speculatable
  7380. declare i32 @llvm.cttz.i32(i32, i1) #2
  7381.  
  7382. ; Function Attrs: nounwind readnone speculatable
  7383. declare i64 @llvm.ctlz.i64(i64, i1) #2
  7384.  
  7385. ; Function Attrs: nounwind readnone speculatable
  7386. declare i64 @llvm.cttz.i64(i64, i1) #2
  7387.  
  7388. attributes #0 = { nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  7389. attributes #1 = { cold nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  7390. attributes #2 = { nounwind readnone speculatable }
  7391. attributes #3 = { naked nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  7392. attributes #4 = { naked nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  7393. attributes #5 = { nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  7394. attributes #6 = { argmemonly nounwind }
  7395.  
  7396. !llvm.module.flags = !{!0}
  7397. !llvm.dbg.cu = !{!1}
  7398.  
  7399. !0 = !{i32 2, !"Debug Info Version", i32 3}
  7400. !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "zig 0.1.1.339d48ac", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !146)
  7401. !2 = !DIFile(filename: "compiler_rt", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7402. !3 = !{!4, !12, !84, !119}
  7403. !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage", scope: !5, file: !5, line: 138, baseType: !6, size: 8, align: 8, elements: !7)
  7404. !5 = !DIFile(filename: "builtin.zig", directory: "/Users/jfo/sandbox/zigwasm/zig-cache")
  7405. !6 = !DIBasicType(name: "u2", size: 8, encoding: DW_ATE_unsigned)
  7406. !7 = !{!8, !9, !10, !11}
  7407. !8 = !DIEnumerator(name: "Internal", value: 0)
  7408. !9 = !DIEnumerator(name: "Strong", value: 1)
  7409. !10 = !DIEnumerator(name: "Weak", value: 2)
  7410. !11 = !DIEnumerator(name: "LinkOnce", value: 3)
  7411. !12 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Arch", scope: !5, file: !5, line: 36, baseType: !13, size: 8, align: 8, elements: !14)
  7412. !13 = !DIBasicType(name: "u7", size: 8, encoding: DW_ATE_unsigned)
  7413. !14 = !{!15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83}
  7414. !15 = !DIEnumerator(name: "armv8_2a", value: 0)
  7415. !16 = !DIEnumerator(name: "armv8_1a", value: 1)
  7416. !17 = !DIEnumerator(name: "armv8", value: 2)
  7417. !18 = !DIEnumerator(name: "armv8r", value: 3)
  7418. !19 = !DIEnumerator(name: "armv8m_baseline", value: 4)
  7419. !20 = !DIEnumerator(name: "armv8m_mainline", value: 5)
  7420. !21 = !DIEnumerator(name: "armv7", value: 6)
  7421. !22 = !DIEnumerator(name: "armv7em", value: 7)
  7422. !23 = !DIEnumerator(name: "armv7m", value: 8)
  7423. !24 = !DIEnumerator(name: "armv7s", value: 9)
  7424. !25 = !DIEnumerator(name: "armv7k", value: 10)
  7425. !26 = !DIEnumerator(name: "armv7ve", value: 11)
  7426. !27 = !DIEnumerator(name: "armv6", value: 12)
  7427. !28 = !DIEnumerator(name: "armv6m", value: 13)
  7428. !29 = !DIEnumerator(name: "armv6k", value: 14)
  7429. !30 = !DIEnumerator(name: "armv6t2", value: 15)
  7430. !31 = !DIEnumerator(name: "armv5", value: 16)
  7431. !32 = !DIEnumerator(name: "armv5te", value: 17)
  7432. !33 = !DIEnumerator(name: "armv4t", value: 18)
  7433. !34 = !DIEnumerator(name: "armeb", value: 19)
  7434. !35 = !DIEnumerator(name: "aarch64", value: 20)
  7435. !36 = !DIEnumerator(name: "aarch64_be", value: 21)
  7436. !37 = !DIEnumerator(name: "avr", value: 22)
  7437. !38 = !DIEnumerator(name: "bpfel", value: 23)
  7438. !39 = !DIEnumerator(name: "bpfeb", value: 24)
  7439. !40 = !DIEnumerator(name: "hexagon", value: 25)
  7440. !41 = !DIEnumerator(name: "mips", value: 26)
  7441. !42 = !DIEnumerator(name: "mipsel", value: 27)
  7442. !43 = !DIEnumerator(name: "mips64", value: 28)
  7443. !44 = !DIEnumerator(name: "mips64el", value: 29)
  7444. !45 = !DIEnumerator(name: "msp430", value: 30)
  7445. !46 = !DIEnumerator(name: "nios2", value: 31)
  7446. !47 = !DIEnumerator(name: "powerpc", value: 32)
  7447. !48 = !DIEnumerator(name: "powerpc64", value: 33)
  7448. !49 = !DIEnumerator(name: "powerpc64le", value: 34)
  7449. !50 = !DIEnumerator(name: "r600", value: 35)
  7450. !51 = !DIEnumerator(name: "amdgcn", value: 36)
  7451. !52 = !DIEnumerator(name: "riscv32", value: 37)
  7452. !53 = !DIEnumerator(name: "riscv64", value: 38)
  7453. !54 = !DIEnumerator(name: "sparc", value: 39)
  7454. !55 = !DIEnumerator(name: "sparcv9", value: 40)
  7455. !56 = !DIEnumerator(name: "sparcel", value: 41)
  7456. !57 = !DIEnumerator(name: "s390x", value: 42)
  7457. !58 = !DIEnumerator(name: "tce", value: 43)
  7458. !59 = !DIEnumerator(name: "tcele", value: 44)
  7459. !60 = !DIEnumerator(name: "thumb", value: 45)
  7460. !61 = !DIEnumerator(name: "thumbeb", value: 46)
  7461. !62 = !DIEnumerator(name: "i386", value: 47)
  7462. !63 = !DIEnumerator(name: "x86_64", value: 48)
  7463. !64 = !DIEnumerator(name: "xcore", value: 49)
  7464. !65 = !DIEnumerator(name: "nvptx", value: 50)
  7465. !66 = !DIEnumerator(name: "nvptx64", value: 51)
  7466. !67 = !DIEnumerator(name: "le32", value: 52)
  7467. !68 = !DIEnumerator(name: "le64", value: 53)
  7468. !69 = !DIEnumerator(name: "amdil", value: 54)
  7469. !70 = !DIEnumerator(name: "amdil64", value: 55)
  7470. !71 = !DIEnumerator(name: "hsail", value: 56)
  7471. !72 = !DIEnumerator(name: "hsail64", value: 57)
  7472. !73 = !DIEnumerator(name: "spir", value: 58)
  7473. !74 = !DIEnumerator(name: "spir64", value: 59)
  7474. !75 = !DIEnumerator(name: "kalimbav3", value: 60)
  7475. !76 = !DIEnumerator(name: "kalimbav4", value: 61)
  7476. !77 = !DIEnumerator(name: "kalimbav5", value: 62)
  7477. !78 = !DIEnumerator(name: "shave", value: 63)
  7478. !79 = !DIEnumerator(name: "lanai", value: 64)
  7479. !80 = !DIEnumerator(name: "wasm32", value: 65)
  7480. !81 = !DIEnumerator(name: "wasm64", value: 66)
  7481. !82 = !DIEnumerator(name: "renderscript32", value: 67)
  7482. !83 = !DIEnumerator(name: "renderscript64", value: 68)
  7483. !84 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Os", scope: !5, file: !5, line: 1, baseType: !85, size: 8, align: 8, elements: !86)
  7484. !85 = !DIBasicType(name: "u5", size: 8, encoding: DW_ATE_unsigned)
  7485. !86 = !{!87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118}
  7486. !87 = !DIEnumerator(name: "freestanding", value: 0)
  7487. !88 = !DIEnumerator(name: "ananas", value: 1)
  7488. !89 = !DIEnumerator(name: "cloudabi", value: 2)
  7489. !90 = !DIEnumerator(name: "darwin", value: 3)
  7490. !91 = !DIEnumerator(name: "dragonfly", value: 4)
  7491. !92 = !DIEnumerator(name: "freebsd", value: 5)
  7492. !93 = !DIEnumerator(name: "fuchsia", value: 6)
  7493. !94 = !DIEnumerator(name: "ios", value: 7)
  7494. !95 = !DIEnumerator(name: "kfreebsd", value: 8)
  7495. !96 = !DIEnumerator(name: "linux", value: 9)
  7496. !97 = !DIEnumerator(name: "lv2", value: 10)
  7497. !98 = !DIEnumerator(name: "macosx", value: 11)
  7498. !99 = !DIEnumerator(name: "netbsd", value: 12)
  7499. !100 = !DIEnumerator(name: "openbsd", value: 13)
  7500. !101 = !DIEnumerator(name: "solaris", value: 14)
  7501. !102 = !DIEnumerator(name: "windows", value: 15)
  7502. !103 = !DIEnumerator(name: "haiku", value: 16)
  7503. !104 = !DIEnumerator(name: "minix", value: 17)
  7504. !105 = !DIEnumerator(name: "rtems", value: 18)
  7505. !106 = !DIEnumerator(name: "nacl", value: 19)
  7506. !107 = !DIEnumerator(name: "cnk", value: 20)
  7507. !108 = !DIEnumerator(name: "bitrig", value: 21)
  7508. !109 = !DIEnumerator(name: "aix", value: 22)
  7509. !110 = !DIEnumerator(name: "cuda", value: 23)
  7510. !111 = !DIEnumerator(name: "nvcl", value: 24)
  7511. !112 = !DIEnumerator(name: "amdhsa", value: 25)
  7512. !113 = !DIEnumerator(name: "ps4", value: 26)
  7513. !114 = !DIEnumerator(name: "elfiamcu", value: 27)
  7514. !115 = !DIEnumerator(name: "tvos", value: 28)
  7515. !116 = !DIEnumerator(name: "watchos", value: 29)
  7516. !117 = !DIEnumerator(name: "mesa3d", value: 30)
  7517. !118 = !DIEnumerator(name: "contiki", value: 31)
  7518. !119 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "TypeId", scope: !5, file: !5, line: 160, baseType: !85, size: 8, align: 8, elements: !120)
  7519. !120 = !{!121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145}
  7520. !121 = !DIEnumerator(name: "Type", value: 0)
  7521. !122 = !DIEnumerator(name: "Void", value: 1)
  7522. !123 = !DIEnumerator(name: "Bool", value: 2)
  7523. !124 = !DIEnumerator(name: "NoReturn", value: 3)
  7524. !125 = !DIEnumerator(name: "Int", value: 4)
  7525. !126 = !DIEnumerator(name: "Float", value: 5)
  7526. !127 = !DIEnumerator(name: "Pointer", value: 6)
  7527. !128 = !DIEnumerator(name: "Array", value: 7)
  7528. !129 = !DIEnumerator(name: "Struct", value: 8)
  7529. !130 = !DIEnumerator(name: "FloatLiteral", value: 9)
  7530. !131 = !DIEnumerator(name: "IntLiteral", value: 10)
  7531. !132 = !DIEnumerator(name: "UndefinedLiteral", value: 11)
  7532. !133 = !DIEnumerator(name: "NullLiteral", value: 12)
  7533. !134 = !DIEnumerator(name: "Nullable", value: 13)
  7534. !135 = !DIEnumerator(name: "ErrorUnion", value: 14)
  7535. !136 = !DIEnumerator(name: "Error", value: 15)
  7536. !137 = !DIEnumerator(name: "Enum", value: 16)
  7537. !138 = !DIEnumerator(name: "EnumTag", value: 17)
  7538. !139 = !DIEnumerator(name: "Union", value: 18)
  7539. !140 = !DIEnumerator(name: "Fn", value: 19)
  7540. !141 = !DIEnumerator(name: "Namespace", value: 20)
  7541. !142 = !DIEnumerator(name: "Block", value: 21)
  7542. !143 = !DIEnumerator(name: "BoundFn", value: 22)
  7543. !144 = !DIEnumerator(name: "ArgTuple", value: 23)
  7544. !145 = !DIEnumerator(name: "Opaque", value: 24)
  7545. !146 = !{!147, !150, !153, !155, !157, !159, !161, !163, !165, !167, !170, !172, !175, !177, !179, !182, !184, !186, !188, !190, !192, !195, !197, !199, !201, !203, !205, !207, !209, !212, !215, !218, !221, !224, !227, !230, !233, !236, !239, !242, !245, !248, !251, !254, !257, !260, !262, !264}
  7546. !147 = !DIGlobalVariableExpression(var: !148)
  7547. !148 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !5, file: !5, line: 194, type: !149, isLocal: true, isDefinition: true)
  7548. !149 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
  7549. !150 = !DIGlobalVariableExpression(var: !151)
  7550. !151 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !152, file: !152, line: 21, type: !149, isLocal: true, isDefinition: true)
  7551. !152 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7552. !153 = !DIGlobalVariableExpression(var: !154)
  7553. !154 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !152, file: !152, line: 29, type: !4, isLocal: true, isDefinition: true)
  7554. !155 = !DIGlobalVariableExpression(var: !156)
  7555. !156 = distinct !DIGlobalVariable(name: "arch", linkageName: "arch", scope: !5, file: !5, line: 196, type: !12, isLocal: true, isDefinition: true)
  7556. !157 = !DIGlobalVariableExpression(var: !158)
  7557. !158 = distinct !DIGlobalVariable(name: "os", linkageName: "os", scope: !5, file: !5, line: 195, type: !84, isLocal: true, isDefinition: true)
  7558. !159 = !DIGlobalVariableExpression(var: !160)
  7559. !160 = distinct !DIGlobalVariable(name: "win32", linkageName: "win32", scope: !152, file: !152, line: 25, type: !149, isLocal: true, isDefinition: true)
  7560. !161 = !DIGlobalVariableExpression(var: !162)
  7561. !162 = distinct !DIGlobalVariable(name: "win32_nocrt", linkageName: "win32_nocrt", scope: !152, file: !152, line: 27, type: !149, isLocal: true, isDefinition: true)
  7562. !163 = !DIGlobalVariableExpression(var: !164)
  7563. !164 = distinct !DIGlobalVariable(name: "win64", linkageName: "win64", scope: !152, file: !152, line: 26, type: !149, isLocal: true, isDefinition: true)
  7564. !165 = !DIGlobalVariableExpression(var: !166)
  7565. !166 = distinct !DIGlobalVariable(name: "win64_nocrt", linkageName: "win64_nocrt", scope: !152, file: !152, line: 28, type: !149, isLocal: true, isDefinition: true)
  7566. !167 = !DIGlobalVariableExpression(var: !168)
  7567. !168 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !169, file: !169, line: 22, type: !149, isLocal: true, isDefinition: true)
  7568. !169 = !DIFile(filename: "comparetf2.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7569. !170 = !DIGlobalVariableExpression(var: !171)
  7570. !171 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !169, file: !169, line: 23, type: !4, isLocal: true, isDefinition: true)
  7571. !172 = !DIGlobalVariableExpression(var: !173)
  7572. !173 = distinct !DIGlobalVariable(name: "significandBits", linkageName: "significandBits", scope: !169, file: !169, line: 12, type: !174, isLocal: true, isDefinition: true)
  7573. !174 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
  7574. !175 = !DIGlobalVariableExpression(var: !176)
  7575. !176 = distinct !DIGlobalVariable(name: "typeWidth", linkageName: "typeWidth", scope: !169, file: !169, line: 11, type: !174, isLocal: true, isDefinition: true)
  7576. !177 = !DIGlobalVariableExpression(var: !178)
  7577. !178 = distinct !DIGlobalVariable(name: "exponentBits", linkageName: "exponentBits", scope: !169, file: !169, line: 13, type: !174, isLocal: true, isDefinition: true)
  7578. !179 = !DIGlobalVariableExpression(var: !180)
  7579. !180 = distinct !DIGlobalVariable(name: "signBit", linkageName: "signBit", scope: !169, file: !169, line: 14, type: !181, isLocal: true, isDefinition: true)
  7580. !181 = !DIBasicType(name: "u128", size: 128, encoding: DW_ATE_unsigned)
  7581. !182 = !DIGlobalVariableExpression(var: !183)
  7582. !183 = distinct !DIGlobalVariable(name: "absMask", linkageName: "absMask", scope: !169, file: !169, line: 15, type: !181, isLocal: true, isDefinition: true)
  7583. !184 = !DIGlobalVariableExpression(var: !185)
  7584. !185 = distinct !DIGlobalVariable(name: "implicitBit", linkageName: "implicitBit", scope: !169, file: !169, line: 16, type: !181, isLocal: true, isDefinition: true)
  7585. !186 = !DIGlobalVariableExpression(var: !187)
  7586. !187 = distinct !DIGlobalVariable(name: "significandMask", linkageName: "significandMask", scope: !169, file: !169, line: 17, type: !181, isLocal: true, isDefinition: true)
  7587. !188 = !DIGlobalVariableExpression(var: !189)
  7588. !189 = distinct !DIGlobalVariable(name: "exponentMask", linkageName: "exponentMask", scope: !169, file: !169, line: 18, type: !181, isLocal: true, isDefinition: true)
  7589. !190 = !DIGlobalVariableExpression(var: !191)
  7590. !191 = distinct !DIGlobalVariable(name: "infRep", linkageName: "infRep", scope: !169, file: !169, line: 19, type: !181, isLocal: true, isDefinition: true)
  7591. !192 = !DIGlobalVariableExpression(var: !193)
  7592. !193 = distinct !DIGlobalVariable(name: "LE_UNORDERED", linkageName: "LE_UNORDERED", scope: !169, file: !169, line: 6, type: !194, isLocal: true, isDefinition: true)
  7593. !194 = !DIBasicType(name: "c_int", size: 32, encoding: DW_ATE_signed)
  7594. !195 = !DIGlobalVariableExpression(var: !196)
  7595. !196 = distinct !DIGlobalVariable(name: "LE_EQUAL", linkageName: "LE_EQUAL", scope: !169, file: !169, line: 4, type: !194, isLocal: true, isDefinition: true)
  7596. !197 = !DIGlobalVariableExpression(var: !198)
  7597. !198 = distinct !DIGlobalVariable(name: "LE_LESS", linkageName: "LE_LESS", scope: !169, file: !169, line: 3, type: !194, isLocal: true, isDefinition: true)
  7598. !199 = !DIGlobalVariableExpression(var: !200)
  7599. !200 = distinct !DIGlobalVariable(name: "LE_GREATER", linkageName: "LE_GREATER", scope: !169, file: !169, line: 5, type: !194, isLocal: true, isDefinition: true)
  7600. !201 = !DIGlobalVariableExpression(var: !202)
  7601. !202 = distinct !DIGlobalVariable(name: "GE_UNORDERED", linkageName: "GE_UNORDERED", scope: !169, file: !169, line: 79, type: !194, isLocal: true, isDefinition: true)
  7602. !203 = !DIGlobalVariableExpression(var: !204)
  7603. !204 = distinct !DIGlobalVariable(name: "GE_EQUAL", linkageName: "GE_EQUAL", scope: !169, file: !169, line: 77, type: !194, isLocal: true, isDefinition: true)
  7604. !205 = !DIGlobalVariableExpression(var: !206)
  7605. !206 = distinct !DIGlobalVariable(name: "GE_LESS", linkageName: "GE_LESS", scope: !169, file: !169, line: 76, type: !194, isLocal: true, isDefinition: true)
  7606. !207 = !DIGlobalVariableExpression(var: !208)
  7607. !208 = distinct !DIGlobalVariable(name: "GE_GREATER", linkageName: "GE_GREATER", scope: !169, file: !169, line: 78, type: !194, isLocal: true, isDefinition: true)
  7608. !209 = !DIGlobalVariableExpression(var: !210)
  7609. !210 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !211, file: !211, line: 3, type: !4, isLocal: true, isDefinition: true)
  7610. !211 = !DIFile(filename: "fixunsdfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7611. !212 = !DIGlobalVariableExpression(var: !213)
  7612. !213 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !214, file: !214, line: 3, type: !4, isLocal: true, isDefinition: true)
  7613. !214 = !DIFile(filename: "fixunsdfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7614. !215 = !DIGlobalVariableExpression(var: !216)
  7615. !216 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !217, file: !217, line: 3, type: !4, isLocal: true, isDefinition: true)
  7616. !217 = !DIFile(filename: "fixunsdfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7617. !218 = !DIGlobalVariableExpression(var: !219)
  7618. !219 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !220, file: !220, line: 3, type: !4, isLocal: true, isDefinition: true)
  7619. !220 = !DIFile(filename: "fixunssfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7620. !221 = !DIGlobalVariableExpression(var: !222)
  7621. !222 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !223, file: !223, line: 3, type: !4, isLocal: true, isDefinition: true)
  7622. !223 = !DIFile(filename: "fixunssfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7623. !224 = !DIGlobalVariableExpression(var: !225)
  7624. !225 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !226, file: !226, line: 3, type: !4, isLocal: true, isDefinition: true)
  7625. !226 = !DIFile(filename: "fixunssfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7626. !227 = !DIGlobalVariableExpression(var: !228)
  7627. !228 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !229, file: !229, line: 3, type: !4, isLocal: true, isDefinition: true)
  7628. !229 = !DIFile(filename: "fixunstfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7629. !230 = !DIGlobalVariableExpression(var: !231)
  7630. !231 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !232, file: !232, line: 3, type: !4, isLocal: true, isDefinition: true)
  7631. !232 = !DIFile(filename: "fixunstfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7632. !233 = !DIGlobalVariableExpression(var: !234)
  7633. !234 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !235, file: !235, line: 3, type: !4, isLocal: true, isDefinition: true)
  7634. !235 = !DIFile(filename: "fixunstfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7635. !236 = !DIGlobalVariableExpression(var: !237)
  7636. !237 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !238, file: !238, line: 3, type: !4, isLocal: true, isDefinition: true)
  7637. !238 = !DIFile(filename: "udivmoddi4.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7638. !239 = !DIGlobalVariableExpression(var: !240)
  7639. !240 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !241, file: !241, line: 3, type: !4, isLocal: true, isDefinition: true)
  7640. !241 = !DIFile(filename: "udivmodti4.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7641. !242 = !DIGlobalVariableExpression(var: !243)
  7642. !243 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !244, file: !244, line: 3, type: !4, isLocal: true, isDefinition: true)
  7643. !244 = !DIFile(filename: "udivti3.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7644. !245 = !DIGlobalVariableExpression(var: !246)
  7645. !246 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !247, file: !247, line: 3, type: !4, isLocal: true, isDefinition: true)
  7646. !247 = !DIFile(filename: "umodti3.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7647. !248 = !DIGlobalVariableExpression(var: !249)
  7648. !249 = distinct !DIGlobalVariable(name: "is_win32", linkageName: "is_win32", scope: !250, file: !250, line: 3, type: !149, isLocal: true, isDefinition: true)
  7649. !250 = !DIFile(filename: "aulldiv.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7650. !251 = !DIGlobalVariableExpression(var: !252)
  7651. !252 = distinct !DIGlobalVariable(name: "is_win32", linkageName: "is_win32", scope: !253, file: !253, line: 3, type: !149, isLocal: true, isDefinition: true)
  7652. !253 = !DIFile(filename: "aullrem.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7653. !254 = !DIGlobalVariableExpression(var: !255)
  7654. !255 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !256, file: !256, line: 1, type: !149, isLocal: true, isDefinition: true)
  7655. !256 = !DIFile(filename: "fixuint.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7656. !257 = !DIGlobalVariableExpression(var: !258)
  7657. !258 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !259, file: !259, line: 2, type: !149, isLocal: true, isDefinition: true)
  7658. !259 = !DIFile(filename: "udivmod.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  7659. !260 = !DIGlobalVariableExpression(var: !261)
  7660. !261 = distinct !DIGlobalVariable(name: "is_big_endian", linkageName: "is_big_endian", scope: !5, file: !5, line: 193, type: !149, isLocal: true, isDefinition: true)
  7661. !262 = !DIGlobalVariableExpression(var: !263)
  7662. !263 = distinct !DIGlobalVariable(name: "low", linkageName: "low", scope: !259, file: !259, line: 4, type: !174, isLocal: true, isDefinition: true)
  7663. !264 = !DIGlobalVariableExpression(var: !265)
  7664. !265 = distinct !DIGlobalVariable(name: "high", linkageName: "high", scope: !259, file: !259, line: 5, type: !174, isLocal: true, isDefinition: true)
  7665. !266 = distinct !DISubprogram(name: "__udivmoddi4", scope: !238, file: !238, line: 5, type: !267, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !271)
  7666. !267 = !DISubroutineType(types: !268)
  7667. !268 = !{!269, !269, !269, !270}
  7668. !269 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
  7669. !270 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u64", baseType: !269, size: 64, align: 64)
  7670. !271 = !{!272, !273, !275}
  7671. !272 = !DILocalVariable(name: "a", arg: 1, scope: !266, file: !238, line: 5, type: !269)
  7672. !273 = !DILocalVariable(name: "b", arg: 2, scope: !274, file: !238, line: 5, type: !269)
  7673. !274 = distinct !DILexicalBlock(scope: !266, file: !238, line: 5, column: 24)
  7674. !275 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !276, file: !238, line: 5, type: !270)
  7675. !276 = distinct !DILexicalBlock(scope: !274, file: !238, line: 5, column: 32)
  7676. !277 = !DIExpression()
  7677. !278 = !DILocation(line: 5, column: 24, scope: !266)
  7678. !279 = !DILocation(line: 5, column: 32, scope: !274)
  7679. !280 = !DILocation(line: 5, column: 40, scope: !276)
  7680. !281 = !DILocation(line: 8, column: 25, scope: !282)
  7681. !282 = distinct !DILexicalBlock(scope: !283, file: !238, line: 5, column: 65)
  7682. !283 = distinct !DILexicalBlock(scope: !276, file: !238, line: 5, column: 40)
  7683. !284 = !DILocation(line: 8, column: 28, scope: !282)
  7684. !285 = !DILocation(line: 8, column: 31, scope: !282)
  7685. !286 = !DILocation(line: 8, column: 19, scope: !282)
  7686. !287 = !DILocation(line: 8, column: 5, scope: !282)
  7687. !288 = distinct !DISubprogram(name: "__udivmodti4", scope: !241, file: !241, line: 5, type: !289, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !292)
  7688. !289 = !DISubroutineType(types: !290)
  7689. !290 = !{!181, !181, !181, !291}
  7690. !291 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u128", baseType: !181, size: 64, align: 64)
  7691. !292 = !{!293, !294, !296}
  7692. !293 = !DILocalVariable(name: "a", arg: 1, scope: !288, file: !241, line: 5, type: !181)
  7693. !294 = !DILocalVariable(name: "b", arg: 2, scope: !295, file: !241, line: 5, type: !181)
  7694. !295 = distinct !DILexicalBlock(scope: !288, file: !241, line: 5, column: 24)
  7695. !296 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !297, file: !241, line: 5, type: !291)
  7696. !297 = distinct !DILexicalBlock(scope: !295, file: !241, line: 5, column: 33)
  7697. !298 = !DILocation(line: 5, column: 24, scope: !288)
  7698. !299 = !DILocation(line: 5, column: 33, scope: !295)
  7699. !300 = !DILocation(line: 5, column: 42, scope: !297)
  7700. !301 = !DILocation(line: 8, column: 26, scope: !302)
  7701. !302 = distinct !DILexicalBlock(scope: !303, file: !241, line: 5, column: 69)
  7702. !303 = distinct !DILexicalBlock(scope: !297, file: !241, line: 5, column: 42)
  7703. !304 = !DILocation(line: 8, column: 29, scope: !302)
  7704. !305 = !DILocation(line: 8, column: 32, scope: !302)
  7705. !306 = !DILocation(line: 8, column: 19, scope: !302)
  7706. !307 = !DILocation(line: 8, column: 5, scope: !302)
  7707. !308 = distinct !DISubprogram(name: "panic", scope: !152, file: !152, line: 36, type: !309, isLocal: true, isDefinition: true, scopeLine: 36, isOptimized: false, unit: !1, variables: !319)
  7708. !309 = !DISubroutineType(types: !310)
  7709. !310 = !{!311, !312}
  7710. !311 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned)
  7711. !312 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]const u8", baseType: !313, size: 64, align: 64)
  7712. !313 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128, align: 64, elements: !314)
  7713. !314 = !{!315, !317}
  7714. !315 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !313, baseType: !316, size: 64, align: 64)
  7715. !316 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u8", baseType: !174, size: 64, align: 64)
  7716. !317 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !313, baseType: !318, size: 64, align: 64, offset: 64)
  7717. !318 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
  7718. !319 = !{!320}
  7719. !320 = !DILocalVariable(name: "msg", arg: 1, scope: !308, file: !152, line: 36, type: !313)
  7720. !321 = !DILocation(line: 36, column: 21, scope: !308)
  7721. !322 = !DILocation(line: 40, column: 9, scope: !323)
  7722. !323 = distinct !DILexicalBlock(scope: !324, file: !152, line: 39, column: 12)
  7723. !324 = distinct !DILexicalBlock(scope: !325, file: !152, line: 36, column: 50)
  7724. !325 = distinct !DILexicalBlock(scope: !308, file: !152, line: 36, column: 21)
  7725. !326 = distinct !DISubprogram(name: "__udivdi3", scope: !152, file: !152, line: 44, type: !327, isLocal: false, isDefinition: true, scopeLine: 44, isOptimized: false, unit: !1, variables: !329)
  7726. !327 = !DISubroutineType(types: !328)
  7727. !328 = !{!269, !269, !269}
  7728. !329 = !{!330, !331}
  7729. !330 = !DILocalVariable(name: "a", arg: 1, scope: !326, file: !152, line: 44, type: !269)
  7730. !331 = !DILocalVariable(name: "b", arg: 2, scope: !332, file: !152, line: 44, type: !269)
  7731. !332 = distinct !DILexicalBlock(scope: !326, file: !152, line: 44, column: 21)
  7732. !333 = !DILocation(line: 44, column: 21, scope: !326)
  7733. !334 = !DILocation(line: 44, column: 29, scope: !332)
  7734. !335 = !DILocation(line: 47, column: 25, scope: !336)
  7735. !336 = distinct !DILexicalBlock(scope: !337, file: !152, line: 44, column: 44)
  7736. !337 = distinct !DILexicalBlock(scope: !332, file: !152, line: 44, column: 29)
  7737. !338 = !DILocation(line: 47, column: 28, scope: !336)
  7738. !339 = !DILocation(line: 47, column: 24, scope: !336)
  7739. !340 = !DILocation(line: 47, column: 5, scope: !336)
  7740. !341 = distinct !DISubprogram(name: "__umoddi3", scope: !152, file: !152, line: 50, type: !327, isLocal: false, isDefinition: true, scopeLine: 50, isOptimized: false, unit: !1, variables: !342)
  7741. !342 = !{!343, !344, !346}
  7742. !343 = !DILocalVariable(name: "a", arg: 1, scope: !341, file: !152, line: 50, type: !269)
  7743. !344 = !DILocalVariable(name: "b", arg: 2, scope: !345, file: !152, line: 50, type: !269)
  7744. !345 = distinct !DILexicalBlock(scope: !341, file: !152, line: 50, column: 21)
  7745. !346 = !DILocalVariable(name: "r", scope: !347, file: !152, line: 54, type: !269)
  7746. !347 = distinct !DILexicalBlock(scope: !348, file: !152, line: 50, column: 44)
  7747. !348 = distinct !DILexicalBlock(scope: !345, file: !152, line: 50, column: 29)
  7748. !349 = !DILocation(line: 50, column: 21, scope: !341)
  7749. !350 = !DILocation(line: 50, column: 29, scope: !345)
  7750. !351 = !DILocation(line: 54, column: 5, scope: !347)
  7751. !352 = !DILocation(line: 55, column: 22, scope: !353)
  7752. !353 = distinct !DILexicalBlock(scope: !347, file: !152, line: 54, column: 5)
  7753. !354 = !DILocation(line: 55, column: 25, scope: !353)
  7754. !355 = !DILocation(line: 55, column: 21, scope: !353)
  7755. !356 = !DILocation(line: 56, column: 12, scope: !353)
  7756. !357 = !DILocation(line: 56, column: 5, scope: !353)
  7757. !358 = distinct !DISubprogram(name: "__aeabi_uldivmod", scope: !152, file: !152, line: 63, type: !359, isLocal: true, isDefinition: true, scopeLine: 63, isOptimized: false, unit: !1, variables: !365)
  7758. !359 = !DISubroutineType(types: !360)
  7759. !360 = !{!361, !269, !269}
  7760. !361 = !DICompositeType(tag: DW_TAG_structure_type, name: "AeabiUlDivModResult", scope: !152, file: !152, line: 59, size: 128, align: 128, elements: !362)
  7761. !362 = !{!363, !364}
  7762. !363 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !361, file: !152, line: 60, baseType: !269, size: 64, align: 64)
  7763. !364 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !361, file: !152, line: 61, baseType: !269, size: 64, align: 64, offset: 64)
  7764. !365 = !{!366, !367}
  7765. !366 = !DILocalVariable(name: "numerator", arg: 1, scope: !358, file: !152, line: 63, type: !269)
  7766. !367 = !DILocalVariable(name: "denominator", arg: 2, scope: !368, file: !152, line: 63, type: !269)
  7767. !368 = distinct !DILexicalBlock(scope: !358, file: !152, line: 63, column: 28)
  7768. !369 = !DILocation(line: 63, column: 28, scope: !358)
  7769. !370 = !DILocation(line: 63, column: 44, scope: !368)
  7770. !371 = !DILocation(line: 73, column: 5, scope: !372)
  7771. !372 = distinct !DILexicalBlock(scope: !373, file: !152, line: 63, column: 85)
  7772. !373 = distinct !DILexicalBlock(scope: !368, file: !152, line: 63, column: 44)
  7773. !374 = distinct !DISubprogram(name: "__aeabi_uidivmod", scope: !152, file: !152, line: 101, type: !375, isLocal: true, isDefinition: true, scopeLine: 101, isOptimized: false, unit: !1, variables: !377)
  7774. !375 = !DISubroutineType(types: !376)
  7775. !376 = !{!311}
  7776. !377 = !{}
  7777. !378 = !DILocation(line: 101, column: 38, scope: !374)
  7778. !379 = distinct !DISubprogram(name: "_chkstk", scope: !152, file: !152, line: 125, type: !375, isLocal: true, isDefinition: true, scopeLine: 125, isOptimized: false, unit: !1, variables: !377)
  7779. !380 = !DILocation(line: 125, column: 38, scope: !379)
  7780. !381 = distinct !DISubprogram(name: "__chkstk", scope: !152, file: !152, line: 155, type: !375, isLocal: true, isDefinition: true, scopeLine: 155, isOptimized: false, unit: !1, variables: !377)
  7781. !382 = !DILocation(line: 155, column: 39, scope: !381)
  7782. !383 = distinct !DISubprogram(name: "__chkstk_ms", scope: !152, file: !152, line: 188, type: !375, isLocal: true, isDefinition: true, scopeLine: 188, isOptimized: false, unit: !1, variables: !377)
  7783. !384 = !DILocation(line: 188, column: 42, scope: !383)
  7784. !385 = distinct !DISubprogram(name: "___chkstk_ms", scope: !152, file: !152, line: 218, type: !375, isLocal: true, isDefinition: true, scopeLine: 218, isOptimized: false, unit: !1, variables: !377)
  7785. !386 = !DILocation(line: 218, column: 43, scope: !385)
  7786. !387 = distinct !DISubprogram(name: "__udivmodsi4", scope: !152, file: !152, line: 248, type: !388, isLocal: false, isDefinition: true, scopeLine: 248, isOptimized: false, unit: !1, variables: !392)
  7787. !388 = !DISubroutineType(types: !389)
  7788. !389 = !{!390, !390, !390, !391}
  7789. !390 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
  7790. !391 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u32", baseType: !390, size: 64, align: 64)
  7791. !392 = !{!393, !394, !396, !398}
  7792. !393 = !DILocalVariable(name: "a", arg: 1, scope: !387, file: !152, line: 248, type: !390)
  7793. !394 = !DILocalVariable(name: "b", arg: 2, scope: !395, file: !152, line: 248, type: !390)
  7794. !395 = distinct !DILexicalBlock(scope: !387, file: !152, line: 248, column: 24)
  7795. !396 = !DILocalVariable(name: "rem", arg: 3, scope: !397, file: !152, line: 248, type: !391)
  7796. !397 = distinct !DILexicalBlock(scope: !395, file: !152, line: 248, column: 32)
  7797. !398 = !DILocalVariable(name: "d", scope: !399, file: !152, line: 252, type: !390)
  7798. !399 = distinct !DILexicalBlock(scope: !400, file: !152, line: 248, column: 58)
  7799. !400 = distinct !DILexicalBlock(scope: !397, file: !152, line: 248, column: 40)
  7800. !401 = !DILocation(line: 248, column: 24, scope: !387)
  7801. !402 = !DILocation(line: 248, column: 32, scope: !395)
  7802. !403 = !DILocation(line: 248, column: 40, scope: !397)
  7803. !404 = !DILocation(line: 252, column: 25, scope: !399)
  7804. !405 = !DILocation(line: 252, column: 28, scope: !399)
  7805. !406 = !DILocation(line: 252, column: 24, scope: !399)
  7806. !407 = !DILocation(line: 252, column: 5, scope: !399)
  7807. !408 = !DILocation(line: 253, column: 5, scope: !409)
  7808. !409 = distinct !DILexicalBlock(scope: !399, file: !152, line: 252, column: 5)
  7809. !410 = !DILocation(line: 253, column: 20, scope: !409)
  7810. !411 = !DILocation(line: 253, column: 31, scope: !409)
  7811. !412 = !DILocation(line: 253, column: 40, scope: !409)
  7812. !413 = !DILocation(line: 253, column: 34, scope: !409)
  7813. !414 = !DILocation(line: 253, column: 23, scope: !409)
  7814. !415 = !DILocation(line: 253, column: 10, scope: !409)
  7815. !416 = !DILocation(line: 254, column: 12, scope: !409)
  7816. !417 = !DILocation(line: 254, column: 5, scope: !409)
  7817. !418 = distinct !DISubprogram(name: "__udivsi3", scope: !152, file: !152, line: 268, type: !419, isLocal: false, isDefinition: true, scopeLine: 268, isOptimized: false, unit: !1, variables: !421)
  7818. !419 = !DISubroutineType(types: !420)
  7819. !420 = !{!390, !390, !390}
  7820. !421 = !{!422, !423, !425, !429, !431, !433, !435, !437}
  7821. !422 = !DILocalVariable(name: "n", arg: 1, scope: !418, file: !152, line: 268, type: !390)
  7822. !423 = !DILocalVariable(name: "d", arg: 2, scope: !424, file: !152, line: 268, type: !390)
  7823. !424 = distinct !DILexicalBlock(scope: !418, file: !152, line: 268, column: 21)
  7824. !425 = !DILocalVariable(name: "n_uword_bits", scope: !426, file: !152, line: 272, type: !428)
  7825. !426 = distinct !DILexicalBlock(scope: !427, file: !152, line: 268, column: 44)
  7826. !427 = distinct !DILexicalBlock(scope: !424, file: !152, line: 268, column: 29)
  7827. !428 = !DIBasicType(name: "c_uint", size: 32, encoding: DW_ATE_unsigned)
  7828. !429 = !DILocalVariable(name: "sr", scope: !430, file: !152, line: 278, type: !428)
  7829. !430 = distinct !DILexicalBlock(scope: !426, file: !152, line: 272, column: 5)
  7830. !431 = !DILocalVariable(name: "q", scope: !432, file: !152, line: 287, type: !390)
  7831. !432 = distinct !DILexicalBlock(scope: !430, file: !152, line: 278, column: 5)
  7832. !433 = !DILocalVariable(name: "r", scope: !434, file: !152, line: 288, type: !390)
  7833. !434 = distinct !DILexicalBlock(scope: !432, file: !152, line: 287, column: 5)
  7834. !435 = !DILocalVariable(name: "carry", scope: !436, file: !152, line: 289, type: !390)
  7835. !436 = distinct !DILexicalBlock(scope: !434, file: !152, line: 288, column: 5)
  7836. !437 = !DILocalVariable(name: "s", scope: !438, file: !152, line: 300, type: !440)
  7837. !438 = distinct !DILexicalBlock(scope: !439, file: !152, line: 290, column: 32)
  7838. !439 = distinct !DILexicalBlock(scope: !436, file: !152, line: 289, column: 5)
  7839. !440 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
  7840. !441 = !DILocation(line: 268, column: 21, scope: !418)
  7841. !442 = !DILocation(line: 268, column: 29, scope: !424)
  7842. !443 = !DILocation(line: 272, column: 5, scope: !426)
  7843. !444 = !DILocation(line: 274, column: 9, scope: !430)
  7844. !445 = !DILocation(line: 274, column: 11, scope: !430)
  7845. !446 = !DILocation(line: 275, column: 9, scope: !430)
  7846. !447 = !DILocation(line: 274, column: 5, scope: !430)
  7847. !448 = !DILocation(line: 276, column: 9, scope: !430)
  7848. !449 = !DILocation(line: 276, column: 11, scope: !430)
  7849. !450 = !DILocation(line: 277, column: 9, scope: !430)
  7850. !451 = !DILocation(line: 276, column: 5, scope: !430)
  7851. !452 = !DILocation(line: 278, column: 42, scope: !430)
  7852. !453 = !DILocation(line: 278, column: 37, scope: !430)
  7853. !454 = !DILocation(line: 278, column: 36, scope: !430)
  7854. !455 = !DILocation(line: 278, column: 59, scope: !430)
  7855. !456 = !DILocation(line: 278, column: 54, scope: !430)
  7856. !457 = !DILocation(line: 278, column: 53, scope: !430)
  7857. !458 = !DILocation(line: 278, column: 46, scope: !430)
  7858. !459 = !DILocation(line: 278, column: 5, scope: !430)
  7859. !460 = !DILocation(line: 280, column: 9, scope: !432)
  7860. !461 = !DILocation(line: 280, column: 12, scope: !432)
  7861. !462 = !DILocation(line: 281, column: 9, scope: !432)
  7862. !463 = !DILocation(line: 280, column: 5, scope: !432)
  7863. !464 = !DILocation(line: 282, column: 9, scope: !432)
  7864. !465 = !DILocation(line: 282, column: 12, scope: !432)
  7865. !466 = !DILocation(line: 283, column: 16, scope: !432)
  7866. !467 = !DILocation(line: 283, column: 9, scope: !432)
  7867. !468 = !DILocation(line: 284, column: 5, scope: !432)
  7868. !469 = !DILocation(line: 284, column: 8, scope: !432)
  7869. !470 = !DILocation(line: 287, column: 18, scope: !432)
  7870. !471 = !DILocation(line: 287, column: 41, scope: !432)
  7871. !472 = !DILocation(line: 287, column: 39, scope: !432)
  7872. !473 = !DILocation(line: 287, column: 25, scope: !432)
  7873. !474 = !DILocation(line: 287, column: 20, scope: !432)
  7874. !475 = !DILocation(line: 287, column: 5, scope: !432)
  7875. !476 = !DILocation(line: 288, column: 18, scope: !434)
  7876. !477 = !DILocation(line: 288, column: 26, scope: !434)
  7877. !478 = !DILocation(line: 288, column: 25, scope: !434)
  7878. !479 = !DILocation(line: 288, column: 20, scope: !434)
  7879. !480 = !DILocation(line: 288, column: 5, scope: !434)
  7880. !481 = !DILocation(line: 289, column: 5, scope: !436)
  7881. !482 = !DILocation(line: 290, column: 5, scope: !439)
  7882. !483 = !DILocation(line: 290, column: 12, scope: !439)
  7883. !484 = !DILocation(line: 290, column: 15, scope: !439)
  7884. !485 = !DILocation(line: 292, column: 14, scope: !438)
  7885. !486 = !DILocation(line: 292, column: 16, scope: !438)
  7886. !487 = !DILocation(line: 292, column: 25, scope: !438)
  7887. !488 = !DILocation(line: 292, column: 27, scope: !438)
  7888. !489 = !DILocation(line: 292, column: 22, scope: !438)
  7889. !490 = !DILocation(line: 292, column: 11, scope: !438)
  7890. !491 = !DILocation(line: 293, column: 14, scope: !438)
  7891. !492 = !DILocation(line: 293, column: 16, scope: !438)
  7892. !493 = !DILocation(line: 293, column: 24, scope: !438)
  7893. !494 = !DILocation(line: 293, column: 22, scope: !438)
  7894. !495 = !DILocation(line: 293, column: 11, scope: !438)
  7895. !496 = !DILocation(line: 300, column: 23, scope: !438)
  7896. !497 = !DILocation(line: 300, column: 28, scope: !438)
  7897. !498 = !DILocation(line: 300, column: 25, scope: !438)
  7898. !499 = !DILocation(line: 300, column: 30, scope: !438)
  7899. !500 = !DILocation(line: 300, column: 36, scope: !438)
  7900. !501 = !DILocation(line: 300, column: 9, scope: !438)
  7901. !502 = !DILocation(line: 301, column: 21, scope: !503)
  7902. !503 = distinct !DILexicalBlock(scope: !438, file: !152, line: 300, column: 9)
  7903. !504 = !DILocation(line: 301, column: 23, scope: !503)
  7904. !505 = !DILocation(line: 301, column: 15, scope: !503)
  7905. !506 = !DILocation(line: 302, column: 9, scope: !503)
  7906. !507 = !DILocation(line: 302, column: 14, scope: !503)
  7907. !508 = !DILocation(line: 302, column: 32, scope: !503)
  7908. !509 = !DILocation(line: 302, column: 16, scope: !503)
  7909. !510 = !DILocation(line: 302, column: 11, scope: !503)
  7910. !511 = !DILocation(line: 290, column: 23, scope: !439)
  7911. !512 = !DILocation(line: 290, column: 26, scope: !439)
  7912. !513 = !DILocation(line: 304, column: 10, scope: !439)
  7913. !514 = !DILocation(line: 304, column: 12, scope: !439)
  7914. !515 = !DILocation(line: 304, column: 20, scope: !439)
  7915. !516 = !DILocation(line: 304, column: 18, scope: !439)
  7916. !517 = !DILocation(line: 304, column: 7, scope: !439)
  7917. !518 = !DILocation(line: 305, column: 12, scope: !439)
  7918. !519 = !DILocation(line: 305, column: 5, scope: !439)
  7919. !520 = distinct !DISubprogram(name: "__aeabi_uidiv", scope: !152, file: !152, line: 261, type: !419, isLocal: false, isDefinition: true, scopeLine: 261, isOptimized: false, unit: !1, variables: !521)
  7920. !521 = !{!522, !523}
  7921. !522 = !DILocalVariable(name: "n", arg: 1, scope: !520, file: !152, line: 261, type: !390)
  7922. !523 = !DILocalVariable(name: "d", arg: 2, scope: !524, file: !152, line: 261, type: !390)
  7923. !524 = distinct !DILexicalBlock(scope: !520, file: !152, line: 261, column: 25)
  7924. !525 = !DILocation(line: 261, column: 25, scope: !520)
  7925. !526 = !DILocation(line: 261, column: 33, scope: !524)
  7926. !527 = !DILocation(line: 265, column: 22, scope: !528)
  7927. !528 = distinct !DILexicalBlock(scope: !529, file: !152, line: 261, column: 48)
  7928. !529 = distinct !DILexicalBlock(scope: !524, file: !152, line: 261, column: 33)
  7929. !530 = !DILocation(line: 265, column: 25, scope: !528)
  7930. !531 = !DILocation(line: 265, column: 21, scope: !528)
  7931. !532 = !DILocation(line: 265, column: 5, scope: !528)
  7932. !533 = distinct !DISubprogram(name: "__letf2", scope: !169, file: !169, line: 25, type: !534, isLocal: false, isDefinition: true, scopeLine: 25, isOptimized: false, unit: !1, variables: !537)
  7933. !534 = !DISubroutineType(types: !535)
  7934. !535 = !{!194, !536, !536}
  7935. !536 = !DIBasicType(name: "f128", size: 128, encoding: DW_ATE_float)
  7936. !537 = !{!538, !539, !541, !544, !546, !548}
  7937. !538 = !DILocalVariable(name: "a", arg: 1, scope: !533, file: !169, line: 25, type: !536)
  7938. !539 = !DILocalVariable(name: "b", arg: 2, scope: !540, file: !169, line: 25, type: !536)
  7939. !540 = distinct !DILexicalBlock(scope: !533, file: !169, line: 25, column: 19)
  7940. !541 = !DILocalVariable(name: "aInt", scope: !542, file: !169, line: 29, type: !181)
  7941. !542 = distinct !DILexicalBlock(scope: !543, file: !169, line: 25, column: 46)
  7942. !543 = distinct !DILexicalBlock(scope: !540, file: !169, line: 25, column: 28)
  7943. !544 = !DILocalVariable(name: "bInt", scope: !545, file: !169, line: 30, type: !181)
  7944. !545 = distinct !DILexicalBlock(scope: !542, file: !169, line: 29, column: 5)
  7945. !546 = !DILocalVariable(name: "aAbs", scope: !547, file: !169, line: 32, type: !181)
  7946. !547 = distinct !DILexicalBlock(scope: !545, file: !169, line: 30, column: 5)
  7947. !548 = !DILocalVariable(name: "bAbs", scope: !549, file: !169, line: 33, type: !181)
  7948. !549 = distinct !DILexicalBlock(scope: !547, file: !169, line: 32, column: 5)
  7949. !550 = !DILocation(line: 25, column: 19, scope: !533)
  7950. !551 = !DILocation(line: 25, column: 28, scope: !540)
  7951. !552 = !DILocation(line: 29, column: 34, scope: !542)
  7952. !553 = !DILocation(line: 29, column: 18, scope: !542)
  7953. !554 = !DILocation(line: 29, column: 5, scope: !542)
  7954. !555 = !DILocation(line: 30, column: 34, scope: !545)
  7955. !556 = !DILocation(line: 30, column: 18, scope: !545)
  7956. !557 = !DILocation(line: 30, column: 5, scope: !545)
  7957. !558 = !DILocation(line: 32, column: 25, scope: !547)
  7958. !559 = !DILocation(line: 32, column: 30, scope: !547)
  7959. !560 = !DILocation(line: 32, column: 5, scope: !547)
  7960. !561 = !DILocation(line: 33, column: 25, scope: !549)
  7961. !562 = !DILocation(line: 33, column: 30, scope: !549)
  7962. !563 = !DILocation(line: 33, column: 5, scope: !549)
  7963. !564 = !DILocation(line: 36, column: 9, scope: !565)
  7964. !565 = distinct !DILexicalBlock(scope: !549, file: !169, line: 33, column: 5)
  7965. !566 = !DILocation(line: 36, column: 14, scope: !565)
  7966. !567 = !DILocation(line: 36, column: 23, scope: !565)
  7967. !568 = !DILocation(line: 36, column: 26, scope: !565)
  7968. !569 = !DILocation(line: 36, column: 31, scope: !565)
  7969. !570 = !DILocation(line: 36, column: 41, scope: !565)
  7970. !571 = !DILocation(line: 36, column: 5, scope: !565)
  7971. !572 = !DILocation(line: 39, column: 10, scope: !565)
  7972. !573 = !DILocation(line: 39, column: 17, scope: !565)
  7973. !574 = !DILocation(line: 39, column: 15, scope: !565)
  7974. !575 = !DILocation(line: 39, column: 23, scope: !565)
  7975. !576 = !DILocation(line: 39, column: 29, scope: !565)
  7976. !577 = !DILocation(line: 39, column: 5, scope: !565)
  7977. !578 = !DILocation(line: 43, column: 17, scope: !565)
  7978. !579 = !DILocation(line: 43, column: 24, scope: !565)
  7979. !580 = !DILocation(line: 44, column: 13, scope: !581)
  7980. !581 = distinct !DILexicalBlock(scope: !565, file: !169, line: 43, column: 36)
  7981. !582 = !DILocation(line: 44, column: 20, scope: !581)
  7982. !583 = !DILocation(line: 44, column: 18, scope: !581)
  7983. !584 = !DILocation(line: 44, column: 9, scope: !581)
  7984. !585 = !DILocation(line: 46, column: 20, scope: !581)
  7985. !586 = !DILocation(line: 46, column: 28, scope: !581)
  7986. !587 = !DILocation(line: 46, column: 25, scope: !581)
  7987. !588 = !DILocation(line: 46, column: 16, scope: !581)
  7988. !589 = !DILocation(line: 43, column: 5, scope: !565)
  7989. !590 = distinct !DISubprogram(name: "__cmptf2", scope: !169, file: !169, line: 68, type: !534, isLocal: false, isDefinition: true, scopeLine: 68, isOptimized: false, unit: !1, variables: !591)
  7990. !591 = !{!592, !593}
  7991. !592 = !DILocalVariable(name: "a", arg: 1, scope: !590, file: !169, line: 68, type: !536)
  7992. !593 = !DILocalVariable(name: "b", arg: 2, scope: !594, file: !169, line: 68, type: !536)
  7993. !594 = distinct !DILexicalBlock(scope: !590, file: !169, line: 68, column: 20)
  7994. !595 = !DILocation(line: 68, column: 20, scope: !590)
  7995. !596 = !DILocation(line: 68, column: 29, scope: !594)
  7996. !597 = !DILocation(line: 71, column: 20, scope: !598)
  7997. !598 = distinct !DILexicalBlock(scope: !599, file: !169, line: 68, column: 47)
  7998. !599 = distinct !DILexicalBlock(scope: !594, file: !169, line: 68, column: 29)
  7999. !600 = !DILocation(line: 71, column: 23, scope: !598)
  8000. !601 = !DILocation(line: 71, column: 19, scope: !598)
  8001. !602 = !DILocation(line: 71, column: 5, scope: !598)
  8002. !603 = distinct !DISubprogram(name: "__getf2", scope: !169, file: !169, line: 81, type: !534, isLocal: false, isDefinition: true, scopeLine: 81, isOptimized: false, unit: !1, variables: !604)
  8003. !604 = !{!605, !606, !608, !612, !614, !616}
  8004. !605 = !DILocalVariable(name: "a", arg: 1, scope: !603, file: !169, line: 81, type: !536)
  8005. !606 = !DILocalVariable(name: "b", arg: 2, scope: !607, file: !169, line: 81, type: !536)
  8006. !607 = distinct !DILexicalBlock(scope: !603, file: !169, line: 81, column: 19)
  8007. !608 = !DILocalVariable(name: "aInt", scope: !609, file: !169, line: 85, type: !611)
  8008. !609 = distinct !DILexicalBlock(scope: !610, file: !169, line: 81, column: 46)
  8009. !610 = distinct !DILexicalBlock(scope: !607, file: !169, line: 81, column: 28)
  8010. !611 = !DIBasicType(name: "i128", size: 128, encoding: DW_ATE_signed)
  8011. !612 = !DILocalVariable(name: "bInt", scope: !613, file: !169, line: 86, type: !611)
  8012. !613 = distinct !DILexicalBlock(scope: !609, file: !169, line: 85, column: 5)
  8013. !614 = !DILocalVariable(name: "aAbs", scope: !615, file: !169, line: 87, type: !181)
  8014. !615 = distinct !DILexicalBlock(scope: !613, file: !169, line: 86, column: 5)
  8015. !616 = !DILocalVariable(name: "bAbs", scope: !617, file: !169, line: 88, type: !181)
  8016. !617 = distinct !DILexicalBlock(scope: !615, file: !169, line: 87, column: 5)
  8017. !618 = !DILocation(line: 81, column: 19, scope: !603)
  8018. !619 = !DILocation(line: 81, column: 28, scope: !607)
  8019. !620 = !DILocation(line: 85, column: 35, scope: !609)
  8020. !621 = !DILocation(line: 85, column: 18, scope: !609)
  8021. !622 = !DILocation(line: 85, column: 5, scope: !609)
  8022. !623 = !DILocation(line: 86, column: 35, scope: !613)
  8023. !624 = !DILocation(line: 86, column: 18, scope: !613)
  8024. !625 = !DILocation(line: 86, column: 5, scope: !613)
  8025. !626 = !DILocation(line: 87, column: 34, scope: !615)
  8026. !627 = !DILocation(line: 87, column: 40, scope: !615)
  8027. !628 = !DILocation(line: 87, column: 5, scope: !615)
  8028. !629 = !DILocation(line: 88, column: 34, scope: !617)
  8029. !630 = !DILocation(line: 88, column: 40, scope: !617)
  8030. !631 = !DILocation(line: 88, column: 5, scope: !617)
  8031. !632 = !DILocation(line: 90, column: 9, scope: !633)
  8032. !633 = distinct !DILexicalBlock(scope: !617, file: !169, line: 88, column: 5)
  8033. !634 = !DILocation(line: 90, column: 14, scope: !633)
  8034. !635 = !DILocation(line: 90, column: 23, scope: !633)
  8035. !636 = !DILocation(line: 90, column: 26, scope: !633)
  8036. !637 = !DILocation(line: 90, column: 31, scope: !633)
  8037. !638 = !DILocation(line: 90, column: 41, scope: !633)
  8038. !639 = !DILocation(line: 90, column: 5, scope: !633)
  8039. !640 = !DILocation(line: 91, column: 10, scope: !633)
  8040. !641 = !DILocation(line: 91, column: 17, scope: !633)
  8041. !642 = !DILocation(line: 91, column: 15, scope: !633)
  8042. !643 = !DILocation(line: 91, column: 23, scope: !633)
  8043. !644 = !DILocation(line: 91, column: 29, scope: !633)
  8044. !645 = !DILocation(line: 91, column: 5, scope: !633)
  8045. !646 = !DILocation(line: 92, column: 17, scope: !633)
  8046. !647 = !DILocation(line: 92, column: 24, scope: !633)
  8047. !648 = !DILocation(line: 92, column: 22, scope: !633)
  8048. !649 = !DILocation(line: 92, column: 30, scope: !633)
  8049. !650 = !DILocation(line: 93, column: 13, scope: !651)
  8050. !651 = distinct !DILexicalBlock(scope: !633, file: !169, line: 92, column: 36)
  8051. !652 = !DILocation(line: 93, column: 20, scope: !651)
  8052. !653 = !DILocation(line: 93, column: 18, scope: !651)
  8053. !654 = !DILocation(line: 101, column: 13, scope: !655)
  8054. !655 = distinct !DILexicalBlock(scope: !633, file: !169, line: 100, column: 12)
  8055. !656 = !DILocation(line: 101, column: 20, scope: !655)
  8056. !657 = !DILocation(line: 101, column: 18, scope: !655)
  8057. !658 = !DILocation(line: 93, column: 9, scope: !651)
  8058. !659 = !DILocation(line: 95, column: 20, scope: !651)
  8059. !660 = !DILocation(line: 95, column: 28, scope: !651)
  8060. !661 = !DILocation(line: 95, column: 25, scope: !651)
  8061. !662 = !DILocation(line: 101, column: 9, scope: !655)
  8062. !663 = !DILocation(line: 103, column: 20, scope: !655)
  8063. !664 = !DILocation(line: 103, column: 28, scope: !655)
  8064. !665 = !DILocation(line: 103, column: 25, scope: !655)
  8065. !666 = !DILocation(line: 95, column: 16, scope: !651)
  8066. !667 = !DILocation(line: 92, column: 12, scope: !633)
  8067. !668 = !DILocation(line: 103, column: 16, scope: !655)
  8068. !669 = !DILocation(line: 92, column: 5, scope: !633)
  8069. !670 = distinct !DISubprogram(name: "__unordtf2", scope: !169, file: !169, line: 111, type: !534, isLocal: false, isDefinition: true, scopeLine: 111, isOptimized: false, unit: !1, variables: !671)
  8070. !671 = !{!672, !673, !675, !678}
  8071. !672 = !DILocalVariable(name: "a", arg: 1, scope: !670, file: !169, line: 111, type: !536)
  8072. !673 = !DILocalVariable(name: "b", arg: 2, scope: !674, file: !169, line: 111, type: !536)
  8073. !674 = distinct !DILexicalBlock(scope: !670, file: !169, line: 111, column: 22)
  8074. !675 = !DILocalVariable(name: "aAbs", scope: !676, file: !169, line: 115, type: !181)
  8075. !676 = distinct !DILexicalBlock(scope: !677, file: !169, line: 111, column: 49)
  8076. !677 = distinct !DILexicalBlock(scope: !674, file: !169, line: 111, column: 31)
  8077. !678 = !DILocalVariable(name: "bAbs", scope: !679, file: !169, line: 116, type: !181)
  8078. !679 = distinct !DILexicalBlock(scope: !676, file: !169, line: 115, column: 5)
  8079. !680 = !DILocation(line: 111, column: 22, scope: !670)
  8080. !681 = !DILocation(line: 111, column: 31, scope: !674)
  8081. !682 = !DILocation(line: 115, column: 34, scope: !676)
  8082. !683 = !DILocation(line: 115, column: 18, scope: !676)
  8083. !684 = !DILocation(line: 115, column: 37, scope: !676)
  8084. !685 = !DILocation(line: 115, column: 5, scope: !676)
  8085. !686 = !DILocation(line: 116, column: 34, scope: !679)
  8086. !687 = !DILocation(line: 116, column: 18, scope: !679)
  8087. !688 = !DILocation(line: 116, column: 37, scope: !679)
  8088. !689 = !DILocation(line: 116, column: 5, scope: !679)
  8089. !690 = !DILocation(line: 117, column: 18, scope: !691)
  8090. !691 = distinct !DILexicalBlock(scope: !679, file: !169, line: 116, column: 5)
  8091. !692 = !DILocation(line: 117, column: 23, scope: !691)
  8092. !693 = !DILocation(line: 117, column: 32, scope: !691)
  8093. !694 = !DILocation(line: 117, column: 35, scope: !691)
  8094. !695 = !DILocation(line: 117, column: 40, scope: !691)
  8095. !696 = !DILocation(line: 117, column: 17, scope: !691)
  8096. !697 = !DILocation(line: 117, column: 5, scope: !691)
  8097. !698 = distinct !DISubprogram(name: "__eqtf2", scope: !169, file: !169, line: 123, type: !534, isLocal: false, isDefinition: true, scopeLine: 123, isOptimized: false, unit: !1, variables: !699)
  8098. !699 = !{!700, !701}
  8099. !700 = !DILocalVariable(name: "a", arg: 1, scope: !698, file: !169, line: 123, type: !536)
  8100. !701 = !DILocalVariable(name: "b", arg: 2, scope: !702, file: !169, line: 123, type: !536)
  8101. !702 = distinct !DILexicalBlock(scope: !698, file: !169, line: 123, column: 19)
  8102. !703 = !DILocation(line: 123, column: 19, scope: !698)
  8103. !704 = !DILocation(line: 123, column: 28, scope: !702)
  8104. !705 = !DILocation(line: 126, column: 20, scope: !706)
  8105. !706 = distinct !DILexicalBlock(scope: !707, file: !169, line: 123, column: 46)
  8106. !707 = distinct !DILexicalBlock(scope: !702, file: !169, line: 123, column: 28)
  8107. !708 = !DILocation(line: 126, column: 23, scope: !706)
  8108. !709 = !DILocation(line: 126, column: 19, scope: !706)
  8109. !710 = !DILocation(line: 126, column: 5, scope: !706)
  8110. !711 = distinct !DISubprogram(name: "__lttf2", scope: !169, file: !169, line: 129, type: !534, isLocal: false, isDefinition: true, scopeLine: 129, isOptimized: false, unit: !1, variables: !712)
  8111. !712 = !{!713, !714}
  8112. !713 = !DILocalVariable(name: "a", arg: 1, scope: !711, file: !169, line: 129, type: !536)
  8113. !714 = !DILocalVariable(name: "b", arg: 2, scope: !715, file: !169, line: 129, type: !536)
  8114. !715 = distinct !DILexicalBlock(scope: !711, file: !169, line: 129, column: 19)
  8115. !716 = !DILocation(line: 129, column: 19, scope: !711)
  8116. !717 = !DILocation(line: 129, column: 28, scope: !715)
  8117. !718 = !DILocation(line: 132, column: 20, scope: !719)
  8118. !719 = distinct !DILexicalBlock(scope: !720, file: !169, line: 129, column: 46)
  8119. !720 = distinct !DILexicalBlock(scope: !715, file: !169, line: 129, column: 28)
  8120. !721 = !DILocation(line: 132, column: 23, scope: !719)
  8121. !722 = !DILocation(line: 132, column: 19, scope: !719)
  8122. !723 = !DILocation(line: 132, column: 5, scope: !719)
  8123. !724 = distinct !DISubprogram(name: "__netf2", scope: !169, file: !169, line: 135, type: !534, isLocal: false, isDefinition: true, scopeLine: 135, isOptimized: false, unit: !1, variables: !725)
  8124. !725 = !{!726, !727}
  8125. !726 = !DILocalVariable(name: "a", arg: 1, scope: !724, file: !169, line: 135, type: !536)
  8126. !727 = !DILocalVariable(name: "b", arg: 2, scope: !728, file: !169, line: 135, type: !536)
  8127. !728 = distinct !DILexicalBlock(scope: !724, file: !169, line: 135, column: 19)
  8128. !729 = !DILocation(line: 135, column: 19, scope: !724)
  8129. !730 = !DILocation(line: 135, column: 28, scope: !728)
  8130. !731 = !DILocation(line: 138, column: 20, scope: !732)
  8131. !732 = distinct !DILexicalBlock(scope: !733, file: !169, line: 135, column: 46)
  8132. !733 = distinct !DILexicalBlock(scope: !728, file: !169, line: 135, column: 28)
  8133. !734 = !DILocation(line: 138, column: 23, scope: !732)
  8134. !735 = !DILocation(line: 138, column: 19, scope: !732)
  8135. !736 = !DILocation(line: 138, column: 5, scope: !732)
  8136. !737 = distinct !DISubprogram(name: "__gttf2", scope: !169, file: !169, line: 141, type: !534, isLocal: false, isDefinition: true, scopeLine: 141, isOptimized: false, unit: !1, variables: !738)
  8137. !738 = !{!739, !740}
  8138. !739 = !DILocalVariable(name: "a", arg: 1, scope: !737, file: !169, line: 141, type: !536)
  8139. !740 = !DILocalVariable(name: "b", arg: 2, scope: !741, file: !169, line: 141, type: !536)
  8140. !741 = distinct !DILexicalBlock(scope: !737, file: !169, line: 141, column: 19)
  8141. !742 = !DILocation(line: 141, column: 19, scope: !737)
  8142. !743 = !DILocation(line: 141, column: 28, scope: !741)
  8143. !744 = !DILocation(line: 144, column: 20, scope: !745)
  8144. !745 = distinct !DILexicalBlock(scope: !746, file: !169, line: 141, column: 46)
  8145. !746 = distinct !DILexicalBlock(scope: !741, file: !169, line: 141, column: 28)
  8146. !747 = !DILocation(line: 144, column: 23, scope: !745)
  8147. !748 = !DILocation(line: 144, column: 19, scope: !745)
  8148. !749 = !DILocation(line: 144, column: 5, scope: !745)
  8149. !750 = distinct !DISubprogram(name: "__fixunsdfdi", scope: !211, file: !211, line: 5, type: !751, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !754)
  8150. !751 = !DISubroutineType(types: !752)
  8151. !752 = !{!269, !753}
  8152. !753 = !DIBasicType(name: "f64", size: 64, encoding: DW_ATE_float)
  8153. !754 = !{!755}
  8154. !755 = !DILocalVariable(name: "a", arg: 1, scope: !750, file: !211, line: 5, type: !753)
  8155. !756 = !DILocation(line: 5, column: 24, scope: !750)
  8156. !757 = !DILocation(line: 8, column: 30, scope: !758)
  8157. !758 = distinct !DILexicalBlock(scope: !759, file: !211, line: 5, column: 39)
  8158. !759 = distinct !DILexicalBlock(scope: !750, file: !211, line: 5, column: 24)
  8159. !760 = !DILocation(line: 8, column: 19, scope: !758)
  8160. !761 = !DILocation(line: 8, column: 5, scope: !758)
  8161. !762 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !751, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !763)
  8162. !763 = !{!764, !768, !776, !780, !782, !784, !786, !788, !790, !792}
  8163. !764 = !DILocalVariable(name: "a", arg: 1, scope: !765, file: !256, line: 4, type: !753)
  8164. !765 = distinct !DILexicalBlock(scope: !766, file: !256, line: 4, column: 63)
  8165. !766 = distinct !DILexicalBlock(scope: !767, file: !256, line: 4, column: 37)
  8166. !767 = distinct !DILexicalBlock(scope: !762, file: !256, line: 4, column: 16)
  8167. !768 = !DILocalVariable(name: "signBit", scope: !769, file: !256, line: 22, type: !269)
  8168. !769 = distinct !DILexicalBlock(scope: !770, file: !256, line: 21, column: 5)
  8169. !770 = distinct !DILexicalBlock(scope: !771, file: !256, line: 20, column: 5)
  8170. !771 = distinct !DILexicalBlock(scope: !772, file: !256, line: 14, column: 5)
  8171. !772 = distinct !DILexicalBlock(scope: !773, file: !256, line: 13, column: 5)
  8172. !773 = distinct !DILexicalBlock(scope: !774, file: !256, line: 7, column: 5)
  8173. !774 = distinct !DILexicalBlock(scope: !775, file: !256, line: 4, column: 85)
  8174. !775 = distinct !DILexicalBlock(scope: !765, file: !256, line: 4, column: 63)
  8175. !776 = !DILocalVariable(name: "implicitBit", scope: !777, file: !256, line: 26, type: !269)
  8176. !777 = distinct !DILexicalBlock(scope: !778, file: !256, line: 24, column: 5)
  8177. !778 = distinct !DILexicalBlock(scope: !779, file: !256, line: 23, column: 5)
  8178. !779 = distinct !DILexicalBlock(scope: !769, file: !256, line: 22, column: 5)
  8179. !780 = !DILocalVariable(name: "significandMask", scope: !781, file: !256, line: 27, type: !269)
  8180. !781 = distinct !DILexicalBlock(scope: !777, file: !256, line: 26, column: 5)
  8181. !782 = !DILocalVariable(name: "aRep", scope: !783, file: !256, line: 30, type: !269)
  8182. !783 = distinct !DILexicalBlock(scope: !781, file: !256, line: 27, column: 5)
  8183. !784 = !DILocalVariable(name: "absMask", scope: !785, file: !256, line: 31, type: !269)
  8184. !785 = distinct !DILexicalBlock(scope: !783, file: !256, line: 30, column: 5)
  8185. !786 = !DILocalVariable(name: "aAbs", scope: !787, file: !256, line: 32, type: !269)
  8186. !787 = distinct !DILexicalBlock(scope: !785, file: !256, line: 31, column: 5)
  8187. !788 = !DILocalVariable(name: "sign", scope: !789, file: !256, line: 34, type: !440)
  8188. !789 = distinct !DILexicalBlock(scope: !787, file: !256, line: 32, column: 5)
  8189. !790 = !DILocalVariable(name: "exponent", scope: !791, file: !256, line: 35, type: !440)
  8190. !791 = distinct !DILexicalBlock(scope: !789, file: !256, line: 34, column: 5)
  8191. !792 = !DILocalVariable(name: "significand", scope: !793, file: !256, line: 36, type: !269)
  8192. !793 = distinct !DILexicalBlock(scope: !791, file: !256, line: 35, column: 5)
  8193. !794 = !DILocation(line: 4, column: 63, scope: !765)
  8194. !795 = !DILocation(line: 22, column: 5, scope: !769)
  8195. !796 = !DILocation(line: 26, column: 5, scope: !777)
  8196. !797 = !DILocation(line: 27, column: 5, scope: !781)
  8197. !798 = !DILocation(line: 30, column: 41, scope: !783)
  8198. !799 = !DILocation(line: 30, column: 25, scope: !783)
  8199. !800 = !DILocation(line: 30, column: 5, scope: !783)
  8200. !801 = !DILocation(line: 31, column: 5, scope: !785)
  8201. !802 = !DILocation(line: 32, column: 25, scope: !787)
  8202. !803 = !DILocation(line: 32, column: 30, scope: !787)
  8203. !804 = !DILocation(line: 32, column: 5, scope: !787)
  8204. !805 = !DILocation(line: 34, column: 23, scope: !789)
  8205. !806 = !DILocation(line: 34, column: 28, scope: !789)
  8206. !807 = !DILocation(line: 34, column: 39, scope: !789)
  8207. !808 = !DILocation(line: 34, column: 18, scope: !789)
  8208. !809 = !DILocation(line: 34, column: 5, scope: !789)
  8209. !810 = !DILocation(line: 35, column: 26, scope: !791)
  8210. !811 = !DILocation(line: 35, column: 31, scope: !791)
  8211. !812 = !DILocation(line: 35, column: 25, scope: !791)
  8212. !813 = !DILocation(line: 35, column: 51, scope: !791)
  8213. !814 = !DILocation(line: 35, column: 5, scope: !791)
  8214. !815 = !DILocation(line: 36, column: 33, scope: !793)
  8215. !816 = !DILocation(line: 36, column: 38, scope: !793)
  8216. !817 = !DILocation(line: 36, column: 57, scope: !793)
  8217. !818 = !DILocation(line: 36, column: 5, scope: !793)
  8218. !819 = !DILocation(line: 39, column: 9, scope: !820)
  8219. !820 = distinct !DILexicalBlock(scope: !793, file: !256, line: 36, column: 5)
  8220. !821 = !DILocation(line: 39, column: 14, scope: !820)
  8221. !822 = !DILocation(line: 39, column: 20, scope: !820)
  8222. !823 = !DILocation(line: 39, column: 23, scope: !820)
  8223. !824 = !DILocation(line: 39, column: 32, scope: !820)
  8224. !825 = !DILocation(line: 40, column: 9, scope: !820)
  8225. !826 = !DILocation(line: 39, column: 5, scope: !820)
  8226. !827 = !DILocation(line: 43, column: 16, scope: !820)
  8227. !828 = !DILocation(line: 43, column: 26, scope: !820)
  8228. !829 = !DILocation(line: 44, column: 9, scope: !820)
  8229. !830 = !DILocation(line: 48, column: 9, scope: !820)
  8230. !831 = !DILocation(line: 48, column: 18, scope: !820)
  8231. !832 = !DILocation(line: 52, column: 26, scope: !833)
  8232. !833 = distinct !DILexicalBlock(scope: !820, file: !256, line: 48, column: 37)
  8233. !834 = !DILocation(line: 52, column: 74, scope: !833)
  8234. !835 = !DILocation(line: 52, column: 72, scope: !833)
  8235. !836 = !DILocation(line: 52, column: 55, scope: !833)
  8236. !837 = !DILocation(line: 52, column: 38, scope: !833)
  8237. !838 = !DILocation(line: 52, column: 9, scope: !833)
  8238. !839 = !DILocation(line: 57, column: 26, scope: !840)
  8239. !840 = distinct !DILexicalBlock(scope: !820, file: !256, line: 53, column: 12)
  8240. !841 = !DILocation(line: 57, column: 61, scope: !840)
  8241. !842 = !DILocation(line: 57, column: 70, scope: !840)
  8242. !843 = !DILocation(line: 57, column: 60, scope: !840)
  8243. !844 = !DILocation(line: 57, column: 39, scope: !840)
  8244. !845 = !DILocation(line: 57, column: 9, scope: !840)
  8245. !846 = distinct !DISubprogram(name: "__fixunsdfsi", scope: !214, file: !214, line: 5, type: !847, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !849)
  8246. !847 = !DISubroutineType(types: !848)
  8247. !848 = !{!390, !753}
  8248. !849 = !{!850}
  8249. !850 = !DILocalVariable(name: "a", arg: 1, scope: !846, file: !214, line: 5, type: !753)
  8250. !851 = !DILocation(line: 5, column: 24, scope: !846)
  8251. !852 = !DILocation(line: 8, column: 30, scope: !853)
  8252. !853 = distinct !DILexicalBlock(scope: !854, file: !214, line: 5, column: 39)
  8253. !854 = distinct !DILexicalBlock(scope: !846, file: !214, line: 5, column: 24)
  8254. !855 = !DILocation(line: 8, column: 19, scope: !853)
  8255. !856 = !DILocation(line: 8, column: 5, scope: !853)
  8256. !857 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !847, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !858)
  8257. !858 = !{!859, !863, !871, !875, !877, !879, !881, !883, !885, !887}
  8258. !859 = !DILocalVariable(name: "a", arg: 1, scope: !860, file: !256, line: 4, type: !753)
  8259. !860 = distinct !DILexicalBlock(scope: !861, file: !256, line: 4, column: 63)
  8260. !861 = distinct !DILexicalBlock(scope: !862, file: !256, line: 4, column: 37)
  8261. !862 = distinct !DILexicalBlock(scope: !857, file: !256, line: 4, column: 16)
  8262. !863 = !DILocalVariable(name: "signBit", scope: !864, file: !256, line: 22, type: !269)
  8263. !864 = distinct !DILexicalBlock(scope: !865, file: !256, line: 21, column: 5)
  8264. !865 = distinct !DILexicalBlock(scope: !866, file: !256, line: 20, column: 5)
  8265. !866 = distinct !DILexicalBlock(scope: !867, file: !256, line: 14, column: 5)
  8266. !867 = distinct !DILexicalBlock(scope: !868, file: !256, line: 13, column: 5)
  8267. !868 = distinct !DILexicalBlock(scope: !869, file: !256, line: 7, column: 5)
  8268. !869 = distinct !DILexicalBlock(scope: !870, file: !256, line: 4, column: 85)
  8269. !870 = distinct !DILexicalBlock(scope: !860, file: !256, line: 4, column: 63)
  8270. !871 = !DILocalVariable(name: "implicitBit", scope: !872, file: !256, line: 26, type: !269)
  8271. !872 = distinct !DILexicalBlock(scope: !873, file: !256, line: 24, column: 5)
  8272. !873 = distinct !DILexicalBlock(scope: !874, file: !256, line: 23, column: 5)
  8273. !874 = distinct !DILexicalBlock(scope: !864, file: !256, line: 22, column: 5)
  8274. !875 = !DILocalVariable(name: "significandMask", scope: !876, file: !256, line: 27, type: !269)
  8275. !876 = distinct !DILexicalBlock(scope: !872, file: !256, line: 26, column: 5)
  8276. !877 = !DILocalVariable(name: "aRep", scope: !878, file: !256, line: 30, type: !269)
  8277. !878 = distinct !DILexicalBlock(scope: !876, file: !256, line: 27, column: 5)
  8278. !879 = !DILocalVariable(name: "absMask", scope: !880, file: !256, line: 31, type: !269)
  8279. !880 = distinct !DILexicalBlock(scope: !878, file: !256, line: 30, column: 5)
  8280. !881 = !DILocalVariable(name: "aAbs", scope: !882, file: !256, line: 32, type: !269)
  8281. !882 = distinct !DILexicalBlock(scope: !880, file: !256, line: 31, column: 5)
  8282. !883 = !DILocalVariable(name: "sign", scope: !884, file: !256, line: 34, type: !440)
  8283. !884 = distinct !DILexicalBlock(scope: !882, file: !256, line: 32, column: 5)
  8284. !885 = !DILocalVariable(name: "exponent", scope: !886, file: !256, line: 35, type: !440)
  8285. !886 = distinct !DILexicalBlock(scope: !884, file: !256, line: 34, column: 5)
  8286. !887 = !DILocalVariable(name: "significand", scope: !888, file: !256, line: 36, type: !269)
  8287. !888 = distinct !DILexicalBlock(scope: !886, file: !256, line: 35, column: 5)
  8288. !889 = !DILocation(line: 4, column: 63, scope: !860)
  8289. !890 = !DILocation(line: 22, column: 5, scope: !864)
  8290. !891 = !DILocation(line: 26, column: 5, scope: !872)
  8291. !892 = !DILocation(line: 27, column: 5, scope: !876)
  8292. !893 = !DILocation(line: 30, column: 41, scope: !878)
  8293. !894 = !DILocation(line: 30, column: 25, scope: !878)
  8294. !895 = !DILocation(line: 30, column: 5, scope: !878)
  8295. !896 = !DILocation(line: 31, column: 5, scope: !880)
  8296. !897 = !DILocation(line: 32, column: 25, scope: !882)
  8297. !898 = !DILocation(line: 32, column: 30, scope: !882)
  8298. !899 = !DILocation(line: 32, column: 5, scope: !882)
  8299. !900 = !DILocation(line: 34, column: 23, scope: !884)
  8300. !901 = !DILocation(line: 34, column: 28, scope: !884)
  8301. !902 = !DILocation(line: 34, column: 39, scope: !884)
  8302. !903 = !DILocation(line: 34, column: 18, scope: !884)
  8303. !904 = !DILocation(line: 34, column: 5, scope: !884)
  8304. !905 = !DILocation(line: 35, column: 26, scope: !886)
  8305. !906 = !DILocation(line: 35, column: 31, scope: !886)
  8306. !907 = !DILocation(line: 35, column: 25, scope: !886)
  8307. !908 = !DILocation(line: 35, column: 51, scope: !886)
  8308. !909 = !DILocation(line: 35, column: 5, scope: !886)
  8309. !910 = !DILocation(line: 36, column: 33, scope: !888)
  8310. !911 = !DILocation(line: 36, column: 38, scope: !888)
  8311. !912 = !DILocation(line: 36, column: 57, scope: !888)
  8312. !913 = !DILocation(line: 36, column: 5, scope: !888)
  8313. !914 = !DILocation(line: 39, column: 9, scope: !915)
  8314. !915 = distinct !DILexicalBlock(scope: !888, file: !256, line: 36, column: 5)
  8315. !916 = !DILocation(line: 39, column: 14, scope: !915)
  8316. !917 = !DILocation(line: 39, column: 20, scope: !915)
  8317. !918 = !DILocation(line: 39, column: 23, scope: !915)
  8318. !919 = !DILocation(line: 39, column: 32, scope: !915)
  8319. !920 = !DILocation(line: 40, column: 9, scope: !915)
  8320. !921 = !DILocation(line: 39, column: 5, scope: !915)
  8321. !922 = !DILocation(line: 43, column: 16, scope: !915)
  8322. !923 = !DILocation(line: 43, column: 26, scope: !915)
  8323. !924 = !DILocation(line: 44, column: 9, scope: !915)
  8324. !925 = !DILocation(line: 48, column: 9, scope: !915)
  8325. !926 = !DILocation(line: 48, column: 18, scope: !915)
  8326. !927 = !DILocation(line: 52, column: 26, scope: !928)
  8327. !928 = distinct !DILexicalBlock(scope: !915, file: !256, line: 48, column: 37)
  8328. !929 = !DILocation(line: 52, column: 74, scope: !928)
  8329. !930 = !DILocation(line: 52, column: 72, scope: !928)
  8330. !931 = !DILocation(line: 52, column: 55, scope: !928)
  8331. !932 = !DILocation(line: 52, column: 38, scope: !928)
  8332. !933 = !DILocation(line: 52, column: 25, scope: !928)
  8333. !934 = !DILocation(line: 52, column: 9, scope: !928)
  8334. !935 = !DILocation(line: 57, column: 26, scope: !936)
  8335. !936 = distinct !DILexicalBlock(scope: !915, file: !256, line: 53, column: 12)
  8336. !937 = !DILocation(line: 57, column: 25, scope: !936)
  8337. !938 = !DILocation(line: 57, column: 61, scope: !936)
  8338. !939 = !DILocation(line: 57, column: 70, scope: !936)
  8339. !940 = !DILocation(line: 57, column: 60, scope: !936)
  8340. !941 = !DILocation(line: 57, column: 39, scope: !936)
  8341. !942 = !DILocation(line: 57, column: 9, scope: !936)
  8342. !943 = distinct !DISubprogram(name: "__fixunsdfti", scope: !217, file: !217, line: 5, type: !944, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !946)
  8343. !944 = !DISubroutineType(types: !945)
  8344. !945 = !{!181, !753}
  8345. !946 = !{!947}
  8346. !947 = !DILocalVariable(name: "a", arg: 1, scope: !943, file: !217, line: 5, type: !753)
  8347. !948 = !DILocation(line: 5, column: 24, scope: !943)
  8348. !949 = !DILocation(line: 8, column: 31, scope: !950)
  8349. !950 = distinct !DILexicalBlock(scope: !951, file: !217, line: 5, column: 40)
  8350. !951 = distinct !DILexicalBlock(scope: !943, file: !217, line: 5, column: 24)
  8351. !952 = !DILocation(line: 8, column: 19, scope: !950)
  8352. !953 = !DILocation(line: 8, column: 5, scope: !950)
  8353. !954 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !944, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !955)
  8354. !955 = !{!956, !960, !968, !972, !974, !976, !978, !980, !982, !984}
  8355. !956 = !DILocalVariable(name: "a", arg: 1, scope: !957, file: !256, line: 4, type: !753)
  8356. !957 = distinct !DILexicalBlock(scope: !958, file: !256, line: 4, column: 63)
  8357. !958 = distinct !DILexicalBlock(scope: !959, file: !256, line: 4, column: 37)
  8358. !959 = distinct !DILexicalBlock(scope: !954, file: !256, line: 4, column: 16)
  8359. !960 = !DILocalVariable(name: "signBit", scope: !961, file: !256, line: 22, type: !269)
  8360. !961 = distinct !DILexicalBlock(scope: !962, file: !256, line: 21, column: 5)
  8361. !962 = distinct !DILexicalBlock(scope: !963, file: !256, line: 20, column: 5)
  8362. !963 = distinct !DILexicalBlock(scope: !964, file: !256, line: 14, column: 5)
  8363. !964 = distinct !DILexicalBlock(scope: !965, file: !256, line: 13, column: 5)
  8364. !965 = distinct !DILexicalBlock(scope: !966, file: !256, line: 7, column: 5)
  8365. !966 = distinct !DILexicalBlock(scope: !967, file: !256, line: 4, column: 85)
  8366. !967 = distinct !DILexicalBlock(scope: !957, file: !256, line: 4, column: 63)
  8367. !968 = !DILocalVariable(name: "implicitBit", scope: !969, file: !256, line: 26, type: !269)
  8368. !969 = distinct !DILexicalBlock(scope: !970, file: !256, line: 24, column: 5)
  8369. !970 = distinct !DILexicalBlock(scope: !971, file: !256, line: 23, column: 5)
  8370. !971 = distinct !DILexicalBlock(scope: !961, file: !256, line: 22, column: 5)
  8371. !972 = !DILocalVariable(name: "significandMask", scope: !973, file: !256, line: 27, type: !269)
  8372. !973 = distinct !DILexicalBlock(scope: !969, file: !256, line: 26, column: 5)
  8373. !974 = !DILocalVariable(name: "aRep", scope: !975, file: !256, line: 30, type: !269)
  8374. !975 = distinct !DILexicalBlock(scope: !973, file: !256, line: 27, column: 5)
  8375. !976 = !DILocalVariable(name: "absMask", scope: !977, file: !256, line: 31, type: !269)
  8376. !977 = distinct !DILexicalBlock(scope: !975, file: !256, line: 30, column: 5)
  8377. !978 = !DILocalVariable(name: "aAbs", scope: !979, file: !256, line: 32, type: !269)
  8378. !979 = distinct !DILexicalBlock(scope: !977, file: !256, line: 31, column: 5)
  8379. !980 = !DILocalVariable(name: "sign", scope: !981, file: !256, line: 34, type: !440)
  8380. !981 = distinct !DILexicalBlock(scope: !979, file: !256, line: 32, column: 5)
  8381. !982 = !DILocalVariable(name: "exponent", scope: !983, file: !256, line: 35, type: !440)
  8382. !983 = distinct !DILexicalBlock(scope: !981, file: !256, line: 34, column: 5)
  8383. !984 = !DILocalVariable(name: "significand", scope: !985, file: !256, line: 36, type: !269)
  8384. !985 = distinct !DILexicalBlock(scope: !983, file: !256, line: 35, column: 5)
  8385. !986 = !DILocation(line: 4, column: 63, scope: !957)
  8386. !987 = !DILocation(line: 22, column: 5, scope: !961)
  8387. !988 = !DILocation(line: 26, column: 5, scope: !969)
  8388. !989 = !DILocation(line: 27, column: 5, scope: !973)
  8389. !990 = !DILocation(line: 30, column: 41, scope: !975)
  8390. !991 = !DILocation(line: 30, column: 25, scope: !975)
  8391. !992 = !DILocation(line: 30, column: 5, scope: !975)
  8392. !993 = !DILocation(line: 31, column: 5, scope: !977)
  8393. !994 = !DILocation(line: 32, column: 25, scope: !979)
  8394. !995 = !DILocation(line: 32, column: 30, scope: !979)
  8395. !996 = !DILocation(line: 32, column: 5, scope: !979)
  8396. !997 = !DILocation(line: 34, column: 23, scope: !981)
  8397. !998 = !DILocation(line: 34, column: 28, scope: !981)
  8398. !999 = !DILocation(line: 34, column: 39, scope: !981)
  8399. !1000 = !DILocation(line: 34, column: 18, scope: !981)
  8400. !1001 = !DILocation(line: 34, column: 5, scope: !981)
  8401. !1002 = !DILocation(line: 35, column: 26, scope: !983)
  8402. !1003 = !DILocation(line: 35, column: 31, scope: !983)
  8403. !1004 = !DILocation(line: 35, column: 25, scope: !983)
  8404. !1005 = !DILocation(line: 35, column: 51, scope: !983)
  8405. !1006 = !DILocation(line: 35, column: 5, scope: !983)
  8406. !1007 = !DILocation(line: 36, column: 33, scope: !985)
  8407. !1008 = !DILocation(line: 36, column: 38, scope: !985)
  8408. !1009 = !DILocation(line: 36, column: 57, scope: !985)
  8409. !1010 = !DILocation(line: 36, column: 5, scope: !985)
  8410. !1011 = !DILocation(line: 39, column: 9, scope: !1012)
  8411. !1012 = distinct !DILexicalBlock(scope: !985, file: !256, line: 36, column: 5)
  8412. !1013 = !DILocation(line: 39, column: 14, scope: !1012)
  8413. !1014 = !DILocation(line: 39, column: 20, scope: !1012)
  8414. !1015 = !DILocation(line: 39, column: 23, scope: !1012)
  8415. !1016 = !DILocation(line: 39, column: 32, scope: !1012)
  8416. !1017 = !DILocation(line: 40, column: 9, scope: !1012)
  8417. !1018 = !DILocation(line: 39, column: 5, scope: !1012)
  8418. !1019 = !DILocation(line: 43, column: 16, scope: !1012)
  8419. !1020 = !DILocation(line: 43, column: 26, scope: !1012)
  8420. !1021 = !DILocation(line: 44, column: 9, scope: !1012)
  8421. !1022 = !DILocation(line: 48, column: 9, scope: !1012)
  8422. !1023 = !DILocation(line: 48, column: 18, scope: !1012)
  8423. !1024 = !DILocation(line: 52, column: 26, scope: !1025)
  8424. !1025 = distinct !DILexicalBlock(scope: !1012, file: !256, line: 48, column: 37)
  8425. !1026 = !DILocation(line: 52, column: 74, scope: !1025)
  8426. !1027 = !DILocation(line: 52, column: 72, scope: !1025)
  8427. !1028 = !DILocation(line: 52, column: 55, scope: !1025)
  8428. !1029 = !DILocation(line: 52, column: 38, scope: !1025)
  8429. !1030 = !DILocation(line: 52, column: 25, scope: !1025)
  8430. !1031 = !DILocation(line: 52, column: 9, scope: !1025)
  8431. !1032 = !DILocation(line: 57, column: 26, scope: !1033)
  8432. !1033 = distinct !DILexicalBlock(scope: !1012, file: !256, line: 53, column: 12)
  8433. !1034 = !DILocation(line: 57, column: 25, scope: !1033)
  8434. !1035 = !DILocation(line: 57, column: 61, scope: !1033)
  8435. !1036 = !DILocation(line: 57, column: 70, scope: !1033)
  8436. !1037 = !DILocation(line: 57, column: 60, scope: !1033)
  8437. !1038 = !DILocation(line: 57, column: 39, scope: !1033)
  8438. !1039 = !DILocation(line: 57, column: 9, scope: !1033)
  8439. !1040 = distinct !DISubprogram(name: "__fixunssfdi", scope: !220, file: !220, line: 5, type: !1041, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1044)
  8440. !1041 = !DISubroutineType(types: !1042)
  8441. !1042 = !{!269, !1043}
  8442. !1043 = !DIBasicType(name: "f32", size: 32, encoding: DW_ATE_float)
  8443. !1044 = !{!1045}
  8444. !1045 = !DILocalVariable(name: "a", arg: 1, scope: !1040, file: !220, line: 5, type: !1043)
  8445. !1046 = !DILocation(line: 5, column: 24, scope: !1040)
  8446. !1047 = !DILocation(line: 8, column: 30, scope: !1048)
  8447. !1048 = distinct !DILexicalBlock(scope: !1049, file: !220, line: 5, column: 39)
  8448. !1049 = distinct !DILexicalBlock(scope: !1040, file: !220, line: 5, column: 24)
  8449. !1050 = !DILocation(line: 8, column: 19, scope: !1048)
  8450. !1051 = !DILocation(line: 8, column: 5, scope: !1048)
  8451. !1052 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1041, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1053)
  8452. !1053 = !{!1054, !1058, !1066, !1070, !1072, !1074, !1076, !1078, !1080, !1082}
  8453. !1054 = !DILocalVariable(name: "a", arg: 1, scope: !1055, file: !256, line: 4, type: !1043)
  8454. !1055 = distinct !DILexicalBlock(scope: !1056, file: !256, line: 4, column: 63)
  8455. !1056 = distinct !DILexicalBlock(scope: !1057, file: !256, line: 4, column: 37)
  8456. !1057 = distinct !DILexicalBlock(scope: !1052, file: !256, line: 4, column: 16)
  8457. !1058 = !DILocalVariable(name: "signBit", scope: !1059, file: !256, line: 22, type: !390)
  8458. !1059 = distinct !DILexicalBlock(scope: !1060, file: !256, line: 21, column: 5)
  8459. !1060 = distinct !DILexicalBlock(scope: !1061, file: !256, line: 20, column: 5)
  8460. !1061 = distinct !DILexicalBlock(scope: !1062, file: !256, line: 14, column: 5)
  8461. !1062 = distinct !DILexicalBlock(scope: !1063, file: !256, line: 13, column: 5)
  8462. !1063 = distinct !DILexicalBlock(scope: !1064, file: !256, line: 7, column: 5)
  8463. !1064 = distinct !DILexicalBlock(scope: !1065, file: !256, line: 4, column: 85)
  8464. !1065 = distinct !DILexicalBlock(scope: !1055, file: !256, line: 4, column: 63)
  8465. !1066 = !DILocalVariable(name: "implicitBit", scope: !1067, file: !256, line: 26, type: !390)
  8466. !1067 = distinct !DILexicalBlock(scope: !1068, file: !256, line: 24, column: 5)
  8467. !1068 = distinct !DILexicalBlock(scope: !1069, file: !256, line: 23, column: 5)
  8468. !1069 = distinct !DILexicalBlock(scope: !1059, file: !256, line: 22, column: 5)
  8469. !1070 = !DILocalVariable(name: "significandMask", scope: !1071, file: !256, line: 27, type: !390)
  8470. !1071 = distinct !DILexicalBlock(scope: !1067, file: !256, line: 26, column: 5)
  8471. !1072 = !DILocalVariable(name: "aRep", scope: !1073, file: !256, line: 30, type: !390)
  8472. !1073 = distinct !DILexicalBlock(scope: !1071, file: !256, line: 27, column: 5)
  8473. !1074 = !DILocalVariable(name: "absMask", scope: !1075, file: !256, line: 31, type: !390)
  8474. !1075 = distinct !DILexicalBlock(scope: !1073, file: !256, line: 30, column: 5)
  8475. !1076 = !DILocalVariable(name: "aAbs", scope: !1077, file: !256, line: 32, type: !390)
  8476. !1077 = distinct !DILexicalBlock(scope: !1075, file: !256, line: 31, column: 5)
  8477. !1078 = !DILocalVariable(name: "sign", scope: !1079, file: !256, line: 34, type: !440)
  8478. !1079 = distinct !DILexicalBlock(scope: !1077, file: !256, line: 32, column: 5)
  8479. !1080 = !DILocalVariable(name: "exponent", scope: !1081, file: !256, line: 35, type: !440)
  8480. !1081 = distinct !DILexicalBlock(scope: !1079, file: !256, line: 34, column: 5)
  8481. !1082 = !DILocalVariable(name: "significand", scope: !1083, file: !256, line: 36, type: !390)
  8482. !1083 = distinct !DILexicalBlock(scope: !1081, file: !256, line: 35, column: 5)
  8483. !1084 = !DILocation(line: 4, column: 63, scope: !1055)
  8484. !1085 = !DILocation(line: 22, column: 5, scope: !1059)
  8485. !1086 = !DILocation(line: 26, column: 5, scope: !1067)
  8486. !1087 = !DILocation(line: 27, column: 5, scope: !1071)
  8487. !1088 = !DILocation(line: 30, column: 41, scope: !1073)
  8488. !1089 = !DILocation(line: 30, column: 25, scope: !1073)
  8489. !1090 = !DILocation(line: 30, column: 5, scope: !1073)
  8490. !1091 = !DILocation(line: 31, column: 5, scope: !1075)
  8491. !1092 = !DILocation(line: 32, column: 25, scope: !1077)
  8492. !1093 = !DILocation(line: 32, column: 30, scope: !1077)
  8493. !1094 = !DILocation(line: 32, column: 5, scope: !1077)
  8494. !1095 = !DILocation(line: 34, column: 23, scope: !1079)
  8495. !1096 = !DILocation(line: 34, column: 28, scope: !1079)
  8496. !1097 = !DILocation(line: 34, column: 39, scope: !1079)
  8497. !1098 = !DILocation(line: 34, column: 18, scope: !1079)
  8498. !1099 = !DILocation(line: 34, column: 5, scope: !1079)
  8499. !1100 = !DILocation(line: 35, column: 26, scope: !1081)
  8500. !1101 = !DILocation(line: 35, column: 31, scope: !1081)
  8501. !1102 = !DILocation(line: 35, column: 51, scope: !1081)
  8502. !1103 = !DILocation(line: 35, column: 5, scope: !1081)
  8503. !1104 = !DILocation(line: 36, column: 33, scope: !1083)
  8504. !1105 = !DILocation(line: 36, column: 38, scope: !1083)
  8505. !1106 = !DILocation(line: 36, column: 57, scope: !1083)
  8506. !1107 = !DILocation(line: 36, column: 5, scope: !1083)
  8507. !1108 = !DILocation(line: 39, column: 9, scope: !1109)
  8508. !1109 = distinct !DILexicalBlock(scope: !1083, file: !256, line: 36, column: 5)
  8509. !1110 = !DILocation(line: 39, column: 14, scope: !1109)
  8510. !1111 = !DILocation(line: 39, column: 20, scope: !1109)
  8511. !1112 = !DILocation(line: 39, column: 23, scope: !1109)
  8512. !1113 = !DILocation(line: 39, column: 32, scope: !1109)
  8513. !1114 = !DILocation(line: 40, column: 9, scope: !1109)
  8514. !1115 = !DILocation(line: 39, column: 5, scope: !1109)
  8515. !1116 = !DILocation(line: 43, column: 16, scope: !1109)
  8516. !1117 = !DILocation(line: 43, column: 26, scope: !1109)
  8517. !1118 = !DILocation(line: 44, column: 9, scope: !1109)
  8518. !1119 = !DILocation(line: 48, column: 9, scope: !1109)
  8519. !1120 = !DILocation(line: 48, column: 18, scope: !1109)
  8520. !1121 = !DILocation(line: 52, column: 26, scope: !1122)
  8521. !1122 = distinct !DILexicalBlock(scope: !1109, file: !256, line: 48, column: 37)
  8522. !1123 = !DILocation(line: 52, column: 74, scope: !1122)
  8523. !1124 = !DILocation(line: 52, column: 72, scope: !1122)
  8524. !1125 = !DILocation(line: 52, column: 55, scope: !1122)
  8525. !1126 = !DILocation(line: 52, column: 38, scope: !1122)
  8526. !1127 = !DILocation(line: 52, column: 25, scope: !1122)
  8527. !1128 = !DILocation(line: 52, column: 9, scope: !1122)
  8528. !1129 = !DILocation(line: 57, column: 26, scope: !1130)
  8529. !1130 = distinct !DILexicalBlock(scope: !1109, file: !256, line: 53, column: 12)
  8530. !1131 = !DILocation(line: 57, column: 25, scope: !1130)
  8531. !1132 = !DILocation(line: 57, column: 61, scope: !1130)
  8532. !1133 = !DILocation(line: 57, column: 70, scope: !1130)
  8533. !1134 = !DILocation(line: 57, column: 60, scope: !1130)
  8534. !1135 = !DILocation(line: 57, column: 39, scope: !1130)
  8535. !1136 = !DILocation(line: 57, column: 9, scope: !1130)
  8536. !1137 = distinct !DISubprogram(name: "__fixunssfsi", scope: !223, file: !223, line: 5, type: !1138, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1140)
  8537. !1138 = !DISubroutineType(types: !1139)
  8538. !1139 = !{!390, !1043}
  8539. !1140 = !{!1141}
  8540. !1141 = !DILocalVariable(name: "a", arg: 1, scope: !1137, file: !223, line: 5, type: !1043)
  8541. !1142 = !DILocation(line: 5, column: 24, scope: !1137)
  8542. !1143 = !DILocation(line: 8, column: 30, scope: !1144)
  8543. !1144 = distinct !DILexicalBlock(scope: !1145, file: !223, line: 5, column: 39)
  8544. !1145 = distinct !DILexicalBlock(scope: !1137, file: !223, line: 5, column: 24)
  8545. !1146 = !DILocation(line: 8, column: 19, scope: !1144)
  8546. !1147 = !DILocation(line: 8, column: 5, scope: !1144)
  8547. !1148 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1138, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1149)
  8548. !1149 = !{!1150, !1154, !1162, !1166, !1168, !1170, !1172, !1174, !1176, !1178}
  8549. !1150 = !DILocalVariable(name: "a", arg: 1, scope: !1151, file: !256, line: 4, type: !1043)
  8550. !1151 = distinct !DILexicalBlock(scope: !1152, file: !256, line: 4, column: 63)
  8551. !1152 = distinct !DILexicalBlock(scope: !1153, file: !256, line: 4, column: 37)
  8552. !1153 = distinct !DILexicalBlock(scope: !1148, file: !256, line: 4, column: 16)
  8553. !1154 = !DILocalVariable(name: "signBit", scope: !1155, file: !256, line: 22, type: !390)
  8554. !1155 = distinct !DILexicalBlock(scope: !1156, file: !256, line: 21, column: 5)
  8555. !1156 = distinct !DILexicalBlock(scope: !1157, file: !256, line: 20, column: 5)
  8556. !1157 = distinct !DILexicalBlock(scope: !1158, file: !256, line: 14, column: 5)
  8557. !1158 = distinct !DILexicalBlock(scope: !1159, file: !256, line: 13, column: 5)
  8558. !1159 = distinct !DILexicalBlock(scope: !1160, file: !256, line: 7, column: 5)
  8559. !1160 = distinct !DILexicalBlock(scope: !1161, file: !256, line: 4, column: 85)
  8560. !1161 = distinct !DILexicalBlock(scope: !1151, file: !256, line: 4, column: 63)
  8561. !1162 = !DILocalVariable(name: "implicitBit", scope: !1163, file: !256, line: 26, type: !390)
  8562. !1163 = distinct !DILexicalBlock(scope: !1164, file: !256, line: 24, column: 5)
  8563. !1164 = distinct !DILexicalBlock(scope: !1165, file: !256, line: 23, column: 5)
  8564. !1165 = distinct !DILexicalBlock(scope: !1155, file: !256, line: 22, column: 5)
  8565. !1166 = !DILocalVariable(name: "significandMask", scope: !1167, file: !256, line: 27, type: !390)
  8566. !1167 = distinct !DILexicalBlock(scope: !1163, file: !256, line: 26, column: 5)
  8567. !1168 = !DILocalVariable(name: "aRep", scope: !1169, file: !256, line: 30, type: !390)
  8568. !1169 = distinct !DILexicalBlock(scope: !1167, file: !256, line: 27, column: 5)
  8569. !1170 = !DILocalVariable(name: "absMask", scope: !1171, file: !256, line: 31, type: !390)
  8570. !1171 = distinct !DILexicalBlock(scope: !1169, file: !256, line: 30, column: 5)
  8571. !1172 = !DILocalVariable(name: "aAbs", scope: !1173, file: !256, line: 32, type: !390)
  8572. !1173 = distinct !DILexicalBlock(scope: !1171, file: !256, line: 31, column: 5)
  8573. !1174 = !DILocalVariable(name: "sign", scope: !1175, file: !256, line: 34, type: !440)
  8574. !1175 = distinct !DILexicalBlock(scope: !1173, file: !256, line: 32, column: 5)
  8575. !1176 = !DILocalVariable(name: "exponent", scope: !1177, file: !256, line: 35, type: !440)
  8576. !1177 = distinct !DILexicalBlock(scope: !1175, file: !256, line: 34, column: 5)
  8577. !1178 = !DILocalVariable(name: "significand", scope: !1179, file: !256, line: 36, type: !390)
  8578. !1179 = distinct !DILexicalBlock(scope: !1177, file: !256, line: 35, column: 5)
  8579. !1180 = !DILocation(line: 4, column: 63, scope: !1151)
  8580. !1181 = !DILocation(line: 22, column: 5, scope: !1155)
  8581. !1182 = !DILocation(line: 26, column: 5, scope: !1163)
  8582. !1183 = !DILocation(line: 27, column: 5, scope: !1167)
  8583. !1184 = !DILocation(line: 30, column: 41, scope: !1169)
  8584. !1185 = !DILocation(line: 30, column: 25, scope: !1169)
  8585. !1186 = !DILocation(line: 30, column: 5, scope: !1169)
  8586. !1187 = !DILocation(line: 31, column: 5, scope: !1171)
  8587. !1188 = !DILocation(line: 32, column: 25, scope: !1173)
  8588. !1189 = !DILocation(line: 32, column: 30, scope: !1173)
  8589. !1190 = !DILocation(line: 32, column: 5, scope: !1173)
  8590. !1191 = !DILocation(line: 34, column: 23, scope: !1175)
  8591. !1192 = !DILocation(line: 34, column: 28, scope: !1175)
  8592. !1193 = !DILocation(line: 34, column: 39, scope: !1175)
  8593. !1194 = !DILocation(line: 34, column: 18, scope: !1175)
  8594. !1195 = !DILocation(line: 34, column: 5, scope: !1175)
  8595. !1196 = !DILocation(line: 35, column: 26, scope: !1177)
  8596. !1197 = !DILocation(line: 35, column: 31, scope: !1177)
  8597. !1198 = !DILocation(line: 35, column: 51, scope: !1177)
  8598. !1199 = !DILocation(line: 35, column: 5, scope: !1177)
  8599. !1200 = !DILocation(line: 36, column: 33, scope: !1179)
  8600. !1201 = !DILocation(line: 36, column: 38, scope: !1179)
  8601. !1202 = !DILocation(line: 36, column: 57, scope: !1179)
  8602. !1203 = !DILocation(line: 36, column: 5, scope: !1179)
  8603. !1204 = !DILocation(line: 39, column: 9, scope: !1205)
  8604. !1205 = distinct !DILexicalBlock(scope: !1179, file: !256, line: 36, column: 5)
  8605. !1206 = !DILocation(line: 39, column: 14, scope: !1205)
  8606. !1207 = !DILocation(line: 39, column: 20, scope: !1205)
  8607. !1208 = !DILocation(line: 39, column: 23, scope: !1205)
  8608. !1209 = !DILocation(line: 39, column: 32, scope: !1205)
  8609. !1210 = !DILocation(line: 40, column: 9, scope: !1205)
  8610. !1211 = !DILocation(line: 39, column: 5, scope: !1205)
  8611. !1212 = !DILocation(line: 43, column: 16, scope: !1205)
  8612. !1213 = !DILocation(line: 43, column: 26, scope: !1205)
  8613. !1214 = !DILocation(line: 44, column: 9, scope: !1205)
  8614. !1215 = !DILocation(line: 48, column: 9, scope: !1205)
  8615. !1216 = !DILocation(line: 48, column: 18, scope: !1205)
  8616. !1217 = !DILocation(line: 52, column: 26, scope: !1218)
  8617. !1218 = distinct !DILexicalBlock(scope: !1205, file: !256, line: 48, column: 37)
  8618. !1219 = !DILocation(line: 52, column: 74, scope: !1218)
  8619. !1220 = !DILocation(line: 52, column: 72, scope: !1218)
  8620. !1221 = !DILocation(line: 52, column: 55, scope: !1218)
  8621. !1222 = !DILocation(line: 52, column: 38, scope: !1218)
  8622. !1223 = !DILocation(line: 52, column: 9, scope: !1218)
  8623. !1224 = !DILocation(line: 57, column: 26, scope: !1225)
  8624. !1225 = distinct !DILexicalBlock(scope: !1205, file: !256, line: 53, column: 12)
  8625. !1226 = !DILocation(line: 57, column: 61, scope: !1225)
  8626. !1227 = !DILocation(line: 57, column: 70, scope: !1225)
  8627. !1228 = !DILocation(line: 57, column: 60, scope: !1225)
  8628. !1229 = !DILocation(line: 57, column: 39, scope: !1225)
  8629. !1230 = !DILocation(line: 57, column: 9, scope: !1225)
  8630. !1231 = distinct !DISubprogram(name: "__fixunssfti", scope: !226, file: !226, line: 5, type: !1232, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1234)
  8631. !1232 = !DISubroutineType(types: !1233)
  8632. !1233 = !{!181, !1043}
  8633. !1234 = !{!1235}
  8634. !1235 = !DILocalVariable(name: "a", arg: 1, scope: !1231, file: !226, line: 5, type: !1043)
  8635. !1236 = !DILocation(line: 5, column: 24, scope: !1231)
  8636. !1237 = !DILocation(line: 8, column: 31, scope: !1238)
  8637. !1238 = distinct !DILexicalBlock(scope: !1239, file: !226, line: 5, column: 40)
  8638. !1239 = distinct !DILexicalBlock(scope: !1231, file: !226, line: 5, column: 24)
  8639. !1240 = !DILocation(line: 8, column: 19, scope: !1238)
  8640. !1241 = !DILocation(line: 8, column: 5, scope: !1238)
  8641. !1242 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1232, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1243)
  8642. !1243 = !{!1244, !1248, !1256, !1260, !1262, !1264, !1266, !1268, !1270, !1272}
  8643. !1244 = !DILocalVariable(name: "a", arg: 1, scope: !1245, file: !256, line: 4, type: !1043)
  8644. !1245 = distinct !DILexicalBlock(scope: !1246, file: !256, line: 4, column: 63)
  8645. !1246 = distinct !DILexicalBlock(scope: !1247, file: !256, line: 4, column: 37)
  8646. !1247 = distinct !DILexicalBlock(scope: !1242, file: !256, line: 4, column: 16)
  8647. !1248 = !DILocalVariable(name: "signBit", scope: !1249, file: !256, line: 22, type: !390)
  8648. !1249 = distinct !DILexicalBlock(scope: !1250, file: !256, line: 21, column: 5)
  8649. !1250 = distinct !DILexicalBlock(scope: !1251, file: !256, line: 20, column: 5)
  8650. !1251 = distinct !DILexicalBlock(scope: !1252, file: !256, line: 14, column: 5)
  8651. !1252 = distinct !DILexicalBlock(scope: !1253, file: !256, line: 13, column: 5)
  8652. !1253 = distinct !DILexicalBlock(scope: !1254, file: !256, line: 7, column: 5)
  8653. !1254 = distinct !DILexicalBlock(scope: !1255, file: !256, line: 4, column: 85)
  8654. !1255 = distinct !DILexicalBlock(scope: !1245, file: !256, line: 4, column: 63)
  8655. !1256 = !DILocalVariable(name: "implicitBit", scope: !1257, file: !256, line: 26, type: !390)
  8656. !1257 = distinct !DILexicalBlock(scope: !1258, file: !256, line: 24, column: 5)
  8657. !1258 = distinct !DILexicalBlock(scope: !1259, file: !256, line: 23, column: 5)
  8658. !1259 = distinct !DILexicalBlock(scope: !1249, file: !256, line: 22, column: 5)
  8659. !1260 = !DILocalVariable(name: "significandMask", scope: !1261, file: !256, line: 27, type: !390)
  8660. !1261 = distinct !DILexicalBlock(scope: !1257, file: !256, line: 26, column: 5)
  8661. !1262 = !DILocalVariable(name: "aRep", scope: !1263, file: !256, line: 30, type: !390)
  8662. !1263 = distinct !DILexicalBlock(scope: !1261, file: !256, line: 27, column: 5)
  8663. !1264 = !DILocalVariable(name: "absMask", scope: !1265, file: !256, line: 31, type: !390)
  8664. !1265 = distinct !DILexicalBlock(scope: !1263, file: !256, line: 30, column: 5)
  8665. !1266 = !DILocalVariable(name: "aAbs", scope: !1267, file: !256, line: 32, type: !390)
  8666. !1267 = distinct !DILexicalBlock(scope: !1265, file: !256, line: 31, column: 5)
  8667. !1268 = !DILocalVariable(name: "sign", scope: !1269, file: !256, line: 34, type: !440)
  8668. !1269 = distinct !DILexicalBlock(scope: !1267, file: !256, line: 32, column: 5)
  8669. !1270 = !DILocalVariable(name: "exponent", scope: !1271, file: !256, line: 35, type: !440)
  8670. !1271 = distinct !DILexicalBlock(scope: !1269, file: !256, line: 34, column: 5)
  8671. !1272 = !DILocalVariable(name: "significand", scope: !1273, file: !256, line: 36, type: !390)
  8672. !1273 = distinct !DILexicalBlock(scope: !1271, file: !256, line: 35, column: 5)
  8673. !1274 = !DILocation(line: 4, column: 63, scope: !1245)
  8674. !1275 = !DILocation(line: 22, column: 5, scope: !1249)
  8675. !1276 = !DILocation(line: 26, column: 5, scope: !1257)
  8676. !1277 = !DILocation(line: 27, column: 5, scope: !1261)
  8677. !1278 = !DILocation(line: 30, column: 41, scope: !1263)
  8678. !1279 = !DILocation(line: 30, column: 25, scope: !1263)
  8679. !1280 = !DILocation(line: 30, column: 5, scope: !1263)
  8680. !1281 = !DILocation(line: 31, column: 5, scope: !1265)
  8681. !1282 = !DILocation(line: 32, column: 25, scope: !1267)
  8682. !1283 = !DILocation(line: 32, column: 30, scope: !1267)
  8683. !1284 = !DILocation(line: 32, column: 5, scope: !1267)
  8684. !1285 = !DILocation(line: 34, column: 23, scope: !1269)
  8685. !1286 = !DILocation(line: 34, column: 28, scope: !1269)
  8686. !1287 = !DILocation(line: 34, column: 39, scope: !1269)
  8687. !1288 = !DILocation(line: 34, column: 18, scope: !1269)
  8688. !1289 = !DILocation(line: 34, column: 5, scope: !1269)
  8689. !1290 = !DILocation(line: 35, column: 26, scope: !1271)
  8690. !1291 = !DILocation(line: 35, column: 31, scope: !1271)
  8691. !1292 = !DILocation(line: 35, column: 51, scope: !1271)
  8692. !1293 = !DILocation(line: 35, column: 5, scope: !1271)
  8693. !1294 = !DILocation(line: 36, column: 33, scope: !1273)
  8694. !1295 = !DILocation(line: 36, column: 38, scope: !1273)
  8695. !1296 = !DILocation(line: 36, column: 57, scope: !1273)
  8696. !1297 = !DILocation(line: 36, column: 5, scope: !1273)
  8697. !1298 = !DILocation(line: 39, column: 9, scope: !1299)
  8698. !1299 = distinct !DILexicalBlock(scope: !1273, file: !256, line: 36, column: 5)
  8699. !1300 = !DILocation(line: 39, column: 14, scope: !1299)
  8700. !1301 = !DILocation(line: 39, column: 20, scope: !1299)
  8701. !1302 = !DILocation(line: 39, column: 23, scope: !1299)
  8702. !1303 = !DILocation(line: 39, column: 32, scope: !1299)
  8703. !1304 = !DILocation(line: 40, column: 9, scope: !1299)
  8704. !1305 = !DILocation(line: 39, column: 5, scope: !1299)
  8705. !1306 = !DILocation(line: 43, column: 16, scope: !1299)
  8706. !1307 = !DILocation(line: 43, column: 26, scope: !1299)
  8707. !1308 = !DILocation(line: 44, column: 9, scope: !1299)
  8708. !1309 = !DILocation(line: 48, column: 9, scope: !1299)
  8709. !1310 = !DILocation(line: 48, column: 18, scope: !1299)
  8710. !1311 = !DILocation(line: 52, column: 26, scope: !1312)
  8711. !1312 = distinct !DILexicalBlock(scope: !1299, file: !256, line: 48, column: 37)
  8712. !1313 = !DILocation(line: 52, column: 74, scope: !1312)
  8713. !1314 = !DILocation(line: 52, column: 72, scope: !1312)
  8714. !1315 = !DILocation(line: 52, column: 55, scope: !1312)
  8715. !1316 = !DILocation(line: 52, column: 38, scope: !1312)
  8716. !1317 = !DILocation(line: 52, column: 25, scope: !1312)
  8717. !1318 = !DILocation(line: 52, column: 9, scope: !1312)
  8718. !1319 = !DILocation(line: 57, column: 26, scope: !1320)
  8719. !1320 = distinct !DILexicalBlock(scope: !1299, file: !256, line: 53, column: 12)
  8720. !1321 = !DILocation(line: 57, column: 25, scope: !1320)
  8721. !1322 = !DILocation(line: 57, column: 61, scope: !1320)
  8722. !1323 = !DILocation(line: 57, column: 70, scope: !1320)
  8723. !1324 = !DILocation(line: 57, column: 60, scope: !1320)
  8724. !1325 = !DILocation(line: 57, column: 39, scope: !1320)
  8725. !1326 = !DILocation(line: 57, column: 9, scope: !1320)
  8726. !1327 = distinct !DISubprogram(name: "__fixunstfdi", scope: !229, file: !229, line: 5, type: !1328, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1330)
  8727. !1328 = !DISubroutineType(types: !1329)
  8728. !1329 = !{!269, !536}
  8729. !1330 = !{!1331}
  8730. !1331 = !DILocalVariable(name: "a", arg: 1, scope: !1327, file: !229, line: 5, type: !536)
  8731. !1332 = !DILocation(line: 5, column: 24, scope: !1327)
  8732. !1333 = !DILocation(line: 8, column: 31, scope: !1334)
  8733. !1334 = distinct !DILexicalBlock(scope: !1335, file: !229, line: 5, column: 40)
  8734. !1335 = distinct !DILexicalBlock(scope: !1327, file: !229, line: 5, column: 24)
  8735. !1336 = !DILocation(line: 8, column: 19, scope: !1334)
  8736. !1337 = !DILocation(line: 8, column: 5, scope: !1334)
  8737. !1338 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1328, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1339)
  8738. !1339 = !{!1340, !1344, !1352, !1356, !1358, !1360, !1362, !1364, !1366, !1368}
  8739. !1340 = !DILocalVariable(name: "a", arg: 1, scope: !1341, file: !256, line: 4, type: !536)
  8740. !1341 = distinct !DILexicalBlock(scope: !1342, file: !256, line: 4, column: 63)
  8741. !1342 = distinct !DILexicalBlock(scope: !1343, file: !256, line: 4, column: 37)
  8742. !1343 = distinct !DILexicalBlock(scope: !1338, file: !256, line: 4, column: 16)
  8743. !1344 = !DILocalVariable(name: "signBit", scope: !1345, file: !256, line: 22, type: !181)
  8744. !1345 = distinct !DILexicalBlock(scope: !1346, file: !256, line: 21, column: 5)
  8745. !1346 = distinct !DILexicalBlock(scope: !1347, file: !256, line: 20, column: 5)
  8746. !1347 = distinct !DILexicalBlock(scope: !1348, file: !256, line: 14, column: 5)
  8747. !1348 = distinct !DILexicalBlock(scope: !1349, file: !256, line: 13, column: 5)
  8748. !1349 = distinct !DILexicalBlock(scope: !1350, file: !256, line: 7, column: 5)
  8749. !1350 = distinct !DILexicalBlock(scope: !1351, file: !256, line: 4, column: 85)
  8750. !1351 = distinct !DILexicalBlock(scope: !1341, file: !256, line: 4, column: 63)
  8751. !1352 = !DILocalVariable(name: "implicitBit", scope: !1353, file: !256, line: 26, type: !181)
  8752. !1353 = distinct !DILexicalBlock(scope: !1354, file: !256, line: 24, column: 5)
  8753. !1354 = distinct !DILexicalBlock(scope: !1355, file: !256, line: 23, column: 5)
  8754. !1355 = distinct !DILexicalBlock(scope: !1345, file: !256, line: 22, column: 5)
  8755. !1356 = !DILocalVariable(name: "significandMask", scope: !1357, file: !256, line: 27, type: !181)
  8756. !1357 = distinct !DILexicalBlock(scope: !1353, file: !256, line: 26, column: 5)
  8757. !1358 = !DILocalVariable(name: "aRep", scope: !1359, file: !256, line: 30, type: !181)
  8758. !1359 = distinct !DILexicalBlock(scope: !1357, file: !256, line: 27, column: 5)
  8759. !1360 = !DILocalVariable(name: "absMask", scope: !1361, file: !256, line: 31, type: !181)
  8760. !1361 = distinct !DILexicalBlock(scope: !1359, file: !256, line: 30, column: 5)
  8761. !1362 = !DILocalVariable(name: "aAbs", scope: !1363, file: !256, line: 32, type: !181)
  8762. !1363 = distinct !DILexicalBlock(scope: !1361, file: !256, line: 31, column: 5)
  8763. !1364 = !DILocalVariable(name: "sign", scope: !1365, file: !256, line: 34, type: !440)
  8764. !1365 = distinct !DILexicalBlock(scope: !1363, file: !256, line: 32, column: 5)
  8765. !1366 = !DILocalVariable(name: "exponent", scope: !1367, file: !256, line: 35, type: !440)
  8766. !1367 = distinct !DILexicalBlock(scope: !1365, file: !256, line: 34, column: 5)
  8767. !1368 = !DILocalVariable(name: "significand", scope: !1369, file: !256, line: 36, type: !181)
  8768. !1369 = distinct !DILexicalBlock(scope: !1367, file: !256, line: 35, column: 5)
  8769. !1370 = !DILocation(line: 4, column: 63, scope: !1341)
  8770. !1371 = !DILocation(line: 22, column: 5, scope: !1345)
  8771. !1372 = !DILocation(line: 26, column: 5, scope: !1353)
  8772. !1373 = !DILocation(line: 27, column: 5, scope: !1357)
  8773. !1374 = !DILocation(line: 30, column: 41, scope: !1359)
  8774. !1375 = !DILocation(line: 30, column: 25, scope: !1359)
  8775. !1376 = !DILocation(line: 30, column: 5, scope: !1359)
  8776. !1377 = !DILocation(line: 31, column: 5, scope: !1361)
  8777. !1378 = !DILocation(line: 32, column: 25, scope: !1363)
  8778. !1379 = !DILocation(line: 32, column: 30, scope: !1363)
  8779. !1380 = !DILocation(line: 32, column: 5, scope: !1363)
  8780. !1381 = !DILocation(line: 34, column: 23, scope: !1365)
  8781. !1382 = !DILocation(line: 34, column: 28, scope: !1365)
  8782. !1383 = !DILocation(line: 34, column: 39, scope: !1365)
  8783. !1384 = !DILocation(line: 34, column: 18, scope: !1365)
  8784. !1385 = !DILocation(line: 34, column: 5, scope: !1365)
  8785. !1386 = !DILocation(line: 35, column: 26, scope: !1367)
  8786. !1387 = !DILocation(line: 35, column: 31, scope: !1367)
  8787. !1388 = !DILocation(line: 35, column: 25, scope: !1367)
  8788. !1389 = !DILocation(line: 35, column: 51, scope: !1367)
  8789. !1390 = !DILocation(line: 35, column: 5, scope: !1367)
  8790. !1391 = !DILocation(line: 36, column: 33, scope: !1369)
  8791. !1392 = !DILocation(line: 36, column: 38, scope: !1369)
  8792. !1393 = !DILocation(line: 36, column: 57, scope: !1369)
  8793. !1394 = !DILocation(line: 36, column: 5, scope: !1369)
  8794. !1395 = !DILocation(line: 39, column: 9, scope: !1396)
  8795. !1396 = distinct !DILexicalBlock(scope: !1369, file: !256, line: 36, column: 5)
  8796. !1397 = !DILocation(line: 39, column: 14, scope: !1396)
  8797. !1398 = !DILocation(line: 39, column: 20, scope: !1396)
  8798. !1399 = !DILocation(line: 39, column: 23, scope: !1396)
  8799. !1400 = !DILocation(line: 39, column: 32, scope: !1396)
  8800. !1401 = !DILocation(line: 40, column: 9, scope: !1396)
  8801. !1402 = !DILocation(line: 39, column: 5, scope: !1396)
  8802. !1403 = !DILocation(line: 43, column: 16, scope: !1396)
  8803. !1404 = !DILocation(line: 43, column: 26, scope: !1396)
  8804. !1405 = !DILocation(line: 44, column: 9, scope: !1396)
  8805. !1406 = !DILocation(line: 48, column: 9, scope: !1396)
  8806. !1407 = !DILocation(line: 48, column: 18, scope: !1396)
  8807. !1408 = !DILocation(line: 52, column: 26, scope: !1409)
  8808. !1409 = distinct !DILexicalBlock(scope: !1396, file: !256, line: 48, column: 37)
  8809. !1410 = !DILocation(line: 52, column: 74, scope: !1409)
  8810. !1411 = !DILocation(line: 52, column: 72, scope: !1409)
  8811. !1412 = !DILocation(line: 52, column: 55, scope: !1409)
  8812. !1413 = !DILocation(line: 52, column: 38, scope: !1409)
  8813. !1414 = !DILocation(line: 52, column: 25, scope: !1409)
  8814. !1415 = !DILocation(line: 52, column: 9, scope: !1409)
  8815. !1416 = !DILocation(line: 57, column: 26, scope: !1417)
  8816. !1417 = distinct !DILexicalBlock(scope: !1396, file: !256, line: 53, column: 12)
  8817. !1418 = !DILocation(line: 57, column: 25, scope: !1417)
  8818. !1419 = !DILocation(line: 57, column: 61, scope: !1417)
  8819. !1420 = !DILocation(line: 57, column: 70, scope: !1417)
  8820. !1421 = !DILocation(line: 57, column: 60, scope: !1417)
  8821. !1422 = !DILocation(line: 57, column: 39, scope: !1417)
  8822. !1423 = !DILocation(line: 57, column: 9, scope: !1417)
  8823. !1424 = distinct !DISubprogram(name: "__fixunstfsi", scope: !232, file: !232, line: 5, type: !1425, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1427)
  8824. !1425 = !DISubroutineType(types: !1426)
  8825. !1426 = !{!390, !536}
  8826. !1427 = !{!1428}
  8827. !1428 = !DILocalVariable(name: "a", arg: 1, scope: !1424, file: !232, line: 5, type: !536)
  8828. !1429 = !DILocation(line: 5, column: 24, scope: !1424)
  8829. !1430 = !DILocation(line: 8, column: 31, scope: !1431)
  8830. !1431 = distinct !DILexicalBlock(scope: !1432, file: !232, line: 5, column: 40)
  8831. !1432 = distinct !DILexicalBlock(scope: !1424, file: !232, line: 5, column: 24)
  8832. !1433 = !DILocation(line: 8, column: 19, scope: !1431)
  8833. !1434 = !DILocation(line: 8, column: 5, scope: !1431)
  8834. !1435 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1425, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1436)
  8835. !1436 = !{!1437, !1441, !1449, !1453, !1455, !1457, !1459, !1461, !1463, !1465}
  8836. !1437 = !DILocalVariable(name: "a", arg: 1, scope: !1438, file: !256, line: 4, type: !536)
  8837. !1438 = distinct !DILexicalBlock(scope: !1439, file: !256, line: 4, column: 63)
  8838. !1439 = distinct !DILexicalBlock(scope: !1440, file: !256, line: 4, column: 37)
  8839. !1440 = distinct !DILexicalBlock(scope: !1435, file: !256, line: 4, column: 16)
  8840. !1441 = !DILocalVariable(name: "signBit", scope: !1442, file: !256, line: 22, type: !181)
  8841. !1442 = distinct !DILexicalBlock(scope: !1443, file: !256, line: 21, column: 5)
  8842. !1443 = distinct !DILexicalBlock(scope: !1444, file: !256, line: 20, column: 5)
  8843. !1444 = distinct !DILexicalBlock(scope: !1445, file: !256, line: 14, column: 5)
  8844. !1445 = distinct !DILexicalBlock(scope: !1446, file: !256, line: 13, column: 5)
  8845. !1446 = distinct !DILexicalBlock(scope: !1447, file: !256, line: 7, column: 5)
  8846. !1447 = distinct !DILexicalBlock(scope: !1448, file: !256, line: 4, column: 85)
  8847. !1448 = distinct !DILexicalBlock(scope: !1438, file: !256, line: 4, column: 63)
  8848. !1449 = !DILocalVariable(name: "implicitBit", scope: !1450, file: !256, line: 26, type: !181)
  8849. !1450 = distinct !DILexicalBlock(scope: !1451, file: !256, line: 24, column: 5)
  8850. !1451 = distinct !DILexicalBlock(scope: !1452, file: !256, line: 23, column: 5)
  8851. !1452 = distinct !DILexicalBlock(scope: !1442, file: !256, line: 22, column: 5)
  8852. !1453 = !DILocalVariable(name: "significandMask", scope: !1454, file: !256, line: 27, type: !181)
  8853. !1454 = distinct !DILexicalBlock(scope: !1450, file: !256, line: 26, column: 5)
  8854. !1455 = !DILocalVariable(name: "aRep", scope: !1456, file: !256, line: 30, type: !181)
  8855. !1456 = distinct !DILexicalBlock(scope: !1454, file: !256, line: 27, column: 5)
  8856. !1457 = !DILocalVariable(name: "absMask", scope: !1458, file: !256, line: 31, type: !181)
  8857. !1458 = distinct !DILexicalBlock(scope: !1456, file: !256, line: 30, column: 5)
  8858. !1459 = !DILocalVariable(name: "aAbs", scope: !1460, file: !256, line: 32, type: !181)
  8859. !1460 = distinct !DILexicalBlock(scope: !1458, file: !256, line: 31, column: 5)
  8860. !1461 = !DILocalVariable(name: "sign", scope: !1462, file: !256, line: 34, type: !440)
  8861. !1462 = distinct !DILexicalBlock(scope: !1460, file: !256, line: 32, column: 5)
  8862. !1463 = !DILocalVariable(name: "exponent", scope: !1464, file: !256, line: 35, type: !440)
  8863. !1464 = distinct !DILexicalBlock(scope: !1462, file: !256, line: 34, column: 5)
  8864. !1465 = !DILocalVariable(name: "significand", scope: !1466, file: !256, line: 36, type: !181)
  8865. !1466 = distinct !DILexicalBlock(scope: !1464, file: !256, line: 35, column: 5)
  8866. !1467 = !DILocation(line: 4, column: 63, scope: !1438)
  8867. !1468 = !DILocation(line: 22, column: 5, scope: !1442)
  8868. !1469 = !DILocation(line: 26, column: 5, scope: !1450)
  8869. !1470 = !DILocation(line: 27, column: 5, scope: !1454)
  8870. !1471 = !DILocation(line: 30, column: 41, scope: !1456)
  8871. !1472 = !DILocation(line: 30, column: 25, scope: !1456)
  8872. !1473 = !DILocation(line: 30, column: 5, scope: !1456)
  8873. !1474 = !DILocation(line: 31, column: 5, scope: !1458)
  8874. !1475 = !DILocation(line: 32, column: 25, scope: !1460)
  8875. !1476 = !DILocation(line: 32, column: 30, scope: !1460)
  8876. !1477 = !DILocation(line: 32, column: 5, scope: !1460)
  8877. !1478 = !DILocation(line: 34, column: 23, scope: !1462)
  8878. !1479 = !DILocation(line: 34, column: 28, scope: !1462)
  8879. !1480 = !DILocation(line: 34, column: 39, scope: !1462)
  8880. !1481 = !DILocation(line: 34, column: 18, scope: !1462)
  8881. !1482 = !DILocation(line: 34, column: 5, scope: !1462)
  8882. !1483 = !DILocation(line: 35, column: 26, scope: !1464)
  8883. !1484 = !DILocation(line: 35, column: 31, scope: !1464)
  8884. !1485 = !DILocation(line: 35, column: 25, scope: !1464)
  8885. !1486 = !DILocation(line: 35, column: 51, scope: !1464)
  8886. !1487 = !DILocation(line: 35, column: 5, scope: !1464)
  8887. !1488 = !DILocation(line: 36, column: 33, scope: !1466)
  8888. !1489 = !DILocation(line: 36, column: 38, scope: !1466)
  8889. !1490 = !DILocation(line: 36, column: 57, scope: !1466)
  8890. !1491 = !DILocation(line: 36, column: 5, scope: !1466)
  8891. !1492 = !DILocation(line: 39, column: 9, scope: !1493)
  8892. !1493 = distinct !DILexicalBlock(scope: !1466, file: !256, line: 36, column: 5)
  8893. !1494 = !DILocation(line: 39, column: 14, scope: !1493)
  8894. !1495 = !DILocation(line: 39, column: 20, scope: !1493)
  8895. !1496 = !DILocation(line: 39, column: 23, scope: !1493)
  8896. !1497 = !DILocation(line: 39, column: 32, scope: !1493)
  8897. !1498 = !DILocation(line: 40, column: 9, scope: !1493)
  8898. !1499 = !DILocation(line: 39, column: 5, scope: !1493)
  8899. !1500 = !DILocation(line: 43, column: 16, scope: !1493)
  8900. !1501 = !DILocation(line: 43, column: 26, scope: !1493)
  8901. !1502 = !DILocation(line: 44, column: 9, scope: !1493)
  8902. !1503 = !DILocation(line: 48, column: 9, scope: !1493)
  8903. !1504 = !DILocation(line: 48, column: 18, scope: !1493)
  8904. !1505 = !DILocation(line: 52, column: 26, scope: !1506)
  8905. !1506 = distinct !DILexicalBlock(scope: !1493, file: !256, line: 48, column: 37)
  8906. !1507 = !DILocation(line: 52, column: 74, scope: !1506)
  8907. !1508 = !DILocation(line: 52, column: 72, scope: !1506)
  8908. !1509 = !DILocation(line: 52, column: 55, scope: !1506)
  8909. !1510 = !DILocation(line: 52, column: 38, scope: !1506)
  8910. !1511 = !DILocation(line: 52, column: 25, scope: !1506)
  8911. !1512 = !DILocation(line: 52, column: 9, scope: !1506)
  8912. !1513 = !DILocation(line: 57, column: 26, scope: !1514)
  8913. !1514 = distinct !DILexicalBlock(scope: !1493, file: !256, line: 53, column: 12)
  8914. !1515 = !DILocation(line: 57, column: 25, scope: !1514)
  8915. !1516 = !DILocation(line: 57, column: 61, scope: !1514)
  8916. !1517 = !DILocation(line: 57, column: 70, scope: !1514)
  8917. !1518 = !DILocation(line: 57, column: 60, scope: !1514)
  8918. !1519 = !DILocation(line: 57, column: 39, scope: !1514)
  8919. !1520 = !DILocation(line: 57, column: 9, scope: !1514)
  8920. !1521 = distinct !DISubprogram(name: "__fixunstfti", scope: !235, file: !235, line: 5, type: !1522, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1524)
  8921. !1522 = !DISubroutineType(types: !1523)
  8922. !1523 = !{!181, !536}
  8923. !1524 = !{!1525}
  8924. !1525 = !DILocalVariable(name: "a", arg: 1, scope: !1521, file: !235, line: 5, type: !536)
  8925. !1526 = !DILocation(line: 5, column: 24, scope: !1521)
  8926. !1527 = !DILocation(line: 8, column: 32, scope: !1528)
  8927. !1528 = distinct !DILexicalBlock(scope: !1529, file: !235, line: 5, column: 41)
  8928. !1529 = distinct !DILexicalBlock(scope: !1521, file: !235, line: 5, column: 24)
  8929. !1530 = !DILocation(line: 8, column: 19, scope: !1528)
  8930. !1531 = !DILocation(line: 8, column: 5, scope: !1528)
  8931. !1532 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1522, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1533)
  8932. !1533 = !{!1534, !1538, !1546, !1550, !1552, !1554, !1556, !1558, !1560, !1562}
  8933. !1534 = !DILocalVariable(name: "a", arg: 1, scope: !1535, file: !256, line: 4, type: !536)
  8934. !1535 = distinct !DILexicalBlock(scope: !1536, file: !256, line: 4, column: 63)
  8935. !1536 = distinct !DILexicalBlock(scope: !1537, file: !256, line: 4, column: 37)
  8936. !1537 = distinct !DILexicalBlock(scope: !1532, file: !256, line: 4, column: 16)
  8937. !1538 = !DILocalVariable(name: "signBit", scope: !1539, file: !256, line: 22, type: !181)
  8938. !1539 = distinct !DILexicalBlock(scope: !1540, file: !256, line: 21, column: 5)
  8939. !1540 = distinct !DILexicalBlock(scope: !1541, file: !256, line: 20, column: 5)
  8940. !1541 = distinct !DILexicalBlock(scope: !1542, file: !256, line: 14, column: 5)
  8941. !1542 = distinct !DILexicalBlock(scope: !1543, file: !256, line: 13, column: 5)
  8942. !1543 = distinct !DILexicalBlock(scope: !1544, file: !256, line: 7, column: 5)
  8943. !1544 = distinct !DILexicalBlock(scope: !1545, file: !256, line: 4, column: 85)
  8944. !1545 = distinct !DILexicalBlock(scope: !1535, file: !256, line: 4, column: 63)
  8945. !1546 = !DILocalVariable(name: "implicitBit", scope: !1547, file: !256, line: 26, type: !181)
  8946. !1547 = distinct !DILexicalBlock(scope: !1548, file: !256, line: 24, column: 5)
  8947. !1548 = distinct !DILexicalBlock(scope: !1549, file: !256, line: 23, column: 5)
  8948. !1549 = distinct !DILexicalBlock(scope: !1539, file: !256, line: 22, column: 5)
  8949. !1550 = !DILocalVariable(name: "significandMask", scope: !1551, file: !256, line: 27, type: !181)
  8950. !1551 = distinct !DILexicalBlock(scope: !1547, file: !256, line: 26, column: 5)
  8951. !1552 = !DILocalVariable(name: "aRep", scope: !1553, file: !256, line: 30, type: !181)
  8952. !1553 = distinct !DILexicalBlock(scope: !1551, file: !256, line: 27, column: 5)
  8953. !1554 = !DILocalVariable(name: "absMask", scope: !1555, file: !256, line: 31, type: !181)
  8954. !1555 = distinct !DILexicalBlock(scope: !1553, file: !256, line: 30, column: 5)
  8955. !1556 = !DILocalVariable(name: "aAbs", scope: !1557, file: !256, line: 32, type: !181)
  8956. !1557 = distinct !DILexicalBlock(scope: !1555, file: !256, line: 31, column: 5)
  8957. !1558 = !DILocalVariable(name: "sign", scope: !1559, file: !256, line: 34, type: !440)
  8958. !1559 = distinct !DILexicalBlock(scope: !1557, file: !256, line: 32, column: 5)
  8959. !1560 = !DILocalVariable(name: "exponent", scope: !1561, file: !256, line: 35, type: !440)
  8960. !1561 = distinct !DILexicalBlock(scope: !1559, file: !256, line: 34, column: 5)
  8961. !1562 = !DILocalVariable(name: "significand", scope: !1563, file: !256, line: 36, type: !181)
  8962. !1563 = distinct !DILexicalBlock(scope: !1561, file: !256, line: 35, column: 5)
  8963. !1564 = !DILocation(line: 4, column: 63, scope: !1535)
  8964. !1565 = !DILocation(line: 22, column: 5, scope: !1539)
  8965. !1566 = !DILocation(line: 26, column: 5, scope: !1547)
  8966. !1567 = !DILocation(line: 27, column: 5, scope: !1551)
  8967. !1568 = !DILocation(line: 30, column: 41, scope: !1553)
  8968. !1569 = !DILocation(line: 30, column: 25, scope: !1553)
  8969. !1570 = !DILocation(line: 30, column: 5, scope: !1553)
  8970. !1571 = !DILocation(line: 31, column: 5, scope: !1555)
  8971. !1572 = !DILocation(line: 32, column: 25, scope: !1557)
  8972. !1573 = !DILocation(line: 32, column: 30, scope: !1557)
  8973. !1574 = !DILocation(line: 32, column: 5, scope: !1557)
  8974. !1575 = !DILocation(line: 34, column: 23, scope: !1559)
  8975. !1576 = !DILocation(line: 34, column: 28, scope: !1559)
  8976. !1577 = !DILocation(line: 34, column: 39, scope: !1559)
  8977. !1578 = !DILocation(line: 34, column: 18, scope: !1559)
  8978. !1579 = !DILocation(line: 34, column: 5, scope: !1559)
  8979. !1580 = !DILocation(line: 35, column: 26, scope: !1561)
  8980. !1581 = !DILocation(line: 35, column: 31, scope: !1561)
  8981. !1582 = !DILocation(line: 35, column: 25, scope: !1561)
  8982. !1583 = !DILocation(line: 35, column: 51, scope: !1561)
  8983. !1584 = !DILocation(line: 35, column: 5, scope: !1561)
  8984. !1585 = !DILocation(line: 36, column: 33, scope: !1563)
  8985. !1586 = !DILocation(line: 36, column: 38, scope: !1563)
  8986. !1587 = !DILocation(line: 36, column: 57, scope: !1563)
  8987. !1588 = !DILocation(line: 36, column: 5, scope: !1563)
  8988. !1589 = !DILocation(line: 39, column: 9, scope: !1590)
  8989. !1590 = distinct !DILexicalBlock(scope: !1563, file: !256, line: 36, column: 5)
  8990. !1591 = !DILocation(line: 39, column: 14, scope: !1590)
  8991. !1592 = !DILocation(line: 39, column: 20, scope: !1590)
  8992. !1593 = !DILocation(line: 39, column: 23, scope: !1590)
  8993. !1594 = !DILocation(line: 39, column: 32, scope: !1590)
  8994. !1595 = !DILocation(line: 40, column: 9, scope: !1590)
  8995. !1596 = !DILocation(line: 39, column: 5, scope: !1590)
  8996. !1597 = !DILocation(line: 43, column: 16, scope: !1590)
  8997. !1598 = !DILocation(line: 43, column: 26, scope: !1590)
  8998. !1599 = !DILocation(line: 44, column: 9, scope: !1590)
  8999. !1600 = !DILocation(line: 48, column: 9, scope: !1590)
  9000. !1601 = !DILocation(line: 48, column: 18, scope: !1590)
  9001. !1602 = !DILocation(line: 52, column: 26, scope: !1603)
  9002. !1603 = distinct !DILexicalBlock(scope: !1590, file: !256, line: 48, column: 37)
  9003. !1604 = !DILocation(line: 52, column: 74, scope: !1603)
  9004. !1605 = !DILocation(line: 52, column: 72, scope: !1603)
  9005. !1606 = !DILocation(line: 52, column: 55, scope: !1603)
  9006. !1607 = !DILocation(line: 52, column: 38, scope: !1603)
  9007. !1608 = !DILocation(line: 52, column: 9, scope: !1603)
  9008. !1609 = !DILocation(line: 57, column: 26, scope: !1610)
  9009. !1610 = distinct !DILexicalBlock(scope: !1590, file: !256, line: 53, column: 12)
  9010. !1611 = !DILocation(line: 57, column: 61, scope: !1610)
  9011. !1612 = !DILocation(line: 57, column: 70, scope: !1610)
  9012. !1613 = !DILocation(line: 57, column: 60, scope: !1610)
  9013. !1614 = !DILocation(line: 57, column: 39, scope: !1610)
  9014. !1615 = !DILocation(line: 57, column: 9, scope: !1610)
  9015. !1616 = distinct !DISubprogram(name: "udivmod", scope: !259, file: !259, line: 7, type: !267, isLocal: true, isDefinition: true, scopeLine: 7, isOptimized: false, unit: !1, variables: !1617)
  9016. !1617 = !{!1618, !1623, !1625, !1627, !1636, !1638, !1640, !1642, !1644, !1648, !1649, !1652, !1656, !1659, !1661, !1663, !1665, !1666, !1668, !1672, !1673}
  9017. !1618 = !DILocalVariable(name: "a", arg: 1, scope: !1619, file: !259, line: 7, type: !269)
  9018. !1619 = distinct !DILexicalBlock(scope: !1620, file: !259, line: 7, column: 70)
  9019. !1620 = distinct !DILexicalBlock(scope: !1621, file: !259, line: 7, column: 56)
  9020. !1621 = distinct !DILexicalBlock(scope: !1622, file: !259, line: 7, column: 42)
  9021. !1622 = distinct !DILexicalBlock(scope: !1616, file: !259, line: 7, column: 16)
  9022. !1623 = !DILocalVariable(name: "b", arg: 2, scope: !1624, file: !259, line: 7, type: !269)
  9023. !1624 = distinct !DILexicalBlock(scope: !1619, file: !259, line: 7, column: 42)
  9024. !1625 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !1626, file: !259, line: 7, type: !270)
  9025. !1626 = distinct !DILexicalBlock(scope: !1624, file: !259, line: 7, column: 56)
  9026. !1627 = !DILocalVariable(name: "n", scope: !1628, file: !259, line: 14, type: !1633)
  9027. !1628 = distinct !DILexicalBlock(scope: !1629, file: !259, line: 12, column: 5)
  9028. !1629 = distinct !DILexicalBlock(scope: !1630, file: !259, line: 11, column: 5)
  9029. !1630 = distinct !DILexicalBlock(scope: !1631, file: !259, line: 10, column: 5)
  9030. !1631 = distinct !DILexicalBlock(scope: !1632, file: !259, line: 7, column: 107)
  9031. !1632 = distinct !DILexicalBlock(scope: !1626, file: !259, line: 7, column: 70)
  9032. !1633 = !DICompositeType(tag: DW_TAG_array_type, baseType: !390, size: 64, align: 64, elements: !1634)
  9033. !1634 = !{!1635}
  9034. !1635 = !DISubrange(count: 2)
  9035. !1636 = !DILocalVariable(name: "d", scope: !1637, file: !259, line: 15, type: !1633)
  9036. !1637 = distinct !DILexicalBlock(scope: !1628, file: !259, line: 14, column: 5)
  9037. !1638 = !DILocalVariable(name: "q", scope: !1639, file: !259, line: 16, type: !1633)
  9038. !1639 = distinct !DILexicalBlock(scope: !1637, file: !259, line: 15, column: 5)
  9039. !1640 = !DILocalVariable(name: "r", scope: !1641, file: !259, line: 17, type: !1633)
  9040. !1641 = distinct !DILexicalBlock(scope: !1639, file: !259, line: 16, column: 5)
  9041. !1642 = !DILocalVariable(name: "sr", scope: !1643, file: !259, line: 18, type: !428)
  9042. !1643 = distinct !DILexicalBlock(scope: !1641, file: !259, line: 17, column: 5)
  9043. !1644 = !DILocalVariable(name: "rem", scope: !1645, file: !259, line: 25, type: !270)
  9044. !1645 = distinct !DILexicalBlock(scope: !1646, file: !259, line: 21, column: 27)
  9045. !1646 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 20, column: 23)
  9046. !1647 = distinct !DILexicalBlock(scope: !1643, file: !259, line: 18, column: 5)
  9047. !1648 = !DILocalVariable(name: "rem", scope: !1646, file: !259, line: 33, type: !270)
  9048. !1649 = !DILocalVariable(name: "rem", scope: !1650, file: !259, line: 44, type: !270)
  9049. !1650 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 40, column: 27)
  9050. !1651 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 39, column: 22)
  9051. !1652 = !DILocalVariable(name: "rem", scope: !1653, file: !259, line: 100, type: !270)
  9052. !1653 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 98, column: 47)
  9053. !1654 = distinct !DILexicalBlock(scope: !1655, file: !259, line: 94, column: 27)
  9054. !1655 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 92, column: 12)
  9055. !1656 = !DILocalVariable(name: "rem", scope: !1657, file: !259, line: 143, type: !270)
  9056. !1657 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 142, column: 47)
  9057. !1658 = distinct !DILexicalBlock(scope: !1655, file: !259, line: 136, column: 16)
  9058. !1659 = !DILocalVariable(name: "rem", scope: !1660, file: !259, line: 54, type: !270)
  9059. !1660 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 50, column: 26)
  9060. !1661 = !DILocalVariable(name: "rem", scope: !1662, file: !259, line: 66, type: !270)
  9061. !1662 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 64, column: 45)
  9062. !1663 = !DILocalVariable(name: "rem", scope: !1664, file: !259, line: 79, type: !270)
  9063. !1664 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 78, column: 43)
  9064. !1665 = !DILocalVariable(name: "carry", scope: !1647, file: !259, line: 169, type: !390)
  9065. !1666 = !DILocalVariable(name: "r_all", scope: !1667, file: !259, line: 170, type: !269)
  9066. !1667 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 169, column: 5)
  9067. !1668 = !DILocalVariable(name: "s", scope: !1669, file: !259, line: 184, type: !1671)
  9068. !1669 = distinct !DILexicalBlock(scope: !1670, file: !259, line: 171, column: 32)
  9069. !1670 = distinct !DILexicalBlock(scope: !1667, file: !259, line: 170, column: 5)
  9070. !1671 = !DIBasicType(name: "i64", size: 64, encoding: DW_ATE_signed)
  9071. !1672 = !DILocalVariable(name: "q_all", scope: !1670, file: !259, line: 189, type: !269)
  9072. !1673 = !DILocalVariable(name: "rem", scope: !1674, file: !259, line: 190, type: !270)
  9073. !1674 = distinct !DILexicalBlock(scope: !1670, file: !259, line: 189, column: 5)
  9074. !1675 = !DILocation(line: 7, column: 42, scope: !1619)
  9075. !1676 = !DILocation(line: 7, column: 56, scope: !1624)
  9076. !1677 = !DILocation(line: 7, column: 70, scope: !1626)
  9077. !1678 = !DILocation(line: 14, column: 16, scope: !1628)
  9078. !1679 = !DILocation(line: 14, column: 5, scope: !1628)
  9079. !1680 = !DILocation(line: 15, column: 16, scope: !1637)
  9080. !1681 = !DILocation(line: 15, column: 5, scope: !1637)
  9081. !1682 = !DILocation(line: 16, column: 5, scope: !1639)
  9082. !1683 = !DILocation(line: 17, column: 5, scope: !1641)
  9083. !1684 = !DILocation(line: 18, column: 5, scope: !1643)
  9084. !1685 = !DILocation(line: 20, column: 10, scope: !1647)
  9085. !1686 = !DILocation(line: 20, column: 17, scope: !1647)
  9086. !1687 = !DILocation(line: 21, column: 14, scope: !1646)
  9087. !1688 = !DILocation(line: 21, column: 21, scope: !1646)
  9088. !1689 = !DILocation(line: 20, column: 5, scope: !1647)
  9089. !1690 = !DILocation(line: 25, column: 13, scope: !1645)
  9090. !1691 = !DILocation(line: 21, column: 9, scope: !1646)
  9091. !1692 = !DILocation(line: 26, column: 17, scope: !1693)
  9092. !1693 = distinct !DILexicalBlock(scope: !1694, file: !259, line: 25, column: 34)
  9093. !1694 = distinct !DILexicalBlock(scope: !1645, file: !259, line: 25, column: 13)
  9094. !1695 = !DILocation(line: 26, column: 25, scope: !1693)
  9095. !1696 = !DILocation(line: 26, column: 34, scope: !1693)
  9096. !1697 = !DILocation(line: 26, column: 31, scope: !1693)
  9097. !1698 = !DILocation(line: 26, column: 22, scope: !1693)
  9098. !1699 = !DILocation(line: 28, column: 21, scope: !1645)
  9099. !1700 = !DILocation(line: 28, column: 30, scope: !1645)
  9100. !1701 = !DILocation(line: 28, column: 27, scope: !1645)
  9101. !1702 = !DILocation(line: 28, column: 13, scope: !1645)
  9102. !1703 = !DILocation(line: 33, column: 9, scope: !1646)
  9103. !1704 = !DILocation(line: 34, column: 13, scope: !1705)
  9104. !1705 = distinct !DILexicalBlock(scope: !1706, file: !259, line: 33, column: 30)
  9105. !1706 = distinct !DILexicalBlock(scope: !1646, file: !259, line: 33, column: 9)
  9106. !1707 = !DILocation(line: 34, column: 21, scope: !1705)
  9107. !1708 = !DILocation(line: 34, column: 18, scope: !1705)
  9108. !1709 = !DILocation(line: 36, column: 9, scope: !1646)
  9109. !1710 = !DILocation(line: 39, column: 10, scope: !1647)
  9110. !1711 = !DILocation(line: 39, column: 16, scope: !1647)
  9111. !1712 = !DILocation(line: 40, column: 14, scope: !1651)
  9112. !1713 = !DILocation(line: 40, column: 21, scope: !1651)
  9113. !1714 = !DILocation(line: 94, column: 14, scope: !1655)
  9114. !1715 = !DILocation(line: 94, column: 21, scope: !1655)
  9115. !1716 = !DILocation(line: 44, column: 13, scope: !1650)
  9116. !1717 = !DILocation(line: 40, column: 9, scope: !1651)
  9117. !1718 = !DILocation(line: 98, column: 19, scope: !1654)
  9118. !1719 = !DILocation(line: 98, column: 29, scope: !1654)
  9119. !1720 = !DILocation(line: 98, column: 35, scope: !1654)
  9120. !1721 = !DILocation(line: 98, column: 25, scope: !1654)
  9121. !1722 = !DILocation(line: 98, column: 41, scope: !1654)
  9122. !1723 = !DILocation(line: 140, column: 47, scope: !1658)
  9123. !1724 = !DILocation(line: 140, column: 41, scope: !1658)
  9124. !1725 = !DILocation(line: 140, column: 40, scope: !1658)
  9125. !1726 = !DILocation(line: 140, column: 70, scope: !1658)
  9126. !1727 = !DILocation(line: 140, column: 64, scope: !1658)
  9127. !1728 = !DILocation(line: 140, column: 63, scope: !1658)
  9128. !1729 = !DILocation(line: 140, column: 56, scope: !1658)
  9129. !1730 = !DILocation(line: 140, column: 16, scope: !1658)
  9130. !1731 = !DILocation(line: 142, column: 17, scope: !1658)
  9131. !1732 = !DILocation(line: 142, column: 20, scope: !1658)
  9132. !1733 = !DILocation(line: 45, column: 17, scope: !1734)
  9133. !1734 = distinct !DILexicalBlock(scope: !1735, file: !259, line: 44, column: 34)
  9134. !1735 = distinct !DILexicalBlock(scope: !1650, file: !259, line: 44, column: 13)
  9135. !1736 = !DILocation(line: 45, column: 25, scope: !1734)
  9136. !1737 = !DILocation(line: 45, column: 35, scope: !1734)
  9137. !1738 = !DILocation(line: 45, column: 32, scope: !1734)
  9138. !1739 = !DILocation(line: 45, column: 22, scope: !1734)
  9139. !1740 = !DILocation(line: 47, column: 21, scope: !1650)
  9140. !1741 = !DILocation(line: 47, column: 31, scope: !1650)
  9141. !1742 = !DILocation(line: 47, column: 28, scope: !1650)
  9142. !1743 = !DILocation(line: 47, column: 13, scope: !1650)
  9143. !1744 = !DILocation(line: 50, column: 14, scope: !1651)
  9144. !1745 = !DILocation(line: 50, column: 20, scope: !1651)
  9145. !1746 = !DILocation(line: 100, column: 17, scope: !1653)
  9146. !1747 = !DILocation(line: 98, column: 13, scope: !1654)
  9147. !1748 = !DILocation(line: 143, column: 17, scope: !1657)
  9148. !1749 = !DILocation(line: 142, column: 13, scope: !1658)
  9149. !1750 = !DILocation(line: 54, column: 13, scope: !1660)
  9150. !1751 = !DILocation(line: 50, column: 9, scope: !1651)
  9151. !1752 = !DILocation(line: 101, column: 21, scope: !1753)
  9152. !1753 = distinct !DILexicalBlock(scope: !1754, file: !259, line: 100, column: 38)
  9153. !1754 = distinct !DILexicalBlock(scope: !1653, file: !259, line: 100, column: 17)
  9154. !1755 = !DILocation(line: 101, column: 29, scope: !1753)
  9155. !1756 = !DILocation(line: 101, column: 39, scope: !1753)
  9156. !1757 = !DILocation(line: 101, column: 45, scope: !1753)
  9157. !1758 = !DILocation(line: 101, column: 35, scope: !1753)
  9158. !1759 = !DILocation(line: 101, column: 26, scope: !1753)
  9159. !1760 = !DILocation(line: 104, column: 28, scope: !1761)
  9160. !1761 = distinct !DILexicalBlock(scope: !1653, file: !259, line: 103, column: 34)
  9161. !1762 = !DILocation(line: 104, column: 21, scope: !1761)
  9162. !1763 = !DILocation(line: 103, column: 17, scope: !1653)
  9163. !1764 = !DILocation(line: 106, column: 28, scope: !1653)
  9164. !1765 = !DILocation(line: 106, column: 22, scope: !1653)
  9165. !1766 = !DILocation(line: 106, column: 20, scope: !1653)
  9166. !1767 = !DILocation(line: 107, column: 18, scope: !1653)
  9167. !1768 = !DILocation(line: 107, column: 28, scope: !1653)
  9168. !1769 = !DILocation(line: 107, column: 52, scope: !1653)
  9169. !1770 = !DILocation(line: 107, column: 51, scope: !1653)
  9170. !1771 = !DILocation(line: 107, column: 35, scope: !1653)
  9171. !1772 = !DILocation(line: 107, column: 25, scope: !1653)
  9172. !1773 = !DILocation(line: 108, column: 18, scope: !1653)
  9173. !1774 = !DILocation(line: 108, column: 28, scope: !1653)
  9174. !1775 = !DILocation(line: 108, column: 74, scope: !1653)
  9175. !1776 = !DILocation(line: 108, column: 72, scope: !1653)
  9176. !1777 = !DILocation(line: 108, column: 51, scope: !1653)
  9177. !1778 = !DILocation(line: 108, column: 35, scope: !1653)
  9178. !1779 = !DILocation(line: 108, column: 83, scope: !1653)
  9179. !1780 = !DILocation(line: 108, column: 106, scope: !1653)
  9180. !1781 = !DILocation(line: 108, column: 105, scope: !1653)
  9181. !1782 = !DILocation(line: 108, column: 89, scope: !1653)
  9182. !1783 = !DILocation(line: 108, column: 79, scope: !1653)
  9183. !1784 = !DILocation(line: 108, column: 24, scope: !1653)
  9184. !1785 = !DILocation(line: 109, column: 75, scope: !1653)
  9185. !1786 = !DILocation(line: 109, column: 25, scope: !1653)
  9186. !1787 = !DILocation(line: 109, column: 24, scope: !1653)
  9187. !1788 = !DILocation(line: 109, column: 17, scope: !1653)
  9188. !1789 = !DILocation(line: 114, column: 57, scope: !1654)
  9189. !1790 = !DILocation(line: 114, column: 51, scope: !1654)
  9190. !1791 = !DILocation(line: 114, column: 50, scope: !1654)
  9191. !1792 = !DILocation(line: 114, column: 42, scope: !1654)
  9192. !1793 = !DILocation(line: 114, column: 80, scope: !1654)
  9193. !1794 = !DILocation(line: 114, column: 74, scope: !1654)
  9194. !1795 = !DILocation(line: 114, column: 73, scope: !1654)
  9195. !1796 = !DILocation(line: 114, column: 65, scope: !1654)
  9196. !1797 = !DILocation(line: 114, column: 16, scope: !1654)
  9197. !1798 = !DILocation(line: 118, column: 17, scope: !1654)
  9198. !1799 = !DILocation(line: 118, column: 20, scope: !1654)
  9199. !1800 = !DILocation(line: 144, column: 21, scope: !1801)
  9200. !1801 = distinct !DILexicalBlock(scope: !1802, file: !259, line: 143, column: 38)
  9201. !1802 = distinct !DILexicalBlock(scope: !1657, file: !259, line: 143, column: 17)
  9202. !1803 = !DILocation(line: 144, column: 28, scope: !1801)
  9203. !1804 = !DILocation(line: 144, column: 26, scope: !1801)
  9204. !1805 = !DILocation(line: 146, column: 17, scope: !1657)
  9205. !1806 = !DILocation(line: 148, column: 13, scope: !1658)
  9206. !1807 = !DILocation(line: 148, column: 16, scope: !1658)
  9207. !1808 = !DILocation(line: 152, column: 14, scope: !1658)
  9208. !1809 = !DILocation(line: 152, column: 20, scope: !1658)
  9209. !1810 = !DILocation(line: 153, column: 17, scope: !1658)
  9210. !1811 = !DILocation(line: 153, column: 20, scope: !1658)
  9211. !1812 = !DILocation(line: 55, column: 18, scope: !1813)
  9212. !1813 = distinct !DILexicalBlock(scope: !1814, file: !259, line: 54, column: 34)
  9213. !1814 = distinct !DILexicalBlock(scope: !1660, file: !259, line: 54, column: 13)
  9214. !1815 = !DILocation(line: 55, column: 28, scope: !1813)
  9215. !1816 = !DILocation(line: 55, column: 38, scope: !1813)
  9216. !1817 = !DILocation(line: 55, column: 35, scope: !1813)
  9217. !1818 = !DILocation(line: 55, column: 25, scope: !1813)
  9218. !1819 = !DILocation(line: 56, column: 18, scope: !1813)
  9219. !1820 = !DILocation(line: 56, column: 24, scope: !1813)
  9220. !1821 = !DILocation(line: 57, column: 17, scope: !1813)
  9221. !1822 = !DILocation(line: 57, column: 75, scope: !1813)
  9222. !1823 = !DILocation(line: 57, column: 25, scope: !1813)
  9223. !1824 = !DILocation(line: 57, column: 24, scope: !1813)
  9224. !1825 = !DILocation(line: 57, column: 22, scope: !1813)
  9225. !1826 = !DILocation(line: 59, column: 21, scope: !1660)
  9226. !1827 = !DILocation(line: 59, column: 31, scope: !1660)
  9227. !1828 = !DILocation(line: 59, column: 28, scope: !1660)
  9228. !1829 = !DILocation(line: 59, column: 13, scope: !1660)
  9229. !1830 = !DILocation(line: 64, column: 15, scope: !1651)
  9230. !1831 = !DILocation(line: 64, column: 26, scope: !1651)
  9231. !1832 = !DILocation(line: 64, column: 33, scope: !1651)
  9232. !1833 = !DILocation(line: 64, column: 22, scope: !1651)
  9233. !1834 = !DILocation(line: 64, column: 39, scope: !1651)
  9234. !1835 = !DILocation(line: 103, column: 22, scope: !1653)
  9235. !1836 = !DILocation(line: 103, column: 28, scope: !1653)
  9236. !1837 = !DILocation(line: 119, column: 18, scope: !1838)
  9237. !1838 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 118, column: 44)
  9238. !1839 = !DILocation(line: 119, column: 24, scope: !1838)
  9239. !1840 = !DILocation(line: 120, column: 18, scope: !1838)
  9240. !1841 = !DILocation(line: 120, column: 28, scope: !1838)
  9241. !1842 = !DILocation(line: 120, column: 25, scope: !1838)
  9242. !1843 = !DILocation(line: 121, column: 18, scope: !1838)
  9243. !1844 = !DILocation(line: 121, column: 25, scope: !1838)
  9244. !1845 = !DILocation(line: 122, column: 18, scope: !1838)
  9245. !1846 = !DILocation(line: 122, column: 27, scope: !1838)
  9246. !1847 = !DILocation(line: 122, column: 24, scope: !1838)
  9247. !1848 = !DILocation(line: 118, column: 13, scope: !1654)
  9248. !1849 = !DILocation(line: 123, column: 24, scope: !1654)
  9249. !1850 = !DILocation(line: 123, column: 27, scope: !1654)
  9250. !1851 = !DILocation(line: 154, column: 18, scope: !1852)
  9251. !1852 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 153, column: 44)
  9252. !1853 = !DILocation(line: 154, column: 28, scope: !1852)
  9253. !1854 = !DILocation(line: 154, column: 25, scope: !1852)
  9254. !1855 = !DILocation(line: 155, column: 18, scope: !1852)
  9255. !1856 = !DILocation(line: 155, column: 25, scope: !1852)
  9256. !1857 = !DILocation(line: 156, column: 18, scope: !1852)
  9257. !1858 = !DILocation(line: 156, column: 27, scope: !1852)
  9258. !1859 = !DILocation(line: 156, column: 24, scope: !1852)
  9259. !1860 = !DILocation(line: 153, column: 13, scope: !1658)
  9260. !1861 = !DILocation(line: 158, column: 18, scope: !1862)
  9261. !1862 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 157, column: 20)
  9262. !1863 = !DILocation(line: 158, column: 28, scope: !1862)
  9263. !1864 = !DILocation(line: 158, column: 52, scope: !1862)
  9264. !1865 = !DILocation(line: 158, column: 51, scope: !1862)
  9265. !1866 = !DILocation(line: 158, column: 35, scope: !1862)
  9266. !1867 = !DILocation(line: 158, column: 25, scope: !1862)
  9267. !1868 = !DILocation(line: 159, column: 18, scope: !1862)
  9268. !1869 = !DILocation(line: 159, column: 28, scope: !1862)
  9269. !1870 = !DILocation(line: 159, column: 74, scope: !1862)
  9270. !1871 = !DILocation(line: 159, column: 72, scope: !1862)
  9271. !1872 = !DILocation(line: 159, column: 51, scope: !1862)
  9272. !1873 = !DILocation(line: 159, column: 35, scope: !1862)
  9273. !1874 = !DILocation(line: 159, column: 83, scope: !1862)
  9274. !1875 = !DILocation(line: 159, column: 106, scope: !1862)
  9275. !1876 = !DILocation(line: 159, column: 105, scope: !1862)
  9276. !1877 = !DILocation(line: 159, column: 89, scope: !1862)
  9277. !1878 = !DILocation(line: 159, column: 79, scope: !1862)
  9278. !1879 = !DILocation(line: 159, column: 24, scope: !1862)
  9279. !1880 = !DILocation(line: 160, column: 18, scope: !1862)
  9280. !1881 = !DILocation(line: 160, column: 28, scope: !1862)
  9281. !1882 = !DILocation(line: 160, column: 73, scope: !1862)
  9282. !1883 = !DILocation(line: 160, column: 71, scope: !1862)
  9283. !1884 = !DILocation(line: 160, column: 50, scope: !1862)
  9284. !1885 = !DILocation(line: 160, column: 34, scope: !1862)
  9285. !1886 = !DILocation(line: 160, column: 25, scope: !1862)
  9286. !1887 = !DILocation(line: 66, column: 13, scope: !1662)
  9287. !1888 = !DILocation(line: 64, column: 9, scope: !1651)
  9288. !1889 = !DILocation(line: 125, column: 18, scope: !1890)
  9289. !1890 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 123, column: 50)
  9290. !1891 = !DILocation(line: 125, column: 24, scope: !1890)
  9291. !1892 = !DILocation(line: 126, column: 18, scope: !1890)
  9292. !1893 = !DILocation(line: 126, column: 28, scope: !1890)
  9293. !1894 = !DILocation(line: 126, column: 73, scope: !1890)
  9294. !1895 = !DILocation(line: 126, column: 71, scope: !1890)
  9295. !1896 = !DILocation(line: 126, column: 50, scope: !1890)
  9296. !1897 = !DILocation(line: 126, column: 34, scope: !1890)
  9297. !1898 = !DILocation(line: 126, column: 25, scope: !1890)
  9298. !1899 = !DILocation(line: 127, column: 18, scope: !1890)
  9299. !1900 = !DILocation(line: 127, column: 28, scope: !1890)
  9300. !1901 = !DILocation(line: 127, column: 52, scope: !1890)
  9301. !1902 = !DILocation(line: 127, column: 51, scope: !1890)
  9302. !1903 = !DILocation(line: 127, column: 35, scope: !1890)
  9303. !1904 = !DILocation(line: 127, column: 25, scope: !1890)
  9304. !1905 = !DILocation(line: 128, column: 18, scope: !1890)
  9305. !1906 = !DILocation(line: 128, column: 28, scope: !1890)
  9306. !1907 = !DILocation(line: 128, column: 74, scope: !1890)
  9307. !1908 = !DILocation(line: 128, column: 72, scope: !1890)
  9308. !1909 = !DILocation(line: 128, column: 51, scope: !1890)
  9309. !1910 = !DILocation(line: 128, column: 35, scope: !1890)
  9310. !1911 = !DILocation(line: 128, column: 83, scope: !1890)
  9311. !1912 = !DILocation(line: 128, column: 106, scope: !1890)
  9312. !1913 = !DILocation(line: 128, column: 105, scope: !1890)
  9313. !1914 = !DILocation(line: 128, column: 89, scope: !1890)
  9314. !1915 = !DILocation(line: 128, column: 79, scope: !1890)
  9315. !1916 = !DILocation(line: 128, column: 24, scope: !1890)
  9316. !1917 = !DILocation(line: 123, column: 20, scope: !1654)
  9317. !1918 = !DILocation(line: 131, column: 18, scope: !1919)
  9318. !1919 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 129, column: 20)
  9319. !1920 = !DILocation(line: 131, column: 27, scope: !1919)
  9320. !1921 = !DILocation(line: 131, column: 72, scope: !1919)
  9321. !1922 = !DILocation(line: 131, column: 70, scope: !1919)
  9322. !1923 = !DILocation(line: 131, column: 49, scope: !1919)
  9323. !1924 = !DILocation(line: 131, column: 33, scope: !1919)
  9324. !1925 = !DILocation(line: 131, column: 24, scope: !1919)
  9325. !1926 = !DILocation(line: 132, column: 18, scope: !1919)
  9326. !1927 = !DILocation(line: 132, column: 29, scope: !1919)
  9327. !1928 = !DILocation(line: 132, column: 75, scope: !1919)
  9328. !1929 = !DILocation(line: 132, column: 73, scope: !1919)
  9329. !1930 = !DILocation(line: 132, column: 52, scope: !1919)
  9330. !1931 = !DILocation(line: 132, column: 36, scope: !1919)
  9331. !1932 = !DILocation(line: 132, column: 84, scope: !1919)
  9332. !1933 = !DILocation(line: 132, column: 107, scope: !1919)
  9333. !1934 = !DILocation(line: 132, column: 110, scope: !1919)
  9334. !1935 = !DILocation(line: 132, column: 106, scope: !1919)
  9335. !1936 = !DILocation(line: 132, column: 90, scope: !1919)
  9336. !1937 = !DILocation(line: 132, column: 80, scope: !1919)
  9337. !1938 = !DILocation(line: 132, column: 25, scope: !1919)
  9338. !1939 = !DILocation(line: 133, column: 18, scope: !1919)
  9339. !1940 = !DILocation(line: 133, column: 25, scope: !1919)
  9340. !1941 = !DILocation(line: 134, column: 18, scope: !1919)
  9341. !1942 = !DILocation(line: 134, column: 27, scope: !1919)
  9342. !1943 = !DILocation(line: 134, column: 51, scope: !1919)
  9343. !1944 = !DILocation(line: 134, column: 54, scope: !1919)
  9344. !1945 = !DILocation(line: 134, column: 50, scope: !1919)
  9345. !1946 = !DILocation(line: 134, column: 34, scope: !1919)
  9346. !1947 = !DILocation(line: 134, column: 24, scope: !1919)
  9347. !1948 = !DILocation(line: 94, column: 9, scope: !1655)
  9348. !1949 = !DILocation(line: 67, column: 18, scope: !1950)
  9349. !1950 = distinct !DILexicalBlock(scope: !1951, file: !259, line: 66, column: 34)
  9350. !1951 = distinct !DILexicalBlock(scope: !1662, file: !259, line: 66, column: 13)
  9351. !1952 = !DILocation(line: 67, column: 27, scope: !1950)
  9352. !1953 = !DILocation(line: 67, column: 24, scope: !1950)
  9353. !1954 = !DILocation(line: 68, column: 18, scope: !1950)
  9354. !1955 = !DILocation(line: 68, column: 28, scope: !1950)
  9355. !1956 = !DILocation(line: 68, column: 39, scope: !1950)
  9356. !1957 = !DILocation(line: 68, column: 46, scope: !1950)
  9357. !1958 = !DILocation(line: 68, column: 35, scope: !1950)
  9358. !1959 = !DILocation(line: 68, column: 25, scope: !1950)
  9359. !1960 = !DILocation(line: 69, column: 17, scope: !1950)
  9360. !1961 = !DILocation(line: 69, column: 75, scope: !1950)
  9361. !1962 = !DILocation(line: 69, column: 25, scope: !1950)
  9362. !1963 = !DILocation(line: 69, column: 24, scope: !1950)
  9363. !1964 = !DILocation(line: 69, column: 22, scope: !1950)
  9364. !1965 = !DILocation(line: 71, column: 21, scope: !1662)
  9365. !1966 = !DILocation(line: 71, column: 51, scope: !1662)
  9366. !1967 = !DILocation(line: 71, column: 45, scope: !1662)
  9367. !1968 = !DILocation(line: 71, column: 44, scope: !1662)
  9368. !1969 = !DILocation(line: 71, column: 28, scope: !1662)
  9369. !1970 = !DILocation(line: 71, column: 13, scope: !1662)
  9370. !1971 = !DILocation(line: 76, column: 43, scope: !1651)
  9371. !1972 = !DILocation(line: 76, column: 37, scope: !1651)
  9372. !1973 = !DILocation(line: 76, column: 36, scope: !1651)
  9373. !1974 = !DILocation(line: 76, column: 66, scope: !1651)
  9374. !1975 = !DILocation(line: 76, column: 60, scope: !1651)
  9375. !1976 = !DILocation(line: 76, column: 59, scope: !1651)
  9376. !1977 = !DILocation(line: 76, column: 52, scope: !1651)
  9377. !1978 = !DILocation(line: 76, column: 12, scope: !1651)
  9378. !1979 = !DILocation(line: 78, column: 13, scope: !1651)
  9379. !1980 = !DILocation(line: 78, column: 16, scope: !1651)
  9380. !1981 = !DILocation(line: 39, column: 5, scope: !1647)
  9381. !1982 = !DILocation(line: 79, column: 13, scope: !1664)
  9382. !1983 = !DILocation(line: 78, column: 9, scope: !1651)
  9383. !1984 = !DILocation(line: 80, column: 17, scope: !1985)
  9384. !1985 = distinct !DILexicalBlock(scope: !1986, file: !259, line: 79, column: 34)
  9385. !1986 = distinct !DILexicalBlock(scope: !1664, file: !259, line: 79, column: 13)
  9386. !1987 = !DILocation(line: 80, column: 24, scope: !1985)
  9387. !1988 = !DILocation(line: 80, column: 22, scope: !1985)
  9388. !1989 = !DILocation(line: 82, column: 13, scope: !1664)
  9389. !1990 = !DILocation(line: 84, column: 9, scope: !1651)
  9390. !1991 = !DILocation(line: 84, column: 12, scope: !1651)
  9391. !1992 = !DILocation(line: 87, column: 10, scope: !1651)
  9392. !1993 = !DILocation(line: 87, column: 16, scope: !1651)
  9393. !1994 = !DILocation(line: 88, column: 10, scope: !1651)
  9394. !1995 = !DILocation(line: 88, column: 20, scope: !1651)
  9395. !1996 = !DILocation(line: 88, column: 65, scope: !1651)
  9396. !1997 = !DILocation(line: 88, column: 63, scope: !1651)
  9397. !1998 = !DILocation(line: 88, column: 42, scope: !1651)
  9398. !1999 = !DILocation(line: 88, column: 26, scope: !1651)
  9399. !2000 = !DILocation(line: 88, column: 17, scope: !1651)
  9400. !2001 = !DILocation(line: 90, column: 10, scope: !1651)
  9401. !2002 = !DILocation(line: 90, column: 20, scope: !1651)
  9402. !2003 = !DILocation(line: 90, column: 44, scope: !1651)
  9403. !2004 = !DILocation(line: 90, column: 43, scope: !1651)
  9404. !2005 = !DILocation(line: 90, column: 27, scope: !1651)
  9405. !2006 = !DILocation(line: 90, column: 17, scope: !1651)
  9406. !2007 = !DILocation(line: 91, column: 10, scope: !1651)
  9407. !2008 = !DILocation(line: 91, column: 20, scope: !1651)
  9408. !2009 = !DILocation(line: 91, column: 66, scope: !1651)
  9409. !2010 = !DILocation(line: 91, column: 64, scope: !1651)
  9410. !2011 = !DILocation(line: 91, column: 43, scope: !1651)
  9411. !2012 = !DILocation(line: 91, column: 27, scope: !1651)
  9412. !2013 = !DILocation(line: 91, column: 75, scope: !1651)
  9413. !2014 = !DILocation(line: 91, column: 98, scope: !1651)
  9414. !2015 = !DILocation(line: 91, column: 97, scope: !1651)
  9415. !2016 = !DILocation(line: 91, column: 81, scope: !1651)
  9416. !2017 = !DILocation(line: 91, column: 71, scope: !1651)
  9417. !2018 = !DILocation(line: 91, column: 16, scope: !1651)
  9418. !2019 = !DILocation(line: 169, column: 5, scope: !1647)
  9419. !2020 = !DILocation(line: 170, column: 5, scope: !1667)
  9420. !2021 = !DILocation(line: 171, column: 5, scope: !1670)
  9421. !2022 = !DILocation(line: 171, column: 12, scope: !1670)
  9422. !2023 = !DILocation(line: 171, column: 15, scope: !1670)
  9423. !2024 = !DILocation(line: 173, column: 10, scope: !1669)
  9424. !2025 = !DILocation(line: 173, column: 21, scope: !1669)
  9425. !2026 = !DILocation(line: 173, column: 28, scope: !1669)
  9426. !2027 = !DILocation(line: 173, column: 38, scope: !1669)
  9427. !2028 = !DILocation(line: 173, column: 45, scope: !1669)
  9428. !2029 = !DILocation(line: 173, column: 34, scope: !1669)
  9429. !2030 = !DILocation(line: 173, column: 17, scope: !1669)
  9430. !2031 = !DILocation(line: 174, column: 10, scope: !1669)
  9431. !2032 = !DILocation(line: 174, column: 21, scope: !1669)
  9432. !2033 = !DILocation(line: 174, column: 28, scope: !1669)
  9433. !2034 = !DILocation(line: 174, column: 38, scope: !1669)
  9434. !2035 = !DILocation(line: 174, column: 45, scope: !1669)
  9435. !2036 = !DILocation(line: 174, column: 34, scope: !1669)
  9436. !2037 = !DILocation(line: 174, column: 17, scope: !1669)
  9437. !2038 = !DILocation(line: 175, column: 10, scope: !1669)
  9438. !2039 = !DILocation(line: 175, column: 21, scope: !1669)
  9439. !2040 = !DILocation(line: 175, column: 28, scope: !1669)
  9440. !2041 = !DILocation(line: 175, column: 38, scope: !1669)
  9441. !2042 = !DILocation(line: 175, column: 45, scope: !1669)
  9442. !2043 = !DILocation(line: 175, column: 34, scope: !1669)
  9443. !2044 = !DILocation(line: 175, column: 17, scope: !1669)
  9444. !2045 = !DILocation(line: 176, column: 10, scope: !1669)
  9445. !2046 = !DILocation(line: 176, column: 21, scope: !1669)
  9446. !2047 = !DILocation(line: 176, column: 28, scope: !1669)
  9447. !2048 = !DILocation(line: 176, column: 36, scope: !1669)
  9448. !2049 = !DILocation(line: 176, column: 34, scope: !1669)
  9449. !2050 = !DILocation(line: 176, column: 17, scope: !1669)
  9450. !2051 = !DILocation(line: 183, column: 68, scope: !1669)
  9451. !2052 = !DILocation(line: 183, column: 18, scope: !1669)
  9452. !2053 = !DILocation(line: 183, column: 17, scope: !1669)
  9453. !2054 = !DILocation(line: 183, column: 15, scope: !1669)
  9454. !2055 = !DILocation(line: 184, column: 52, scope: !1669)
  9455. !2056 = !DILocation(line: 184, column: 57, scope: !1669)
  9456. !2057 = !DILocation(line: 184, column: 54, scope: !1669)
  9457. !2058 = !DILocation(line: 184, column: 63, scope: !1669)
  9458. !2059 = !DILocation(line: 184, column: 69, scope: !1669)
  9459. !2060 = !DILocation(line: 184, column: 9, scope: !1669)
  9460. !2061 = !DILocation(line: 185, column: 21, scope: !2062)
  9461. !2062 = distinct !DILexicalBlock(scope: !1669, file: !259, line: 184, column: 9)
  9462. !2063 = !DILocation(line: 185, column: 23, scope: !2062)
  9463. !2064 = !DILocation(line: 185, column: 20, scope: !2062)
  9464. !2065 = !DILocation(line: 185, column: 15, scope: !2062)
  9465. !2066 = !DILocation(line: 186, column: 9, scope: !2062)
  9466. !2067 = !DILocation(line: 186, column: 18, scope: !2062)
  9467. !2068 = !DILocation(line: 186, column: 42, scope: !2062)
  9468. !2069 = !DILocation(line: 186, column: 20, scope: !2062)
  9469. !2070 = !DILocation(line: 186, column: 15, scope: !2062)
  9470. !2071 = !DILocation(line: 187, column: 14, scope: !2062)
  9471. !2072 = !DILocation(line: 187, column: 11, scope: !2062)
  9472. !2073 = !DILocation(line: 171, column: 23, scope: !1670)
  9473. !2074 = !DILocation(line: 171, column: 26, scope: !1670)
  9474. !2075 = !DILocation(line: 189, column: 72, scope: !1670)
  9475. !2076 = !DILocation(line: 189, column: 22, scope: !1670)
  9476. !2077 = !DILocation(line: 189, column: 21, scope: !1670)
  9477. !2078 = !DILocation(line: 189, column: 78, scope: !1670)
  9478. !2079 = !DILocation(line: 189, column: 86, scope: !1670)
  9479. !2080 = !DILocation(line: 189, column: 84, scope: !1670)
  9480. !2081 = !DILocation(line: 189, column: 5, scope: !1670)
  9481. !2082 = !DILocation(line: 190, column: 5, scope: !1674)
  9482. !2083 = !DILocation(line: 191, column: 9, scope: !2084)
  9483. !2084 = distinct !DILexicalBlock(scope: !2085, file: !259, line: 190, column: 26)
  9484. !2085 = distinct !DILexicalBlock(scope: !1674, file: !259, line: 190, column: 5)
  9485. !2086 = !DILocation(line: 191, column: 16, scope: !2084)
  9486. !2087 = !DILocation(line: 191, column: 14, scope: !2084)
  9487. !2088 = !DILocation(line: 193, column: 12, scope: !1674)
  9488. !2089 = !DILocation(line: 193, column: 5, scope: !1674)
  9489. !2090 = distinct !DISubprogram(name: "udivmod", scope: !259, file: !259, line: 7, type: !289, isLocal: true, isDefinition: true, scopeLine: 7, isOptimized: false, unit: !1, variables: !2091)
  9490. !2091 = !{!2092, !2097, !2099, !2101, !2108, !2110, !2112, !2114, !2116, !2120, !2121, !2124, !2128, !2131, !2133, !2135, !2137, !2138, !2140, !2143, !2144}
  9491. !2092 = !DILocalVariable(name: "a", arg: 1, scope: !2093, file: !259, line: 7, type: !181)
  9492. !2093 = distinct !DILexicalBlock(scope: !2094, file: !259, line: 7, column: 70)
  9493. !2094 = distinct !DILexicalBlock(scope: !2095, file: !259, line: 7, column: 56)
  9494. !2095 = distinct !DILexicalBlock(scope: !2096, file: !259, line: 7, column: 42)
  9495. !2096 = distinct !DILexicalBlock(scope: !2090, file: !259, line: 7, column: 16)
  9496. !2097 = !DILocalVariable(name: "b", arg: 2, scope: !2098, file: !259, line: 7, type: !181)
  9497. !2098 = distinct !DILexicalBlock(scope: !2093, file: !259, line: 7, column: 42)
  9498. !2099 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !2100, file: !259, line: 7, type: !291)
  9499. !2100 = distinct !DILexicalBlock(scope: !2098, file: !259, line: 7, column: 56)
  9500. !2101 = !DILocalVariable(name: "n", scope: !2102, file: !259, line: 14, type: !2107)
  9501. !2102 = distinct !DILexicalBlock(scope: !2103, file: !259, line: 12, column: 5)
  9502. !2103 = distinct !DILexicalBlock(scope: !2104, file: !259, line: 11, column: 5)
  9503. !2104 = distinct !DILexicalBlock(scope: !2105, file: !259, line: 10, column: 5)
  9504. !2105 = distinct !DILexicalBlock(scope: !2106, file: !259, line: 7, column: 107)
  9505. !2106 = distinct !DILexicalBlock(scope: !2100, file: !259, line: 7, column: 70)
  9506. !2107 = !DICompositeType(tag: DW_TAG_array_type, baseType: !269, size: 128, align: 128, elements: !1634)
  9507. !2108 = !DILocalVariable(name: "d", scope: !2109, file: !259, line: 15, type: !2107)
  9508. !2109 = distinct !DILexicalBlock(scope: !2102, file: !259, line: 14, column: 5)
  9509. !2110 = !DILocalVariable(name: "q", scope: !2111, file: !259, line: 16, type: !2107)
  9510. !2111 = distinct !DILexicalBlock(scope: !2109, file: !259, line: 15, column: 5)
  9511. !2112 = !DILocalVariable(name: "r", scope: !2113, file: !259, line: 17, type: !2107)
  9512. !2113 = distinct !DILexicalBlock(scope: !2111, file: !259, line: 16, column: 5)
  9513. !2114 = !DILocalVariable(name: "sr", scope: !2115, file: !259, line: 18, type: !428)
  9514. !2115 = distinct !DILexicalBlock(scope: !2113, file: !259, line: 17, column: 5)
  9515. !2116 = !DILocalVariable(name: "rem", scope: !2117, file: !259, line: 25, type: !291)
  9516. !2117 = distinct !DILexicalBlock(scope: !2118, file: !259, line: 21, column: 27)
  9517. !2118 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 20, column: 23)
  9518. !2119 = distinct !DILexicalBlock(scope: !2115, file: !259, line: 18, column: 5)
  9519. !2120 = !DILocalVariable(name: "rem", scope: !2118, file: !259, line: 33, type: !291)
  9520. !2121 = !DILocalVariable(name: "rem", scope: !2122, file: !259, line: 44, type: !291)
  9521. !2122 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 40, column: 27)
  9522. !2123 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 39, column: 22)
  9523. !2124 = !DILocalVariable(name: "rem", scope: !2125, file: !259, line: 100, type: !291)
  9524. !2125 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 98, column: 47)
  9525. !2126 = distinct !DILexicalBlock(scope: !2127, file: !259, line: 94, column: 27)
  9526. !2127 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 92, column: 12)
  9527. !2128 = !DILocalVariable(name: "rem", scope: !2129, file: !259, line: 143, type: !291)
  9528. !2129 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 142, column: 47)
  9529. !2130 = distinct !DILexicalBlock(scope: !2127, file: !259, line: 136, column: 16)
  9530. !2131 = !DILocalVariable(name: "rem", scope: !2132, file: !259, line: 54, type: !291)
  9531. !2132 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 50, column: 26)
  9532. !2133 = !DILocalVariable(name: "rem", scope: !2134, file: !259, line: 66, type: !291)
  9533. !2134 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 64, column: 45)
  9534. !2135 = !DILocalVariable(name: "rem", scope: !2136, file: !259, line: 79, type: !291)
  9535. !2136 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 78, column: 43)
  9536. !2137 = !DILocalVariable(name: "carry", scope: !2119, file: !259, line: 169, type: !390)
  9537. !2138 = !DILocalVariable(name: "r_all", scope: !2139, file: !259, line: 170, type: !181)
  9538. !2139 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 169, column: 5)
  9539. !2140 = !DILocalVariable(name: "s", scope: !2141, file: !259, line: 184, type: !611)
  9540. !2141 = distinct !DILexicalBlock(scope: !2142, file: !259, line: 171, column: 32)
  9541. !2142 = distinct !DILexicalBlock(scope: !2139, file: !259, line: 170, column: 5)
  9542. !2143 = !DILocalVariable(name: "q_all", scope: !2142, file: !259, line: 189, type: !181)
  9543. !2144 = !DILocalVariable(name: "rem", scope: !2145, file: !259, line: 190, type: !291)
  9544. !2145 = distinct !DILexicalBlock(scope: !2142, file: !259, line: 189, column: 5)
  9545. !2146 = !DILocation(line: 7, column: 42, scope: !2093)
  9546. !2147 = !DILocation(line: 7, column: 56, scope: !2098)
  9547. !2148 = !DILocation(line: 7, column: 70, scope: !2100)
  9548. !2149 = !DILocation(line: 14, column: 16, scope: !2102)
  9549. !2150 = !DILocation(line: 14, column: 5, scope: !2102)
  9550. !2151 = !DILocation(line: 15, column: 16, scope: !2109)
  9551. !2152 = !DILocation(line: 15, column: 5, scope: !2109)
  9552. !2153 = !DILocation(line: 16, column: 5, scope: !2111)
  9553. !2154 = !DILocation(line: 17, column: 5, scope: !2113)
  9554. !2155 = !DILocation(line: 18, column: 5, scope: !2115)
  9555. !2156 = !DILocation(line: 20, column: 10, scope: !2119)
  9556. !2157 = !DILocation(line: 20, column: 17, scope: !2119)
  9557. !2158 = !DILocation(line: 21, column: 14, scope: !2118)
  9558. !2159 = !DILocation(line: 21, column: 21, scope: !2118)
  9559. !2160 = !DILocation(line: 20, column: 5, scope: !2119)
  9560. !2161 = !DILocation(line: 25, column: 13, scope: !2117)
  9561. !2162 = !DILocation(line: 21, column: 9, scope: !2118)
  9562. !2163 = !DILocation(line: 26, column: 17, scope: !2164)
  9563. !2164 = distinct !DILexicalBlock(scope: !2165, file: !259, line: 25, column: 34)
  9564. !2165 = distinct !DILexicalBlock(scope: !2117, file: !259, line: 25, column: 13)
  9565. !2166 = !DILocation(line: 26, column: 25, scope: !2164)
  9566. !2167 = !DILocation(line: 26, column: 34, scope: !2164)
  9567. !2168 = !DILocation(line: 26, column: 31, scope: !2164)
  9568. !2169 = !DILocation(line: 26, column: 22, scope: !2164)
  9569. !2170 = !DILocation(line: 28, column: 21, scope: !2117)
  9570. !2171 = !DILocation(line: 28, column: 30, scope: !2117)
  9571. !2172 = !DILocation(line: 28, column: 27, scope: !2117)
  9572. !2173 = !DILocation(line: 28, column: 13, scope: !2117)
  9573. !2174 = !DILocation(line: 33, column: 9, scope: !2118)
  9574. !2175 = !DILocation(line: 34, column: 13, scope: !2176)
  9575. !2176 = distinct !DILexicalBlock(scope: !2177, file: !259, line: 33, column: 30)
  9576. !2177 = distinct !DILexicalBlock(scope: !2118, file: !259, line: 33, column: 9)
  9577. !2178 = !DILocation(line: 34, column: 21, scope: !2176)
  9578. !2179 = !DILocation(line: 34, column: 18, scope: !2176)
  9579. !2180 = !DILocation(line: 36, column: 9, scope: !2118)
  9580. !2181 = !DILocation(line: 39, column: 10, scope: !2119)
  9581. !2182 = !DILocation(line: 39, column: 16, scope: !2119)
  9582. !2183 = !DILocation(line: 40, column: 14, scope: !2123)
  9583. !2184 = !DILocation(line: 40, column: 21, scope: !2123)
  9584. !2185 = !DILocation(line: 94, column: 14, scope: !2127)
  9585. !2186 = !DILocation(line: 94, column: 21, scope: !2127)
  9586. !2187 = !DILocation(line: 44, column: 13, scope: !2122)
  9587. !2188 = !DILocation(line: 40, column: 9, scope: !2123)
  9588. !2189 = !DILocation(line: 98, column: 19, scope: !2126)
  9589. !2190 = !DILocation(line: 98, column: 29, scope: !2126)
  9590. !2191 = !DILocation(line: 98, column: 35, scope: !2126)
  9591. !2192 = !DILocation(line: 98, column: 25, scope: !2126)
  9592. !2193 = !DILocation(line: 98, column: 41, scope: !2126)
  9593. !2194 = !DILocation(line: 140, column: 47, scope: !2130)
  9594. !2195 = !DILocation(line: 140, column: 41, scope: !2130)
  9595. !2196 = !DILocation(line: 140, column: 40, scope: !2130)
  9596. !2197 = !DILocation(line: 140, column: 70, scope: !2130)
  9597. !2198 = !DILocation(line: 140, column: 64, scope: !2130)
  9598. !2199 = !DILocation(line: 140, column: 63, scope: !2130)
  9599. !2200 = !DILocation(line: 140, column: 56, scope: !2130)
  9600. !2201 = !DILocation(line: 140, column: 16, scope: !2130)
  9601. !2202 = !DILocation(line: 142, column: 17, scope: !2130)
  9602. !2203 = !DILocation(line: 142, column: 20, scope: !2130)
  9603. !2204 = !DILocation(line: 45, column: 17, scope: !2205)
  9604. !2205 = distinct !DILexicalBlock(scope: !2206, file: !259, line: 44, column: 34)
  9605. !2206 = distinct !DILexicalBlock(scope: !2122, file: !259, line: 44, column: 13)
  9606. !2207 = !DILocation(line: 45, column: 25, scope: !2205)
  9607. !2208 = !DILocation(line: 45, column: 35, scope: !2205)
  9608. !2209 = !DILocation(line: 45, column: 32, scope: !2205)
  9609. !2210 = !DILocation(line: 45, column: 22, scope: !2205)
  9610. !2211 = !DILocation(line: 47, column: 21, scope: !2122)
  9611. !2212 = !DILocation(line: 47, column: 31, scope: !2122)
  9612. !2213 = !DILocation(line: 47, column: 28, scope: !2122)
  9613. !2214 = !DILocation(line: 47, column: 13, scope: !2122)
  9614. !2215 = !DILocation(line: 50, column: 14, scope: !2123)
  9615. !2216 = !DILocation(line: 50, column: 20, scope: !2123)
  9616. !2217 = !DILocation(line: 100, column: 17, scope: !2125)
  9617. !2218 = !DILocation(line: 98, column: 13, scope: !2126)
  9618. !2219 = !DILocation(line: 143, column: 17, scope: !2129)
  9619. !2220 = !DILocation(line: 142, column: 13, scope: !2130)
  9620. !2221 = !DILocation(line: 54, column: 13, scope: !2132)
  9621. !2222 = !DILocation(line: 50, column: 9, scope: !2123)
  9622. !2223 = !DILocation(line: 101, column: 21, scope: !2224)
  9623. !2224 = distinct !DILexicalBlock(scope: !2225, file: !259, line: 100, column: 38)
  9624. !2225 = distinct !DILexicalBlock(scope: !2125, file: !259, line: 100, column: 17)
  9625. !2226 = !DILocation(line: 101, column: 29, scope: !2224)
  9626. !2227 = !DILocation(line: 101, column: 39, scope: !2224)
  9627. !2228 = !DILocation(line: 101, column: 45, scope: !2224)
  9628. !2229 = !DILocation(line: 101, column: 35, scope: !2224)
  9629. !2230 = !DILocation(line: 101, column: 26, scope: !2224)
  9630. !2231 = !DILocation(line: 104, column: 28, scope: !2232)
  9631. !2232 = distinct !DILexicalBlock(scope: !2125, file: !259, line: 103, column: 34)
  9632. !2233 = !DILocation(line: 104, column: 21, scope: !2232)
  9633. !2234 = !DILocation(line: 103, column: 17, scope: !2125)
  9634. !2235 = !DILocation(line: 106, column: 28, scope: !2125)
  9635. !2236 = !DILocation(line: 106, column: 22, scope: !2125)
  9636. !2237 = !DILocation(line: 106, column: 20, scope: !2125)
  9637. !2238 = !DILocation(line: 107, column: 18, scope: !2125)
  9638. !2239 = !DILocation(line: 107, column: 28, scope: !2125)
  9639. !2240 = !DILocation(line: 107, column: 52, scope: !2125)
  9640. !2241 = !DILocation(line: 107, column: 51, scope: !2125)
  9641. !2242 = !DILocation(line: 107, column: 35, scope: !2125)
  9642. !2243 = !DILocation(line: 107, column: 25, scope: !2125)
  9643. !2244 = !DILocation(line: 108, column: 18, scope: !2125)
  9644. !2245 = !DILocation(line: 108, column: 28, scope: !2125)
  9645. !2246 = !DILocation(line: 108, column: 74, scope: !2125)
  9646. !2247 = !DILocation(line: 108, column: 72, scope: !2125)
  9647. !2248 = !DILocation(line: 108, column: 51, scope: !2125)
  9648. !2249 = !DILocation(line: 108, column: 35, scope: !2125)
  9649. !2250 = !DILocation(line: 108, column: 83, scope: !2125)
  9650. !2251 = !DILocation(line: 108, column: 106, scope: !2125)
  9651. !2252 = !DILocation(line: 108, column: 105, scope: !2125)
  9652. !2253 = !DILocation(line: 108, column: 89, scope: !2125)
  9653. !2254 = !DILocation(line: 108, column: 79, scope: !2125)
  9654. !2255 = !DILocation(line: 108, column: 24, scope: !2125)
  9655. !2256 = !DILocation(line: 109, column: 75, scope: !2125)
  9656. !2257 = !DILocation(line: 109, column: 25, scope: !2125)
  9657. !2258 = !DILocation(line: 109, column: 24, scope: !2125)
  9658. !2259 = !DILocation(line: 109, column: 17, scope: !2125)
  9659. !2260 = !DILocation(line: 114, column: 57, scope: !2126)
  9660. !2261 = !DILocation(line: 114, column: 51, scope: !2126)
  9661. !2262 = !DILocation(line: 114, column: 50, scope: !2126)
  9662. !2263 = !DILocation(line: 114, column: 42, scope: !2126)
  9663. !2264 = !DILocation(line: 114, column: 80, scope: !2126)
  9664. !2265 = !DILocation(line: 114, column: 74, scope: !2126)
  9665. !2266 = !DILocation(line: 114, column: 73, scope: !2126)
  9666. !2267 = !DILocation(line: 114, column: 65, scope: !2126)
  9667. !2268 = !DILocation(line: 114, column: 16, scope: !2126)
  9668. !2269 = !DILocation(line: 118, column: 17, scope: !2126)
  9669. !2270 = !DILocation(line: 118, column: 20, scope: !2126)
  9670. !2271 = !DILocation(line: 144, column: 21, scope: !2272)
  9671. !2272 = distinct !DILexicalBlock(scope: !2273, file: !259, line: 143, column: 38)
  9672. !2273 = distinct !DILexicalBlock(scope: !2129, file: !259, line: 143, column: 17)
  9673. !2274 = !DILocation(line: 144, column: 28, scope: !2272)
  9674. !2275 = !DILocation(line: 144, column: 26, scope: !2272)
  9675. !2276 = !DILocation(line: 146, column: 17, scope: !2129)
  9676. !2277 = !DILocation(line: 148, column: 13, scope: !2130)
  9677. !2278 = !DILocation(line: 148, column: 16, scope: !2130)
  9678. !2279 = !DILocation(line: 152, column: 14, scope: !2130)
  9679. !2280 = !DILocation(line: 152, column: 20, scope: !2130)
  9680. !2281 = !DILocation(line: 153, column: 17, scope: !2130)
  9681. !2282 = !DILocation(line: 153, column: 20, scope: !2130)
  9682. !2283 = !DILocation(line: 55, column: 18, scope: !2284)
  9683. !2284 = distinct !DILexicalBlock(scope: !2285, file: !259, line: 54, column: 34)
  9684. !2285 = distinct !DILexicalBlock(scope: !2132, file: !259, line: 54, column: 13)
  9685. !2286 = !DILocation(line: 55, column: 28, scope: !2284)
  9686. !2287 = !DILocation(line: 55, column: 38, scope: !2284)
  9687. !2288 = !DILocation(line: 55, column: 35, scope: !2284)
  9688. !2289 = !DILocation(line: 55, column: 25, scope: !2284)
  9689. !2290 = !DILocation(line: 56, column: 18, scope: !2284)
  9690. !2291 = !DILocation(line: 56, column: 24, scope: !2284)
  9691. !2292 = !DILocation(line: 57, column: 17, scope: !2284)
  9692. !2293 = !DILocation(line: 57, column: 75, scope: !2284)
  9693. !2294 = !DILocation(line: 57, column: 25, scope: !2284)
  9694. !2295 = !DILocation(line: 57, column: 24, scope: !2284)
  9695. !2296 = !DILocation(line: 57, column: 22, scope: !2284)
  9696. !2297 = !DILocation(line: 59, column: 21, scope: !2132)
  9697. !2298 = !DILocation(line: 59, column: 31, scope: !2132)
  9698. !2299 = !DILocation(line: 59, column: 28, scope: !2132)
  9699. !2300 = !DILocation(line: 59, column: 13, scope: !2132)
  9700. !2301 = !DILocation(line: 64, column: 15, scope: !2123)
  9701. !2302 = !DILocation(line: 64, column: 26, scope: !2123)
  9702. !2303 = !DILocation(line: 64, column: 33, scope: !2123)
  9703. !2304 = !DILocation(line: 64, column: 22, scope: !2123)
  9704. !2305 = !DILocation(line: 64, column: 39, scope: !2123)
  9705. !2306 = !DILocation(line: 103, column: 22, scope: !2125)
  9706. !2307 = !DILocation(line: 103, column: 28, scope: !2125)
  9707. !2308 = !DILocation(line: 119, column: 18, scope: !2309)
  9708. !2309 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 118, column: 44)
  9709. !2310 = !DILocation(line: 119, column: 24, scope: !2309)
  9710. !2311 = !DILocation(line: 120, column: 18, scope: !2309)
  9711. !2312 = !DILocation(line: 120, column: 28, scope: !2309)
  9712. !2313 = !DILocation(line: 120, column: 25, scope: !2309)
  9713. !2314 = !DILocation(line: 121, column: 18, scope: !2309)
  9714. !2315 = !DILocation(line: 121, column: 25, scope: !2309)
  9715. !2316 = !DILocation(line: 122, column: 18, scope: !2309)
  9716. !2317 = !DILocation(line: 122, column: 27, scope: !2309)
  9717. !2318 = !DILocation(line: 122, column: 24, scope: !2309)
  9718. !2319 = !DILocation(line: 118, column: 13, scope: !2126)
  9719. !2320 = !DILocation(line: 123, column: 24, scope: !2126)
  9720. !2321 = !DILocation(line: 123, column: 27, scope: !2126)
  9721. !2322 = !DILocation(line: 154, column: 18, scope: !2323)
  9722. !2323 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 153, column: 44)
  9723. !2324 = !DILocation(line: 154, column: 28, scope: !2323)
  9724. !2325 = !DILocation(line: 154, column: 25, scope: !2323)
  9725. !2326 = !DILocation(line: 155, column: 18, scope: !2323)
  9726. !2327 = !DILocation(line: 155, column: 25, scope: !2323)
  9727. !2328 = !DILocation(line: 156, column: 18, scope: !2323)
  9728. !2329 = !DILocation(line: 156, column: 27, scope: !2323)
  9729. !2330 = !DILocation(line: 156, column: 24, scope: !2323)
  9730. !2331 = !DILocation(line: 153, column: 13, scope: !2130)
  9731. !2332 = !DILocation(line: 158, column: 18, scope: !2333)
  9732. !2333 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 157, column: 20)
  9733. !2334 = !DILocation(line: 158, column: 28, scope: !2333)
  9734. !2335 = !DILocation(line: 158, column: 52, scope: !2333)
  9735. !2336 = !DILocation(line: 158, column: 51, scope: !2333)
  9736. !2337 = !DILocation(line: 158, column: 35, scope: !2333)
  9737. !2338 = !DILocation(line: 158, column: 25, scope: !2333)
  9738. !2339 = !DILocation(line: 159, column: 18, scope: !2333)
  9739. !2340 = !DILocation(line: 159, column: 28, scope: !2333)
  9740. !2341 = !DILocation(line: 159, column: 74, scope: !2333)
  9741. !2342 = !DILocation(line: 159, column: 72, scope: !2333)
  9742. !2343 = !DILocation(line: 159, column: 51, scope: !2333)
  9743. !2344 = !DILocation(line: 159, column: 35, scope: !2333)
  9744. !2345 = !DILocation(line: 159, column: 83, scope: !2333)
  9745. !2346 = !DILocation(line: 159, column: 106, scope: !2333)
  9746. !2347 = !DILocation(line: 159, column: 105, scope: !2333)
  9747. !2348 = !DILocation(line: 159, column: 89, scope: !2333)
  9748. !2349 = !DILocation(line: 159, column: 79, scope: !2333)
  9749. !2350 = !DILocation(line: 159, column: 24, scope: !2333)
  9750. !2351 = !DILocation(line: 160, column: 18, scope: !2333)
  9751. !2352 = !DILocation(line: 160, column: 28, scope: !2333)
  9752. !2353 = !DILocation(line: 160, column: 73, scope: !2333)
  9753. !2354 = !DILocation(line: 160, column: 71, scope: !2333)
  9754. !2355 = !DILocation(line: 160, column: 50, scope: !2333)
  9755. !2356 = !DILocation(line: 160, column: 34, scope: !2333)
  9756. !2357 = !DILocation(line: 160, column: 25, scope: !2333)
  9757. !2358 = !DILocation(line: 66, column: 13, scope: !2134)
  9758. !2359 = !DILocation(line: 64, column: 9, scope: !2123)
  9759. !2360 = !DILocation(line: 125, column: 18, scope: !2361)
  9760. !2361 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 123, column: 50)
  9761. !2362 = !DILocation(line: 125, column: 24, scope: !2361)
  9762. !2363 = !DILocation(line: 126, column: 18, scope: !2361)
  9763. !2364 = !DILocation(line: 126, column: 28, scope: !2361)
  9764. !2365 = !DILocation(line: 126, column: 73, scope: !2361)
  9765. !2366 = !DILocation(line: 126, column: 71, scope: !2361)
  9766. !2367 = !DILocation(line: 126, column: 50, scope: !2361)
  9767. !2368 = !DILocation(line: 126, column: 34, scope: !2361)
  9768. !2369 = !DILocation(line: 126, column: 25, scope: !2361)
  9769. !2370 = !DILocation(line: 127, column: 18, scope: !2361)
  9770. !2371 = !DILocation(line: 127, column: 28, scope: !2361)
  9771. !2372 = !DILocation(line: 127, column: 52, scope: !2361)
  9772. !2373 = !DILocation(line: 127, column: 51, scope: !2361)
  9773. !2374 = !DILocation(line: 127, column: 35, scope: !2361)
  9774. !2375 = !DILocation(line: 127, column: 25, scope: !2361)
  9775. !2376 = !DILocation(line: 128, column: 18, scope: !2361)
  9776. !2377 = !DILocation(line: 128, column: 28, scope: !2361)
  9777. !2378 = !DILocation(line: 128, column: 74, scope: !2361)
  9778. !2379 = !DILocation(line: 128, column: 72, scope: !2361)
  9779. !2380 = !DILocation(line: 128, column: 51, scope: !2361)
  9780. !2381 = !DILocation(line: 128, column: 35, scope: !2361)
  9781. !2382 = !DILocation(line: 128, column: 83, scope: !2361)
  9782. !2383 = !DILocation(line: 128, column: 106, scope: !2361)
  9783. !2384 = !DILocation(line: 128, column: 105, scope: !2361)
  9784. !2385 = !DILocation(line: 128, column: 89, scope: !2361)
  9785. !2386 = !DILocation(line: 128, column: 79, scope: !2361)
  9786. !2387 = !DILocation(line: 128, column: 24, scope: !2361)
  9787. !2388 = !DILocation(line: 123, column: 20, scope: !2126)
  9788. !2389 = !DILocation(line: 131, column: 18, scope: !2390)
  9789. !2390 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 129, column: 20)
  9790. !2391 = !DILocation(line: 131, column: 27, scope: !2390)
  9791. !2392 = !DILocation(line: 131, column: 72, scope: !2390)
  9792. !2393 = !DILocation(line: 131, column: 70, scope: !2390)
  9793. !2394 = !DILocation(line: 131, column: 49, scope: !2390)
  9794. !2395 = !DILocation(line: 131, column: 33, scope: !2390)
  9795. !2396 = !DILocation(line: 131, column: 24, scope: !2390)
  9796. !2397 = !DILocation(line: 132, column: 18, scope: !2390)
  9797. !2398 = !DILocation(line: 132, column: 29, scope: !2390)
  9798. !2399 = !DILocation(line: 132, column: 75, scope: !2390)
  9799. !2400 = !DILocation(line: 132, column: 73, scope: !2390)
  9800. !2401 = !DILocation(line: 132, column: 52, scope: !2390)
  9801. !2402 = !DILocation(line: 132, column: 36, scope: !2390)
  9802. !2403 = !DILocation(line: 132, column: 84, scope: !2390)
  9803. !2404 = !DILocation(line: 132, column: 107, scope: !2390)
  9804. !2405 = !DILocation(line: 132, column: 110, scope: !2390)
  9805. !2406 = !DILocation(line: 132, column: 106, scope: !2390)
  9806. !2407 = !DILocation(line: 132, column: 90, scope: !2390)
  9807. !2408 = !DILocation(line: 132, column: 80, scope: !2390)
  9808. !2409 = !DILocation(line: 132, column: 25, scope: !2390)
  9809. !2410 = !DILocation(line: 133, column: 18, scope: !2390)
  9810. !2411 = !DILocation(line: 133, column: 25, scope: !2390)
  9811. !2412 = !DILocation(line: 134, column: 18, scope: !2390)
  9812. !2413 = !DILocation(line: 134, column: 27, scope: !2390)
  9813. !2414 = !DILocation(line: 134, column: 51, scope: !2390)
  9814. !2415 = !DILocation(line: 134, column: 54, scope: !2390)
  9815. !2416 = !DILocation(line: 134, column: 50, scope: !2390)
  9816. !2417 = !DILocation(line: 134, column: 34, scope: !2390)
  9817. !2418 = !DILocation(line: 134, column: 24, scope: !2390)
  9818. !2419 = !DILocation(line: 94, column: 9, scope: !2127)
  9819. !2420 = !DILocation(line: 67, column: 18, scope: !2421)
  9820. !2421 = distinct !DILexicalBlock(scope: !2422, file: !259, line: 66, column: 34)
  9821. !2422 = distinct !DILexicalBlock(scope: !2134, file: !259, line: 66, column: 13)
  9822. !2423 = !DILocation(line: 67, column: 27, scope: !2421)
  9823. !2424 = !DILocation(line: 67, column: 24, scope: !2421)
  9824. !2425 = !DILocation(line: 68, column: 18, scope: !2421)
  9825. !2426 = !DILocation(line: 68, column: 28, scope: !2421)
  9826. !2427 = !DILocation(line: 68, column: 39, scope: !2421)
  9827. !2428 = !DILocation(line: 68, column: 46, scope: !2421)
  9828. !2429 = !DILocation(line: 68, column: 35, scope: !2421)
  9829. !2430 = !DILocation(line: 68, column: 25, scope: !2421)
  9830. !2431 = !DILocation(line: 69, column: 17, scope: !2421)
  9831. !2432 = !DILocation(line: 69, column: 75, scope: !2421)
  9832. !2433 = !DILocation(line: 69, column: 25, scope: !2421)
  9833. !2434 = !DILocation(line: 69, column: 24, scope: !2421)
  9834. !2435 = !DILocation(line: 69, column: 22, scope: !2421)
  9835. !2436 = !DILocation(line: 71, column: 21, scope: !2134)
  9836. !2437 = !DILocation(line: 71, column: 51, scope: !2134)
  9837. !2438 = !DILocation(line: 71, column: 45, scope: !2134)
  9838. !2439 = !DILocation(line: 71, column: 44, scope: !2134)
  9839. !2440 = !DILocation(line: 71, column: 28, scope: !2134)
  9840. !2441 = !DILocation(line: 71, column: 13, scope: !2134)
  9841. !2442 = !DILocation(line: 76, column: 43, scope: !2123)
  9842. !2443 = !DILocation(line: 76, column: 37, scope: !2123)
  9843. !2444 = !DILocation(line: 76, column: 36, scope: !2123)
  9844. !2445 = !DILocation(line: 76, column: 66, scope: !2123)
  9845. !2446 = !DILocation(line: 76, column: 60, scope: !2123)
  9846. !2447 = !DILocation(line: 76, column: 59, scope: !2123)
  9847. !2448 = !DILocation(line: 76, column: 52, scope: !2123)
  9848. !2449 = !DILocation(line: 76, column: 12, scope: !2123)
  9849. !2450 = !DILocation(line: 78, column: 13, scope: !2123)
  9850. !2451 = !DILocation(line: 78, column: 16, scope: !2123)
  9851. !2452 = !DILocation(line: 39, column: 5, scope: !2119)
  9852. !2453 = !DILocation(line: 79, column: 13, scope: !2136)
  9853. !2454 = !DILocation(line: 78, column: 9, scope: !2123)
  9854. !2455 = !DILocation(line: 80, column: 17, scope: !2456)
  9855. !2456 = distinct !DILexicalBlock(scope: !2457, file: !259, line: 79, column: 34)
  9856. !2457 = distinct !DILexicalBlock(scope: !2136, file: !259, line: 79, column: 13)
  9857. !2458 = !DILocation(line: 80, column: 24, scope: !2456)
  9858. !2459 = !DILocation(line: 80, column: 22, scope: !2456)
  9859. !2460 = !DILocation(line: 82, column: 13, scope: !2136)
  9860. !2461 = !DILocation(line: 84, column: 9, scope: !2123)
  9861. !2462 = !DILocation(line: 84, column: 12, scope: !2123)
  9862. !2463 = !DILocation(line: 87, column: 10, scope: !2123)
  9863. !2464 = !DILocation(line: 87, column: 16, scope: !2123)
  9864. !2465 = !DILocation(line: 88, column: 10, scope: !2123)
  9865. !2466 = !DILocation(line: 88, column: 20, scope: !2123)
  9866. !2467 = !DILocation(line: 88, column: 65, scope: !2123)
  9867. !2468 = !DILocation(line: 88, column: 63, scope: !2123)
  9868. !2469 = !DILocation(line: 88, column: 42, scope: !2123)
  9869. !2470 = !DILocation(line: 88, column: 26, scope: !2123)
  9870. !2471 = !DILocation(line: 88, column: 17, scope: !2123)
  9871. !2472 = !DILocation(line: 90, column: 10, scope: !2123)
  9872. !2473 = !DILocation(line: 90, column: 20, scope: !2123)
  9873. !2474 = !DILocation(line: 90, column: 44, scope: !2123)
  9874. !2475 = !DILocation(line: 90, column: 43, scope: !2123)
  9875. !2476 = !DILocation(line: 90, column: 27, scope: !2123)
  9876. !2477 = !DILocation(line: 90, column: 17, scope: !2123)
  9877. !2478 = !DILocation(line: 91, column: 10, scope: !2123)
  9878. !2479 = !DILocation(line: 91, column: 20, scope: !2123)
  9879. !2480 = !DILocation(line: 91, column: 66, scope: !2123)
  9880. !2481 = !DILocation(line: 91, column: 64, scope: !2123)
  9881. !2482 = !DILocation(line: 91, column: 43, scope: !2123)
  9882. !2483 = !DILocation(line: 91, column: 27, scope: !2123)
  9883. !2484 = !DILocation(line: 91, column: 75, scope: !2123)
  9884. !2485 = !DILocation(line: 91, column: 98, scope: !2123)
  9885. !2486 = !DILocation(line: 91, column: 97, scope: !2123)
  9886. !2487 = !DILocation(line: 91, column: 81, scope: !2123)
  9887. !2488 = !DILocation(line: 91, column: 71, scope: !2123)
  9888. !2489 = !DILocation(line: 91, column: 16, scope: !2123)
  9889. !2490 = !DILocation(line: 169, column: 5, scope: !2119)
  9890. !2491 = !DILocation(line: 170, column: 5, scope: !2139)
  9891. !2492 = !DILocation(line: 171, column: 5, scope: !2142)
  9892. !2493 = !DILocation(line: 171, column: 12, scope: !2142)
  9893. !2494 = !DILocation(line: 171, column: 15, scope: !2142)
  9894. !2495 = !DILocation(line: 173, column: 10, scope: !2141)
  9895. !2496 = !DILocation(line: 173, column: 21, scope: !2141)
  9896. !2497 = !DILocation(line: 173, column: 28, scope: !2141)
  9897. !2498 = !DILocation(line: 173, column: 38, scope: !2141)
  9898. !2499 = !DILocation(line: 173, column: 45, scope: !2141)
  9899. !2500 = !DILocation(line: 173, column: 34, scope: !2141)
  9900. !2501 = !DILocation(line: 173, column: 17, scope: !2141)
  9901. !2502 = !DILocation(line: 174, column: 10, scope: !2141)
  9902. !2503 = !DILocation(line: 174, column: 21, scope: !2141)
  9903. !2504 = !DILocation(line: 174, column: 28, scope: !2141)
  9904. !2505 = !DILocation(line: 174, column: 38, scope: !2141)
  9905. !2506 = !DILocation(line: 174, column: 45, scope: !2141)
  9906. !2507 = !DILocation(line: 174, column: 34, scope: !2141)
  9907. !2508 = !DILocation(line: 174, column: 17, scope: !2141)
  9908. !2509 = !DILocation(line: 175, column: 10, scope: !2141)
  9909. !2510 = !DILocation(line: 175, column: 21, scope: !2141)
  9910. !2511 = !DILocation(line: 175, column: 28, scope: !2141)
  9911. !2512 = !DILocation(line: 175, column: 38, scope: !2141)
  9912. !2513 = !DILocation(line: 175, column: 45, scope: !2141)
  9913. !2514 = !DILocation(line: 175, column: 34, scope: !2141)
  9914. !2515 = !DILocation(line: 175, column: 17, scope: !2141)
  9915. !2516 = !DILocation(line: 176, column: 10, scope: !2141)
  9916. !2517 = !DILocation(line: 176, column: 21, scope: !2141)
  9917. !2518 = !DILocation(line: 176, column: 28, scope: !2141)
  9918. !2519 = !DILocation(line: 176, column: 36, scope: !2141)
  9919. !2520 = !DILocation(line: 176, column: 34, scope: !2141)
  9920. !2521 = !DILocation(line: 176, column: 17, scope: !2141)
  9921. !2522 = !DILocation(line: 183, column: 68, scope: !2141)
  9922. !2523 = !DILocation(line: 183, column: 18, scope: !2141)
  9923. !2524 = !DILocation(line: 183, column: 17, scope: !2141)
  9924. !2525 = !DILocation(line: 183, column: 15, scope: !2141)
  9925. !2526 = !DILocation(line: 184, column: 52, scope: !2141)
  9926. !2527 = !DILocation(line: 184, column: 57, scope: !2141)
  9927. !2528 = !DILocation(line: 184, column: 54, scope: !2141)
  9928. !2529 = !DILocation(line: 184, column: 63, scope: !2141)
  9929. !2530 = !DILocation(line: 184, column: 69, scope: !2141)
  9930. !2531 = !DILocation(line: 184, column: 9, scope: !2141)
  9931. !2532 = !DILocation(line: 185, column: 21, scope: !2533)
  9932. !2533 = distinct !DILexicalBlock(scope: !2141, file: !259, line: 184, column: 9)
  9933. !2534 = !DILocation(line: 185, column: 23, scope: !2533)
  9934. !2535 = !DILocation(line: 185, column: 20, scope: !2533)
  9935. !2536 = !DILocation(line: 185, column: 15, scope: !2533)
  9936. !2537 = !DILocation(line: 186, column: 9, scope: !2533)
  9937. !2538 = !DILocation(line: 186, column: 18, scope: !2533)
  9938. !2539 = !DILocation(line: 186, column: 42, scope: !2533)
  9939. !2540 = !DILocation(line: 186, column: 20, scope: !2533)
  9940. !2541 = !DILocation(line: 186, column: 15, scope: !2533)
  9941. !2542 = !DILocation(line: 187, column: 14, scope: !2533)
  9942. !2543 = !DILocation(line: 187, column: 11, scope: !2533)
  9943. !2544 = !DILocation(line: 171, column: 23, scope: !2142)
  9944. !2545 = !DILocation(line: 171, column: 26, scope: !2142)
  9945. !2546 = !DILocation(line: 189, column: 72, scope: !2142)
  9946. !2547 = !DILocation(line: 189, column: 22, scope: !2142)
  9947. !2548 = !DILocation(line: 189, column: 21, scope: !2142)
  9948. !2549 = !DILocation(line: 189, column: 78, scope: !2142)
  9949. !2550 = !DILocation(line: 189, column: 86, scope: !2142)
  9950. !2551 = !DILocation(line: 189, column: 84, scope: !2142)
  9951. !2552 = !DILocation(line: 189, column: 5, scope: !2142)
  9952. !2553 = !DILocation(line: 190, column: 5, scope: !2145)
  9953. !2554 = !DILocation(line: 191, column: 9, scope: !2555)
  9954. !2555 = distinct !DILexicalBlock(scope: !2556, file: !259, line: 190, column: 26)
  9955. !2556 = distinct !DILexicalBlock(scope: !2145, file: !259, line: 190, column: 5)
  9956. !2557 = !DILocation(line: 191, column: 16, scope: !2555)
  9957. !2558 = !DILocation(line: 191, column: 14, scope: !2555)
  9958. !2559 = !DILocation(line: 193, column: 12, scope: !2145)
  9959. !2560 = !DILocation(line: 193, column: 5, scope: !2145)
  9960. !2561 = distinct !DISubprogram(name: "__udivti3", scope: !244, file: !244, line: 5, type: !2562, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !2564)
  9961. !2562 = !DISubroutineType(types: !2563)
  9962. !2563 = !{!181, !181, !181}
  9963. !2564 = !{!2565, !2566}
  9964. !2565 = !DILocalVariable(name: "a", arg: 1, scope: !2561, file: !244, line: 5, type: !181)
  9965. !2566 = !DILocalVariable(name: "b", arg: 2, scope: !2567, file: !244, line: 5, type: !181)
  9966. !2567 = distinct !DILexicalBlock(scope: !2561, file: !244, line: 5, column: 21)
  9967. !2568 = !DILocation(line: 5, column: 21, scope: !2561)
  9968. !2569 = !DILocation(line: 5, column: 30, scope: !2567)
  9969. !2570 = !DILocation(line: 8, column: 25, scope: !2571)
  9970. !2571 = distinct !DILexicalBlock(scope: !2572, file: !244, line: 5, column: 47)
  9971. !2572 = distinct !DILexicalBlock(scope: !2567, file: !244, line: 5, column: 30)
  9972. !2573 = !DILocation(line: 8, column: 28, scope: !2571)
  9973. !2574 = !DILocation(line: 8, column: 24, scope: !2571)
  9974. !2575 = !DILocation(line: 8, column: 5, scope: !2571)
  9975. !2576 = distinct !DISubprogram(name: "__umodti3", scope: !247, file: !247, line: 5, type: !2562, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !2577)
  9976. !2577 = !{!2578, !2579, !2581}
  9977. !2578 = !DILocalVariable(name: "a", arg: 1, scope: !2576, file: !247, line: 5, type: !181)
  9978. !2579 = !DILocalVariable(name: "b", arg: 2, scope: !2580, file: !247, line: 5, type: !181)
  9979. !2580 = distinct !DILexicalBlock(scope: !2576, file: !247, line: 5, column: 21)
  9980. !2581 = !DILocalVariable(name: "r", scope: !2582, file: !247, line: 8, type: !181)
  9981. !2582 = distinct !DILexicalBlock(scope: !2583, file: !247, line: 5, column: 47)
  9982. !2583 = distinct !DILexicalBlock(scope: !2580, file: !247, line: 5, column: 30)
  9983. !2584 = !DILocation(line: 5, column: 21, scope: !2576)
  9984. !2585 = !DILocation(line: 5, column: 30, scope: !2580)
  9985. !2586 = !DILocation(line: 8, column: 5, scope: !2582)
  9986. !2587 = !DILocation(line: 9, column: 22, scope: !2588)
  9987. !2588 = distinct !DILexicalBlock(scope: !2582, file: !247, line: 8, column: 5)
  9988. !2589 = !DILocation(line: 9, column: 25, scope: !2588)
  9989. !2590 = !DILocation(line: 9, column: 21, scope: !2588)
  9990. !2591 = !DILocation(line: 10, column: 12, scope: !2588)
  9991. !2592 = !DILocation(line: 10, column: 5, scope: !2588)
  9992. !2593 = distinct !DISubprogram(name: "_aulldiv", scope: !250, file: !250, line: 5, type: !375, isLocal: true, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !377)
  9993. !2594 = !DILocation(line: 65, column: 5, scope: !2595)
  9994. !2595 = distinct !DILexicalBlock(scope: !2593, file: !250, line: 5, column: 30)
  9995. !2596 = distinct !DISubprogram(name: "_aullrem", scope: !253, file: !253, line: 5, type: !375, isLocal: true, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !377)
  9996. !2597 = !DILocation(line: 66, column: 5, scope: !2598)
  9997. !2598 = distinct !DILexicalBlock(scope: !2596, file: !253, line: 5, column: 30)
  9998. !2599 = distinct !DISubprogram(name: "isArmArch", scope: !152, file: !152, line: 76, type: !2600, isLocal: true, isDefinition: true, scopeLine: 76, isOptimized: false, unit: !1, variables: !377)
  9999. !2600 = !DISubroutineType(types: !2601)
  10000. !2601 = !{!149}
  10001. !2602 = !DILocation(line: 77, column: 5, scope: !2603)
  10002. !2603 = distinct !DILexicalBlock(scope: !2599, file: !152, line: 76, column: 24)
  10003.  
  10004. Optimization:
  10005. ---------------
  10006. ; ModuleID = 'compiler_rt'
  10007. source_filename = "compiler_rt"
  10008. target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
  10009. target triple = "x86_64-apple-darwin-unknown"
  10010.  
  10011. %"[]u8.0" = type { i8*, i64 }
  10012. %AeabiUlDivModResult = type { i64, i64 }
  10013.  
  10014. @is_test = internal unnamed_addr constant i1 false, align 1
  10015. @linkage = internal unnamed_addr constant i2 -2, align 1
  10016. @__udivmoddi4.0 = internal unnamed_addr constant i64 (i64, i64, i64*)* @__udivmoddi4, align 8
  10017. @arch = internal unnamed_addr constant i7 48, align 1
  10018. @os = internal unnamed_addr constant i5 3, align 1
  10019. @win32 = internal unnamed_addr constant i1 false, align 1
  10020. @win64 = internal unnamed_addr constant i1 false, align 1
  10021. @signBit = internal unnamed_addr constant i128 -170141183460469231731687303715884105728, align 8
  10022. @absMask = internal unnamed_addr constant i128 170141183460469231731687303715884105727, align 8
  10023. @implicitBit = internal unnamed_addr constant i128 5192296858534827628530496329220096, align 8
  10024. @significandMask = internal unnamed_addr constant i128 5192296858534827628530496329220095, align 8
  10025. @exponentMask = internal unnamed_addr constant i128 170135991163610696904058773219554885632, align 8
  10026. @LE_UNORDERED = internal unnamed_addr constant i32 1, align 4
  10027. @LE_EQUAL = internal unnamed_addr constant i32 0, align 4
  10028. @LE_LESS = internal unnamed_addr constant i32 -1, align 4
  10029. @LE_GREATER = internal unnamed_addr constant i32 1, align 4
  10030. @GE_UNORDERED = internal unnamed_addr constant i32 -1, align 4
  10031. @GE_EQUAL = internal unnamed_addr constant i32 0, align 4
  10032. @GE_LESS = internal unnamed_addr constant i32 -1, align 4
  10033. @GE_GREATER = internal unnamed_addr constant i32 1, align 4
  10034. @__udivmodti4.0 = internal unnamed_addr constant i128 (i128, i128, i128*)* @__udivmodti4, align 8
  10035. @__udivmodti4.0.1 = internal unnamed_addr constant i128 (i128, i128, i128*)* @__udivmodti4, align 8
  10036. @is_win32 = internal unnamed_addr constant i1 false, align 1
  10037. @is_win32.2 = internal unnamed_addr constant i1 false, align 1
  10038. @is_big_endian = internal unnamed_addr constant i1 false, align 1
  10039. @0 = internal unnamed_addr constant i8* getelementptr inbounds ([24 x i8], [24 x i8]* @1, i64 0, i64 0), align 8
  10040. @1 = internal unnamed_addr constant [24 x i8] c"reached unreachable code", align 1
  10041. @2 = internal unnamed_addr constant %"[]u8.0" { i8* getelementptr inbounds ([24 x i8], [24 x i8]* @1, i64 0, i64 0), i64 24 }, align 8
  10042. @3 = internal unnamed_addr constant [2 x i32] undef, align 4
  10043. @4 = internal unnamed_addr constant [2 x i32] undef, align 4
  10044. @5 = internal unnamed_addr constant [2 x i64] undef, align 8
  10045. @6 = internal unnamed_addr constant [2 x i64] undef, align 8
  10046.  
  10047. ; Function Attrs: nobuiltin nounwind
  10048. define weak_odr i64 @__udivmoddi4(i64, i64, i64*) #0 !dbg !266 {
  10049. Entry:
  10050. %a = alloca i64, align 8
  10051. %b = alloca i64, align 8
  10052. %maybe_rem = alloca i64*, align 8
  10053. store i64 %0, i64* %a, align 8
  10054. call void @llvm.dbg.declare(metadata i64* %a, metadata !272, metadata !277), !dbg !278
  10055. store i64 %1, i64* %b, align 8
  10056. call void @llvm.dbg.declare(metadata i64* %b, metadata !273, metadata !277), !dbg !279
  10057. store i64* %2, i64** %maybe_rem, align 8
  10058. call void @llvm.dbg.declare(metadata i64** %maybe_rem, metadata !275, metadata !277), !dbg !280
  10059. %3 = load i64, i64* %a, align 8, !dbg !281
  10060. %4 = load i64, i64* %b, align 8, !dbg !284
  10061. %5 = load i64*, i64** %maybe_rem, align 8, !dbg !285
  10062. %6 = call fastcc i64 @udivmod(i64 %3, i64 %4, i64* %5), !dbg !286
  10063. ret i64 %6, !dbg !287
  10064. }
  10065.  
  10066. ; Function Attrs: nobuiltin nounwind
  10067. define weak_odr i128 @__udivmodti4(i128, i128, i128*) #0 !dbg !288 {
  10068. Entry:
  10069. %a = alloca i128, align 8
  10070. %b = alloca i128, align 8
  10071. %maybe_rem = alloca i128*, align 8
  10072. store i128 %0, i128* %a, align 8
  10073. call void @llvm.dbg.declare(metadata i128* %a, metadata !293, metadata !277), !dbg !298
  10074. store i128 %1, i128* %b, align 8
  10075. call void @llvm.dbg.declare(metadata i128* %b, metadata !294, metadata !277), !dbg !299
  10076. store i128* %2, i128** %maybe_rem, align 8
  10077. call void @llvm.dbg.declare(metadata i128** %maybe_rem, metadata !296, metadata !277), !dbg !300
  10078. %3 = load i128, i128* %a, align 8, !dbg !301
  10079. %4 = load i128, i128* %b, align 8, !dbg !304
  10080. %5 = load i128*, i128** %maybe_rem, align 8, !dbg !305
  10081. %6 = call fastcc i128 @udivmod.11(i128 %3, i128 %4, i128* %5), !dbg !306
  10082. ret i128 %6, !dbg !307
  10083. }
  10084.  
  10085. ; Function Attrs: cold nobuiltin noreturn nounwind sspstrong
  10086. define internal coldcc void @panic(%"[]u8.0"* byval nonnull readonly) unnamed_addr #1 !dbg !308 {
  10087. Entry:
  10088. call void @llvm.dbg.declare(metadata %"[]u8.0"* %0, metadata !320, metadata !277), !dbg !321
  10089. call coldcc void @panic(%"[]u8.0"* @2), !dbg !322
  10090. unreachable, !dbg !322
  10091. }
  10092.  
  10093. ; Function Attrs: nounwind readnone speculatable
  10094. declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
  10095.  
  10096. ; Function Attrs: nobuiltin nounwind
  10097. define weak_odr i64 @__udivdi3(i64, i64) #0 !dbg !326 {
  10098. Entry:
  10099. %a = alloca i64, align 8
  10100. %b = alloca i64, align 8
  10101. store i64 %0, i64* %a, align 8
  10102. call void @llvm.dbg.declare(metadata i64* %a, metadata !330, metadata !277), !dbg !333
  10103. store i64 %1, i64* %b, align 8
  10104. call void @llvm.dbg.declare(metadata i64* %b, metadata !331, metadata !277), !dbg !334
  10105. %2 = load i64, i64* %a, align 8, !dbg !335
  10106. %3 = load i64, i64* %b, align 8, !dbg !338
  10107. %4 = call i64 @__udivmoddi4(i64 %2, i64 %3, i64* null), !dbg !339
  10108. ret i64 %4, !dbg !340
  10109. }
  10110.  
  10111. ; Function Attrs: nobuiltin nounwind
  10112. define weak_odr i64 @__umoddi3(i64, i64) #0 !dbg !341 {
  10113. Entry:
  10114. %a = alloca i64, align 8
  10115. %b = alloca i64, align 8
  10116. %r = alloca i64, align 8
  10117. store i64 %0, i64* %a, align 8
  10118. call void @llvm.dbg.declare(metadata i64* %a, metadata !343, metadata !277), !dbg !349
  10119. store i64 %1, i64* %b, align 8
  10120. call void @llvm.dbg.declare(metadata i64* %b, metadata !344, metadata !277), !dbg !350
  10121. call void @llvm.dbg.declare(metadata i64* %r, metadata !346, metadata !277), !dbg !351
  10122. %2 = load i64, i64* %a, align 8, !dbg !352
  10123. %3 = load i64, i64* %b, align 8, !dbg !354
  10124. %4 = call i64 @__udivmoddi4(i64 %2, i64 %3, i64* %r), !dbg !355
  10125. %5 = load i64, i64* %r, align 8, !dbg !356
  10126. ret i64 %5, !dbg !357
  10127. }
  10128.  
  10129. ; Function Attrs: nobuiltin nounwind
  10130. define internal %AeabiUlDivModResult @__aeabi_uldivmod.0(i64, i64) unnamed_addr #0 !dbg !358 {
  10131. Entry:
  10132. %numerator = alloca i64, align 8
  10133. %denominator = alloca i64, align 8
  10134. store i64 %0, i64* %numerator, align 8
  10135. call void @llvm.dbg.declare(metadata i64* %numerator, metadata !366, metadata !277), !dbg !369
  10136. store i64 %1, i64* %denominator, align 8
  10137. call void @llvm.dbg.declare(metadata i64* %denominator, metadata !367, metadata !277), !dbg !370
  10138. unreachable, !dbg !371
  10139. }
  10140.  
  10141. ; Function Attrs: naked nobuiltin nounwind
  10142. define internal void @__aeabi_uidivmod.0() unnamed_addr #3 !dbg !374 {
  10143. Entry:
  10144. ret void, !dbg !378
  10145. }
  10146.  
  10147. ; Function Attrs: naked nobuiltin nounwind
  10148. define internal void @_chkstk.0() unnamed_addr #3 !dbg !379 {
  10149. Entry:
  10150. ret void, !dbg !380
  10151. }
  10152.  
  10153. ; Function Attrs: naked nobuiltin nounwind
  10154. define internal void @__chkstk.0() unnamed_addr #3 !dbg !381 {
  10155. Entry:
  10156. ret void, !dbg !382
  10157. }
  10158.  
  10159. ; Function Attrs: naked nobuiltin nounwind
  10160. define internal void @__chkstk_ms.0() unnamed_addr #3 !dbg !383 {
  10161. Entry:
  10162. ret void, !dbg !384
  10163. }
  10164.  
  10165. ; Function Attrs: naked nobuiltin nounwind
  10166. define internal void @___chkstk_ms.0() unnamed_addr #3 !dbg !385 {
  10167. Entry:
  10168. ret void, !dbg !386
  10169. }
  10170.  
  10171. ; Function Attrs: nobuiltin nounwind
  10172. define weak_odr i32 @__udivmodsi4(i32, i32, i32* nonnull) #0 !dbg !387 {
  10173. Entry:
  10174. %a = alloca i32, align 4
  10175. %b = alloca i32, align 4
  10176. %rem = alloca i32*, align 8
  10177. %d = alloca i32, align 4
  10178. store i32 %0, i32* %a, align 4
  10179. call void @llvm.dbg.declare(metadata i32* %a, metadata !393, metadata !277), !dbg !401
  10180. store i32 %1, i32* %b, align 4
  10181. call void @llvm.dbg.declare(metadata i32* %b, metadata !394, metadata !277), !dbg !402
  10182. store i32* %2, i32** %rem, align 8
  10183. call void @llvm.dbg.declare(metadata i32** %rem, metadata !396, metadata !277), !dbg !403
  10184. %3 = load i32, i32* %a, align 4, !dbg !404
  10185. %4 = load i32, i32* %b, align 4, !dbg !405
  10186. %5 = call i32 @__udivsi3(i32 %3, i32 %4), !dbg !406
  10187. store i32 %5, i32* %d, align 4, !dbg !407
  10188. call void @llvm.dbg.declare(metadata i32* %d, metadata !398, metadata !277), !dbg !407
  10189. %6 = load i32*, i32** %rem, align 8, !dbg !408
  10190. %7 = load i32, i32* %a, align 4, !dbg !410
  10191. %8 = load i32, i32* %d, align 4, !dbg !411
  10192. %9 = load i32, i32* %b, align 4, !dbg !412
  10193. %10 = mul nsw i32 %8, %9, !dbg !413
  10194. %11 = sub i32 %7, %10, !dbg !414
  10195. store i32 %11, i32* %6, align 4, !dbg !415
  10196. %12 = load i32, i32* %d, align 4, !dbg !416
  10197. ret i32 %12, !dbg !417
  10198. }
  10199.  
  10200. ; Function Attrs: nobuiltin nounwind
  10201. define weak_odr i32 @__udivsi3(i32, i32) #0 !dbg !418 {
  10202. Entry:
  10203. %n = alloca i32, align 4
  10204. %d = alloca i32, align 4
  10205. %n_uword_bits = alloca i32, align 4
  10206. %sr = alloca i32, align 4
  10207. %q = alloca i32, align 4
  10208. %r = alloca i32, align 4
  10209. %carry = alloca i32, align 4
  10210. %s = alloca i32, align 4
  10211. store i32 %0, i32* %n, align 4
  10212. call void @llvm.dbg.declare(metadata i32* %n, metadata !422, metadata !277), !dbg !441
  10213. store i32 %1, i32* %d, align 4
  10214. call void @llvm.dbg.declare(metadata i32* %d, metadata !423, metadata !277), !dbg !442
  10215. store i32 32, i32* %n_uword_bits, align 4, !dbg !443
  10216. call void @llvm.dbg.declare(metadata i32* %n_uword_bits, metadata !425, metadata !277), !dbg !443
  10217. %2 = load i32, i32* %d, align 4, !dbg !444
  10218. %3 = icmp eq i32 %2, 0, !dbg !445
  10219. br i1 %3, label %Then, label %Else, !dbg !445
  10220.  
  10221. Then: ; preds = %Entry
  10222. ret i32 0, !dbg !446
  10223.  
  10224. Else: ; preds = %Entry
  10225. br label %EndIf, !dbg !447
  10226.  
  10227. EndIf: ; preds = %Else
  10228. %4 = load i32, i32* %n, align 4, !dbg !448
  10229. %5 = icmp eq i32 %4, 0, !dbg !449
  10230. br i1 %5, label %Then1, label %Else2, !dbg !449
  10231.  
  10232. Then1: ; preds = %EndIf
  10233. ret i32 0, !dbg !450
  10234.  
  10235. Else2: ; preds = %EndIf
  10236. br label %EndIf3, !dbg !451
  10237.  
  10238. EndIf3: ; preds = %Else2
  10239. %6 = load i32, i32* %d, align 4, !dbg !452
  10240. %7 = call i32 @llvm.ctlz.i32(i32 %6, i1 false), !dbg !453
  10241. %8 = trunc i32 %7 to i6, !dbg !453
  10242. %9 = zext i6 %8 to i32, !dbg !454
  10243. %10 = load i32, i32* %n, align 4, !dbg !455
  10244. %11 = call i32 @llvm.ctlz.i32(i32 %10, i1 false), !dbg !456
  10245. %12 = trunc i32 %11 to i6, !dbg !456
  10246. %13 = zext i6 %12 to i32, !dbg !457
  10247. %14 = sub nsw i32 %9, %13, !dbg !458
  10248. store i32 %14, i32* %sr, align 4, !dbg !459
  10249. call void @llvm.dbg.declare(metadata i32* %sr, metadata !429, metadata !277), !dbg !459
  10250. %15 = load i32, i32* %sr, align 4, !dbg !460
  10251. %16 = icmp ugt i32 %15, 31, !dbg !461
  10252. br i1 %16, label %Then4, label %Else5, !dbg !461
  10253.  
  10254. Then4: ; preds = %EndIf3
  10255. ret i32 0, !dbg !462
  10256.  
  10257. Else5: ; preds = %EndIf3
  10258. br label %EndIf6, !dbg !463
  10259.  
  10260. EndIf6: ; preds = %Else5
  10261. %17 = load i32, i32* %sr, align 4, !dbg !464
  10262. %18 = icmp eq i32 %17, 31, !dbg !465
  10263. br i1 %18, label %Then7, label %Else8, !dbg !465
  10264.  
  10265. Then7: ; preds = %EndIf6
  10266. %19 = load i32, i32* %n, align 4, !dbg !466
  10267. ret i32 %19, !dbg !467
  10268.  
  10269. Else8: ; preds = %EndIf6
  10270. %20 = load i32, i32* %sr, align 4, !dbg !468
  10271. %21 = add nuw i32 %20, 1, !dbg !469
  10272. store i32 %21, i32* %sr, align 4, !dbg !469
  10273. %22 = load i32, i32* %n, align 4, !dbg !470
  10274. %23 = load i32, i32* %sr, align 4, !dbg !471
  10275. %24 = sub nuw i32 32, %23, !dbg !472
  10276. %25 = trunc i32 %24 to i5, !dbg !473
  10277. %26 = zext i5 %25 to i32, !dbg !474
  10278. %27 = shl i32 %22, %26, !dbg !474
  10279. store i32 %27, i32* %q, align 4, !dbg !475
  10280. call void @llvm.dbg.declare(metadata i32* %q, metadata !431, metadata !277), !dbg !475
  10281. %28 = load i32, i32* %n, align 4, !dbg !476
  10282. %29 = load i32, i32* %sr, align 4, !dbg !477
  10283. %30 = trunc i32 %29 to i5, !dbg !478
  10284. %31 = zext i5 %30 to i32, !dbg !479
  10285. %32 = lshr i32 %28, %31, !dbg !479
  10286. store i32 %32, i32* %r, align 4, !dbg !480
  10287. call void @llvm.dbg.declare(metadata i32* %r, metadata !433, metadata !277), !dbg !480
  10288. store i32 0, i32* %carry, align 4, !dbg !481
  10289. call void @llvm.dbg.declare(metadata i32* %carry, metadata !435, metadata !277), !dbg !481
  10290. br label %WhileCond, !dbg !482
  10291.  
  10292. WhileCond: ; preds = %WhileBody, %Else8
  10293. %33 = load i32, i32* %sr, align 4, !dbg !483
  10294. %34 = icmp ugt i32 %33, 0, !dbg !484
  10295. br i1 %34, label %WhileBody, label %WhileEnd, !dbg !484
  10296.  
  10297. WhileBody: ; preds = %WhileCond
  10298. %35 = load i32, i32* %r, align 4, !dbg !485
  10299. %36 = shl i32 %35, 1, !dbg !486
  10300. %37 = load i32, i32* %q, align 4, !dbg !487
  10301. %38 = lshr i32 %37, 31, !dbg !488
  10302. %39 = or i32 %36, %38, !dbg !489
  10303. store i32 %39, i32* %r, align 4, !dbg !490
  10304. %40 = load i32, i32* %q, align 4, !dbg !491
  10305. %41 = shl i32 %40, 1, !dbg !492
  10306. %42 = load i32, i32* %carry, align 4, !dbg !493
  10307. %43 = or i32 %41, %42, !dbg !494
  10308. store i32 %43, i32* %q, align 4, !dbg !495
  10309. %44 = load i32, i32* %d, align 4, !dbg !496
  10310. %45 = load i32, i32* %r, align 4, !dbg !497
  10311. %46 = sub i32 %44, %45, !dbg !498
  10312. %47 = sub i32 %46, 1, !dbg !499
  10313. %48 = ashr i32 %47, 31, !dbg !500
  10314. store i32 %48, i32* %s, align 4, !dbg !501
  10315. call void @llvm.dbg.declare(metadata i32* %s, metadata !437, metadata !277), !dbg !501
  10316. %49 = load i32, i32* %s, align 4, !dbg !502
  10317. %50 = and i32 %49, 1, !dbg !504
  10318. store i32 %50, i32* %carry, align 4, !dbg !505
  10319. %51 = load i32, i32* %r, align 4, !dbg !506
  10320. %52 = load i32, i32* %d, align 4, !dbg !507
  10321. %53 = load i32, i32* %s, align 4, !dbg !508
  10322. %54 = and i32 %52, %53, !dbg !509
  10323. %55 = sub nuw i32 %51, %54, !dbg !510
  10324. store i32 %55, i32* %r, align 4, !dbg !510
  10325. %56 = load i32, i32* %sr, align 4, !dbg !511
  10326. %57 = sub nuw i32 %56, 1, !dbg !512
  10327. store i32 %57, i32* %sr, align 4, !dbg !512
  10328. br label %WhileCond, !dbg !482
  10329.  
  10330. WhileEnd: ; preds = %WhileCond
  10331. %58 = load i32, i32* %q, align 4, !dbg !513
  10332. %59 = shl i32 %58, 1, !dbg !514
  10333. %60 = load i32, i32* %carry, align 4, !dbg !515
  10334. %61 = or i32 %59, %60, !dbg !516
  10335. store i32 %61, i32* %q, align 4, !dbg !517
  10336. %62 = load i32, i32* %q, align 4, !dbg !518
  10337. ret i32 %62, !dbg !519
  10338. }
  10339.  
  10340. ; Function Attrs: nobuiltin nounwind
  10341. define weak_odr i32 @__aeabi_uidiv(i32, i32) #0 !dbg !520 {
  10342. Entry:
  10343. %n = alloca i32, align 4
  10344. %d = alloca i32, align 4
  10345. store i32 %0, i32* %n, align 4
  10346. call void @llvm.dbg.declare(metadata i32* %n, metadata !522, metadata !277), !dbg !525
  10347. store i32 %1, i32* %d, align 4
  10348. call void @llvm.dbg.declare(metadata i32* %d, metadata !523, metadata !277), !dbg !526
  10349. %2 = load i32, i32* %n, align 4, !dbg !527
  10350. %3 = load i32, i32* %d, align 4, !dbg !530
  10351. %4 = call i32 @__udivsi3(i32 %2, i32 %3), !dbg !531
  10352. ret i32 %4, !dbg !532
  10353. }
  10354.  
  10355. ; Function Attrs: nounwind readnone speculatable
  10356. declare i32 @llvm.ctlz.i32(i32, i1) #2
  10357.  
  10358. ; Function Attrs: nobuiltin nounwind
  10359. define weak_odr i32 @__letf2(fp128, fp128) #0 !dbg !533 {
  10360. Entry:
  10361. %a = alloca fp128, align 16
  10362. %b = alloca fp128, align 16
  10363. %aInt = alloca i128, align 8
  10364. %bInt = alloca i128, align 8
  10365. %aAbs = alloca i128, align 8
  10366. %bAbs = alloca i128, align 8
  10367. store fp128 %0, fp128* %a, align 16
  10368. call void @llvm.dbg.declare(metadata fp128* %a, metadata !538, metadata !277), !dbg !550
  10369. store fp128 %1, fp128* %b, align 16
  10370. call void @llvm.dbg.declare(metadata fp128* %b, metadata !539, metadata !277), !dbg !551
  10371. %2 = load fp128, fp128* %a, align 16, !dbg !552
  10372. %3 = bitcast fp128 %2 to i128, !dbg !553
  10373. store i128 %3, i128* %aInt, align 8, !dbg !554
  10374. call void @llvm.dbg.declare(metadata i128* %aInt, metadata !541, metadata !277), !dbg !554
  10375. %4 = load fp128, fp128* %b, align 16, !dbg !555
  10376. %5 = bitcast fp128 %4 to i128, !dbg !556
  10377. store i128 %5, i128* %bInt, align 8, !dbg !557
  10378. call void @llvm.dbg.declare(metadata i128* %bInt, metadata !544, metadata !277), !dbg !557
  10379. %6 = load i128, i128* %aInt, align 8, !dbg !558
  10380. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !559
  10381. store i128 %7, i128* %aAbs, align 8, !dbg !560
  10382. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !546, metadata !277), !dbg !560
  10383. %8 = load i128, i128* %bInt, align 8, !dbg !561
  10384. %9 = and i128 %8, 170141183460469231731687303715884105727, !dbg !562
  10385. store i128 %9, i128* %bAbs, align 8, !dbg !563
  10386. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !548, metadata !277), !dbg !563
  10387. %10 = load i128, i128* %aAbs, align 8, !dbg !564
  10388. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !566
  10389. br i1 %11, label %BoolOrTrue, label %BoolOrFalse, !dbg !567
  10390.  
  10391. BoolOrFalse: ; preds = %Entry
  10392. %12 = load i128, i128* %bAbs, align 8, !dbg !568
  10393. %13 = icmp ugt i128 %12, 170135991163610696904058773219554885632, !dbg !569
  10394. br label %BoolOrTrue, !dbg !567
  10395.  
  10396. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  10397. %14 = phi i1 [ %11, %Entry ], [ %13, %BoolOrFalse ], !dbg !567
  10398. br i1 %14, label %Then, label %Else, !dbg !567
  10399.  
  10400. Then: ; preds = %BoolOrTrue
  10401. ret i32 1, !dbg !570
  10402.  
  10403. Else: ; preds = %BoolOrTrue
  10404. br label %EndIf, !dbg !571
  10405.  
  10406. EndIf: ; preds = %Else
  10407. %15 = load i128, i128* %aAbs, align 8, !dbg !572
  10408. %16 = load i128, i128* %bAbs, align 8, !dbg !573
  10409. %17 = or i128 %15, %16, !dbg !574
  10410. %18 = icmp eq i128 %17, 0, !dbg !575
  10411. br i1 %18, label %Then1, label %Else2, !dbg !575
  10412.  
  10413. Then1: ; preds = %EndIf
  10414. ret i32 0, !dbg !576
  10415.  
  10416. Else2: ; preds = %EndIf
  10417. br label %EndIf3, !dbg !577
  10418.  
  10419. EndIf3: ; preds = %Else2
  10420. %19 = load i128, i128* %aInt, align 8, !dbg !578
  10421. %20 = load i128, i128* %bInt, align 8, !dbg !579
  10422. %21 = load i128, i128* %aInt, align 8, !dbg !580
  10423. %22 = load i128, i128* %bInt, align 8, !dbg !582
  10424. %23 = icmp ult i128 %21, %22, !dbg !583
  10425. br i1 %23, label %Then4, label %Else5, !dbg !583
  10426.  
  10427. Then4: ; preds = %EndIf3
  10428. br label %EndIf9, !dbg !584
  10429.  
  10430. Else5: ; preds = %EndIf3
  10431. %24 = load i128, i128* %aInt, align 8, !dbg !585
  10432. %25 = load i128, i128* %bInt, align 8, !dbg !586
  10433. %26 = icmp eq i128 %24, %25, !dbg !587
  10434. br i1 %26, label %Then6, label %Else7, !dbg !587
  10435.  
  10436. Then6: ; preds = %Else5
  10437. br label %EndIf8, !dbg !588
  10438.  
  10439. Else7: ; preds = %Else5
  10440. br label %EndIf8, !dbg !588
  10441.  
  10442. EndIf8: ; preds = %Else7, %Then6
  10443. %27 = phi i32 [ 0, %Then6 ], [ 1, %Else7 ], !dbg !588
  10444. br label %EndIf9, !dbg !584
  10445.  
  10446. EndIf9: ; preds = %EndIf8, %Then4
  10447. %28 = phi i32 [ -1, %Then4 ], [ %27, %EndIf8 ], !dbg !584
  10448. ret i32 %28, !dbg !589
  10449. }
  10450.  
  10451. ; Function Attrs: nobuiltin nounwind
  10452. define weak_odr i32 @__cmptf2(fp128, fp128) #0 !dbg !590 {
  10453. Entry:
  10454. %a = alloca fp128, align 16
  10455. %b = alloca fp128, align 16
  10456. store fp128 %0, fp128* %a, align 16
  10457. call void @llvm.dbg.declare(metadata fp128* %a, metadata !592, metadata !277), !dbg !595
  10458. store fp128 %1, fp128* %b, align 16
  10459. call void @llvm.dbg.declare(metadata fp128* %b, metadata !593, metadata !277), !dbg !596
  10460. %2 = load fp128, fp128* %a, align 16, !dbg !597
  10461. %3 = load fp128, fp128* %b, align 16, !dbg !600
  10462. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !601
  10463. ret i32 %4, !dbg !602
  10464. }
  10465.  
  10466. ; Function Attrs: nobuiltin nounwind
  10467. define weak_odr i32 @__getf2(fp128, fp128) #0 !dbg !603 {
  10468. Entry:
  10469. %a = alloca fp128, align 16
  10470. %b = alloca fp128, align 16
  10471. %aInt = alloca i128, align 8
  10472. %bInt = alloca i128, align 8
  10473. %aAbs = alloca i128, align 8
  10474. %bAbs = alloca i128, align 8
  10475. store fp128 %0, fp128* %a, align 16
  10476. call void @llvm.dbg.declare(metadata fp128* %a, metadata !605, metadata !277), !dbg !618
  10477. store fp128 %1, fp128* %b, align 16
  10478. call void @llvm.dbg.declare(metadata fp128* %b, metadata !606, metadata !277), !dbg !619
  10479. %2 = load fp128, fp128* %a, align 16, !dbg !620
  10480. %3 = bitcast fp128 %2 to i128, !dbg !621
  10481. store i128 %3, i128* %aInt, align 8, !dbg !622
  10482. call void @llvm.dbg.declare(metadata i128* %aInt, metadata !608, metadata !277), !dbg !622
  10483. %4 = load fp128, fp128* %b, align 16, !dbg !623
  10484. %5 = bitcast fp128 %4 to i128, !dbg !624
  10485. store i128 %5, i128* %bInt, align 8, !dbg !625
  10486. call void @llvm.dbg.declare(metadata i128* %bInt, metadata !612, metadata !277), !dbg !625
  10487. %6 = load i128, i128* %aInt, align 8, !dbg !626
  10488. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !627
  10489. store i128 %7, i128* %aAbs, align 8, !dbg !628
  10490. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !614, metadata !277), !dbg !628
  10491. %8 = load i128, i128* %bInt, align 8, !dbg !629
  10492. %9 = and i128 %8, 170141183460469231731687303715884105727, !dbg !630
  10493. store i128 %9, i128* %bAbs, align 8, !dbg !631
  10494. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !616, metadata !277), !dbg !631
  10495. %10 = load i128, i128* %aAbs, align 8, !dbg !632
  10496. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !634
  10497. br i1 %11, label %BoolOrTrue, label %BoolOrFalse, !dbg !635
  10498.  
  10499. BoolOrFalse: ; preds = %Entry
  10500. %12 = load i128, i128* %bAbs, align 8, !dbg !636
  10501. %13 = icmp ugt i128 %12, 170135991163610696904058773219554885632, !dbg !637
  10502. br label %BoolOrTrue, !dbg !635
  10503.  
  10504. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  10505. %14 = phi i1 [ %11, %Entry ], [ %13, %BoolOrFalse ], !dbg !635
  10506. br i1 %14, label %Then, label %Else, !dbg !635
  10507.  
  10508. Then: ; preds = %BoolOrTrue
  10509. ret i32 -1, !dbg !638
  10510.  
  10511. Else: ; preds = %BoolOrTrue
  10512. br label %EndIf, !dbg !639
  10513.  
  10514. EndIf: ; preds = %Else
  10515. %15 = load i128, i128* %aAbs, align 8, !dbg !640
  10516. %16 = load i128, i128* %bAbs, align 8, !dbg !641
  10517. %17 = or i128 %15, %16, !dbg !642
  10518. %18 = icmp eq i128 %17, 0, !dbg !643
  10519. br i1 %18, label %Then1, label %Else2, !dbg !643
  10520.  
  10521. Then1: ; preds = %EndIf
  10522. ret i32 0, !dbg !644
  10523.  
  10524. Else2: ; preds = %EndIf
  10525. br label %EndIf3, !dbg !645
  10526.  
  10527. EndIf3: ; preds = %Else2
  10528. %19 = load i128, i128* %aInt, align 8, !dbg !646
  10529. %20 = load i128, i128* %bInt, align 8, !dbg !647
  10530. %21 = and i128 %19, %20, !dbg !648
  10531. %22 = icmp sge i128 %21, 0, !dbg !649
  10532. br i1 %22, label %Then4, label %Else5, !dbg !649
  10533.  
  10534. Then4: ; preds = %EndIf3
  10535. %23 = load i128, i128* %aInt, align 8, !dbg !650
  10536. %24 = load i128, i128* %bInt, align 8, !dbg !652
  10537. %25 = icmp slt i128 %23, %24, !dbg !653
  10538. br i1 %25, label %Then6, label %Else7, !dbg !653
  10539.  
  10540. Else5: ; preds = %EndIf3
  10541. %26 = load i128, i128* %aInt, align 8, !dbg !654
  10542. %27 = load i128, i128* %bInt, align 8, !dbg !656
  10543. %28 = icmp sgt i128 %26, %27, !dbg !657
  10544. br i1 %28, label %Then8, label %Else9, !dbg !657
  10545.  
  10546. Then6: ; preds = %Then4
  10547. br label %EndIf13, !dbg !658
  10548.  
  10549. Else7: ; preds = %Then4
  10550. %29 = load i128, i128* %aInt, align 8, !dbg !659
  10551. %30 = load i128, i128* %bInt, align 8, !dbg !660
  10552. %31 = icmp eq i128 %29, %30, !dbg !661
  10553. br i1 %31, label %Then10, label %Else11, !dbg !661
  10554.  
  10555. Then8: ; preds = %Else5
  10556. br label %EndIf17, !dbg !662
  10557.  
  10558. Else9: ; preds = %Else5
  10559. %32 = load i128, i128* %aInt, align 8, !dbg !663
  10560. %33 = load i128, i128* %bInt, align 8, !dbg !664
  10561. %34 = icmp eq i128 %32, %33, !dbg !665
  10562. br i1 %34, label %Then14, label %Else15, !dbg !665
  10563.  
  10564. Then10: ; preds = %Else7
  10565. br label %EndIf12, !dbg !666
  10566.  
  10567. Else11: ; preds = %Else7
  10568. br label %EndIf12, !dbg !666
  10569.  
  10570. EndIf12: ; preds = %Else11, %Then10
  10571. %35 = phi i32 [ 0, %Then10 ], [ 1, %Else11 ], !dbg !666
  10572. br label %EndIf13, !dbg !658
  10573.  
  10574. EndIf13: ; preds = %EndIf12, %Then6
  10575. %36 = phi i32 [ -1, %Then6 ], [ %35, %EndIf12 ], !dbg !658
  10576. br label %EndIf18, !dbg !667
  10577.  
  10578. Then14: ; preds = %Else9
  10579. br label %EndIf16, !dbg !668
  10580.  
  10581. Else15: ; preds = %Else9
  10582. br label %EndIf16, !dbg !668
  10583.  
  10584. EndIf16: ; preds = %Else15, %Then14
  10585. %37 = phi i32 [ 0, %Then14 ], [ 1, %Else15 ], !dbg !668
  10586. br label %EndIf17, !dbg !662
  10587.  
  10588. EndIf17: ; preds = %EndIf16, %Then8
  10589. %38 = phi i32 [ -1, %Then8 ], [ %37, %EndIf16 ], !dbg !662
  10590. br label %EndIf18, !dbg !667
  10591.  
  10592. EndIf18: ; preds = %EndIf17, %EndIf13
  10593. %39 = phi i32 [ %36, %EndIf13 ], [ %38, %EndIf17 ], !dbg !667
  10594. ret i32 %39, !dbg !669
  10595. }
  10596.  
  10597. ; Function Attrs: nobuiltin nounwind
  10598. define weak_odr i32 @__unordtf2(fp128, fp128) #0 !dbg !670 {
  10599. Entry:
  10600. %a = alloca fp128, align 16
  10601. %b = alloca fp128, align 16
  10602. %aAbs = alloca i128, align 8
  10603. %bAbs = alloca i128, align 8
  10604. store fp128 %0, fp128* %a, align 16
  10605. call void @llvm.dbg.declare(metadata fp128* %a, metadata !672, metadata !277), !dbg !680
  10606. store fp128 %1, fp128* %b, align 16
  10607. call void @llvm.dbg.declare(metadata fp128* %b, metadata !673, metadata !277), !dbg !681
  10608. %2 = load fp128, fp128* %a, align 16, !dbg !682
  10609. %3 = bitcast fp128 %2 to i128, !dbg !683
  10610. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !684
  10611. store i128 %4, i128* %aAbs, align 8, !dbg !685
  10612. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !675, metadata !277), !dbg !685
  10613. %5 = load fp128, fp128* %b, align 16, !dbg !686
  10614. %6 = bitcast fp128 %5 to i128, !dbg !687
  10615. %7 = and i128 %6, 170141183460469231731687303715884105727, !dbg !688
  10616. store i128 %7, i128* %bAbs, align 8, !dbg !689
  10617. call void @llvm.dbg.declare(metadata i128* %bAbs, metadata !678, metadata !277), !dbg !689
  10618. %8 = load i128, i128* %aAbs, align 8, !dbg !690
  10619. %9 = icmp ugt i128 %8, 170135991163610696904058773219554885632, !dbg !692
  10620. br i1 %9, label %BoolOrTrue, label %BoolOrFalse, !dbg !693
  10621.  
  10622. BoolOrFalse: ; preds = %Entry
  10623. %10 = load i128, i128* %bAbs, align 8, !dbg !694
  10624. %11 = icmp ugt i128 %10, 170135991163610696904058773219554885632, !dbg !695
  10625. br label %BoolOrTrue, !dbg !693
  10626.  
  10627. BoolOrTrue: ; preds = %BoolOrFalse, %Entry
  10628. %12 = phi i1 [ %9, %Entry ], [ %11, %BoolOrFalse ], !dbg !693
  10629. %13 = zext i1 %12 to i32, !dbg !696
  10630. ret i32 %13, !dbg !697
  10631. }
  10632.  
  10633. ; Function Attrs: nobuiltin nounwind
  10634. define weak_odr i32 @__eqtf2(fp128, fp128) #0 !dbg !698 {
  10635. Entry:
  10636. %a = alloca fp128, align 16
  10637. %b = alloca fp128, align 16
  10638. store fp128 %0, fp128* %a, align 16
  10639. call void @llvm.dbg.declare(metadata fp128* %a, metadata !700, metadata !277), !dbg !703
  10640. store fp128 %1, fp128* %b, align 16
  10641. call void @llvm.dbg.declare(metadata fp128* %b, metadata !701, metadata !277), !dbg !704
  10642. %2 = load fp128, fp128* %a, align 16, !dbg !705
  10643. %3 = load fp128, fp128* %b, align 16, !dbg !708
  10644. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !709
  10645. ret i32 %4, !dbg !710
  10646. }
  10647.  
  10648. ; Function Attrs: nobuiltin nounwind
  10649. define weak_odr i32 @__lttf2(fp128, fp128) #0 !dbg !711 {
  10650. Entry:
  10651. %a = alloca fp128, align 16
  10652. %b = alloca fp128, align 16
  10653. store fp128 %0, fp128* %a, align 16
  10654. call void @llvm.dbg.declare(metadata fp128* %a, metadata !713, metadata !277), !dbg !716
  10655. store fp128 %1, fp128* %b, align 16
  10656. call void @llvm.dbg.declare(metadata fp128* %b, metadata !714, metadata !277), !dbg !717
  10657. %2 = load fp128, fp128* %a, align 16, !dbg !718
  10658. %3 = load fp128, fp128* %b, align 16, !dbg !721
  10659. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !722
  10660. ret i32 %4, !dbg !723
  10661. }
  10662.  
  10663. ; Function Attrs: nobuiltin nounwind
  10664. define weak_odr i32 @__netf2(fp128, fp128) #0 !dbg !724 {
  10665. Entry:
  10666. %a = alloca fp128, align 16
  10667. %b = alloca fp128, align 16
  10668. store fp128 %0, fp128* %a, align 16
  10669. call void @llvm.dbg.declare(metadata fp128* %a, metadata !726, metadata !277), !dbg !729
  10670. store fp128 %1, fp128* %b, align 16
  10671. call void @llvm.dbg.declare(metadata fp128* %b, metadata !727, metadata !277), !dbg !730
  10672. %2 = load fp128, fp128* %a, align 16, !dbg !731
  10673. %3 = load fp128, fp128* %b, align 16, !dbg !734
  10674. %4 = call i32 @__letf2(fp128 %2, fp128 %3), !dbg !735
  10675. ret i32 %4, !dbg !736
  10676. }
  10677.  
  10678. ; Function Attrs: nobuiltin nounwind
  10679. define weak_odr i32 @__gttf2(fp128, fp128) #0 !dbg !737 {
  10680. Entry:
  10681. %a = alloca fp128, align 16
  10682. %b = alloca fp128, align 16
  10683. store fp128 %0, fp128* %a, align 16
  10684. call void @llvm.dbg.declare(metadata fp128* %a, metadata !739, metadata !277), !dbg !742
  10685. store fp128 %1, fp128* %b, align 16
  10686. call void @llvm.dbg.declare(metadata fp128* %b, metadata !740, metadata !277), !dbg !743
  10687. %2 = load fp128, fp128* %a, align 16, !dbg !744
  10688. %3 = load fp128, fp128* %b, align 16, !dbg !747
  10689. %4 = call i32 @__getf2(fp128 %2, fp128 %3), !dbg !748
  10690. ret i32 %4, !dbg !749
  10691. }
  10692.  
  10693. ; Function Attrs: nobuiltin nounwind
  10694. define weak_odr i64 @__fixunsdfdi(double) #0 !dbg !750 {
  10695. Entry:
  10696. %a = alloca double, align 8
  10697. store double %0, double* %a, align 8
  10698. call void @llvm.dbg.declare(metadata double* %a, metadata !755, metadata !277), !dbg !756
  10699. %1 = load double, double* %a, align 8, !dbg !757
  10700. %2 = call fastcc i64 @fixuint(double %1), !dbg !760
  10701. ret i64 %2, !dbg !761
  10702. }
  10703.  
  10704. ; Function Attrs: nobuiltin nounwind
  10705. define internal fastcc i64 @fixuint(double) unnamed_addr #0 !dbg !762 {
  10706. Entry:
  10707. %a = alloca double, align 8
  10708. %signBit = alloca i64, align 8
  10709. %implicitBit = alloca i64, align 8
  10710. %significandMask = alloca i64, align 8
  10711. %aRep = alloca i64, align 8
  10712. %absMask = alloca i64, align 8
  10713. %aAbs = alloca i64, align 8
  10714. %sign = alloca i32, align 4
  10715. %exponent = alloca i32, align 4
  10716. %significand = alloca i64, align 8
  10717. store double %0, double* %a, align 8
  10718. call void @llvm.dbg.declare(metadata double* %a, metadata !764, metadata !277), !dbg !794
  10719. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !795
  10720. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !768, metadata !277), !dbg !795
  10721. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !796
  10722. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !776, metadata !277), !dbg !796
  10723. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !797
  10724. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !780, metadata !277), !dbg !797
  10725. %1 = load double, double* %a, align 8, !dbg !798
  10726. %2 = bitcast double %1 to i64, !dbg !799
  10727. store i64 %2, i64* %aRep, align 8, !dbg !800
  10728. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !782, metadata !277), !dbg !800
  10729. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !801
  10730. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !784, metadata !277), !dbg !801
  10731. %3 = load i64, i64* %aRep, align 8, !dbg !802
  10732. %4 = and i64 %3, 9223372036854775807, !dbg !803
  10733. store i64 %4, i64* %aAbs, align 8, !dbg !804
  10734. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !786, metadata !277), !dbg !804
  10735. %5 = load i64, i64* %aRep, align 8, !dbg !805
  10736. %6 = and i64 %5, -9223372036854775808, !dbg !806
  10737. %7 = icmp ne i64 %6, 0, !dbg !807
  10738. br i1 %7, label %Then, label %Else, !dbg !807
  10739.  
  10740. Then: ; preds = %Entry
  10741. br label %EndIf, !dbg !808
  10742.  
  10743. Else: ; preds = %Entry
  10744. br label %EndIf, !dbg !808
  10745.  
  10746. EndIf: ; preds = %Else, %Then
  10747. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !808
  10748. store i32 %8, i32* %sign, align 4, !dbg !809
  10749. call void @llvm.dbg.declare(metadata i32* %sign, metadata !788, metadata !277), !dbg !809
  10750. %9 = load i64, i64* %aAbs, align 8, !dbg !810
  10751. %10 = lshr i64 %9, 52, !dbg !811
  10752. %11 = trunc i64 %10 to i32, !dbg !812
  10753. %12 = sub nsw i32 %11, 1023, !dbg !813
  10754. store i32 %12, i32* %exponent, align 4, !dbg !814
  10755. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !790, metadata !277), !dbg !814
  10756. %13 = load i64, i64* %aAbs, align 8, !dbg !815
  10757. %14 = and i64 %13, 4503599627370495, !dbg !816
  10758. %15 = or i64 %14, 4503599627370496, !dbg !817
  10759. store i64 %15, i64* %significand, align 8, !dbg !818
  10760. call void @llvm.dbg.declare(metadata i64* %significand, metadata !792, metadata !277), !dbg !818
  10761. %16 = load i32, i32* %sign, align 4, !dbg !819
  10762. %17 = icmp eq i32 %16, -1, !dbg !821
  10763. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !822
  10764.  
  10765. BoolOrFalse: ; preds = %EndIf
  10766. %18 = load i32, i32* %exponent, align 4, !dbg !823
  10767. %19 = icmp slt i32 %18, 0, !dbg !824
  10768. br label %BoolOrTrue, !dbg !822
  10769.  
  10770. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  10771. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !822
  10772. br i1 %20, label %Then1, label %Else2, !dbg !822
  10773.  
  10774. Then1: ; preds = %BoolOrTrue
  10775. ret i64 0, !dbg !825
  10776.  
  10777. Else2: ; preds = %BoolOrTrue
  10778. br label %EndIf3, !dbg !826
  10779.  
  10780. EndIf3: ; preds = %Else2
  10781. %21 = load i32, i32* %exponent, align 4, !dbg !827
  10782. %22 = icmp uge i32 %21, 64, !dbg !828
  10783. br i1 %22, label %Then4, label %Else5, !dbg !828
  10784.  
  10785. Then4: ; preds = %EndIf3
  10786. ret i64 -1, !dbg !829
  10787.  
  10788. Else5: ; preds = %EndIf3
  10789. %23 = load i32, i32* %exponent, align 4, !dbg !830
  10790. %24 = icmp slt i32 %23, 52, !dbg !831
  10791. br i1 %24, label %Then6, label %Else7, !dbg !831
  10792.  
  10793. Then6: ; preds = %Else5
  10794. %25 = load i64, i64* %significand, align 8, !dbg !832
  10795. %26 = load i32, i32* %exponent, align 4, !dbg !834
  10796. %27 = sub nsw i32 52, %26, !dbg !835
  10797. %28 = trunc i32 %27 to i6, !dbg !836
  10798. %29 = zext i6 %28 to i64, !dbg !837
  10799. %30 = lshr i64 %25, %29, !dbg !837
  10800. ret i64 %30, !dbg !838
  10801.  
  10802. Else7: ; preds = %Else5
  10803. %31 = load i64, i64* %significand, align 8, !dbg !839
  10804. %32 = load i32, i32* %exponent, align 4, !dbg !841
  10805. %33 = sub nsw i32 %32, 52, !dbg !842
  10806. %34 = trunc i32 %33 to i6, !dbg !843
  10807. %35 = zext i6 %34 to i64, !dbg !844
  10808. %36 = shl i64 %31, %35, !dbg !844
  10809. ret i64 %36, !dbg !845
  10810. }
  10811.  
  10812. ; Function Attrs: nobuiltin nounwind
  10813. define weak_odr i32 @__fixunsdfsi(double) #0 !dbg !846 {
  10814. Entry:
  10815. %a = alloca double, align 8
  10816. store double %0, double* %a, align 8
  10817. call void @llvm.dbg.declare(metadata double* %a, metadata !850, metadata !277), !dbg !851
  10818. %1 = load double, double* %a, align 8, !dbg !852
  10819. %2 = call fastcc i32 @fixuint.3(double %1), !dbg !855
  10820. ret i32 %2, !dbg !856
  10821. }
  10822.  
  10823. ; Function Attrs: nobuiltin nounwind
  10824. define internal fastcc i32 @fixuint.3(double) unnamed_addr #0 !dbg !857 {
  10825. Entry:
  10826. %a = alloca double, align 8
  10827. %signBit = alloca i64, align 8
  10828. %implicitBit = alloca i64, align 8
  10829. %significandMask = alloca i64, align 8
  10830. %aRep = alloca i64, align 8
  10831. %absMask = alloca i64, align 8
  10832. %aAbs = alloca i64, align 8
  10833. %sign = alloca i32, align 4
  10834. %exponent = alloca i32, align 4
  10835. %significand = alloca i64, align 8
  10836. store double %0, double* %a, align 8
  10837. call void @llvm.dbg.declare(metadata double* %a, metadata !859, metadata !277), !dbg !889
  10838. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !890
  10839. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !863, metadata !277), !dbg !890
  10840. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !891
  10841. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !871, metadata !277), !dbg !891
  10842. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !892
  10843. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !875, metadata !277), !dbg !892
  10844. %1 = load double, double* %a, align 8, !dbg !893
  10845. %2 = bitcast double %1 to i64, !dbg !894
  10846. store i64 %2, i64* %aRep, align 8, !dbg !895
  10847. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !877, metadata !277), !dbg !895
  10848. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !896
  10849. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !879, metadata !277), !dbg !896
  10850. %3 = load i64, i64* %aRep, align 8, !dbg !897
  10851. %4 = and i64 %3, 9223372036854775807, !dbg !898
  10852. store i64 %4, i64* %aAbs, align 8, !dbg !899
  10853. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !881, metadata !277), !dbg !899
  10854. %5 = load i64, i64* %aRep, align 8, !dbg !900
  10855. %6 = and i64 %5, -9223372036854775808, !dbg !901
  10856. %7 = icmp ne i64 %6, 0, !dbg !902
  10857. br i1 %7, label %Then, label %Else, !dbg !902
  10858.  
  10859. Then: ; preds = %Entry
  10860. br label %EndIf, !dbg !903
  10861.  
  10862. Else: ; preds = %Entry
  10863. br label %EndIf, !dbg !903
  10864.  
  10865. EndIf: ; preds = %Else, %Then
  10866. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !903
  10867. store i32 %8, i32* %sign, align 4, !dbg !904
  10868. call void @llvm.dbg.declare(metadata i32* %sign, metadata !883, metadata !277), !dbg !904
  10869. %9 = load i64, i64* %aAbs, align 8, !dbg !905
  10870. %10 = lshr i64 %9, 52, !dbg !906
  10871. %11 = trunc i64 %10 to i32, !dbg !907
  10872. %12 = sub nsw i32 %11, 1023, !dbg !908
  10873. store i32 %12, i32* %exponent, align 4, !dbg !909
  10874. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !885, metadata !277), !dbg !909
  10875. %13 = load i64, i64* %aAbs, align 8, !dbg !910
  10876. %14 = and i64 %13, 4503599627370495, !dbg !911
  10877. %15 = or i64 %14, 4503599627370496, !dbg !912
  10878. store i64 %15, i64* %significand, align 8, !dbg !913
  10879. call void @llvm.dbg.declare(metadata i64* %significand, metadata !887, metadata !277), !dbg !913
  10880. %16 = load i32, i32* %sign, align 4, !dbg !914
  10881. %17 = icmp eq i32 %16, -1, !dbg !916
  10882. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !917
  10883.  
  10884. BoolOrFalse: ; preds = %EndIf
  10885. %18 = load i32, i32* %exponent, align 4, !dbg !918
  10886. %19 = icmp slt i32 %18, 0, !dbg !919
  10887. br label %BoolOrTrue, !dbg !917
  10888.  
  10889. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  10890. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !917
  10891. br i1 %20, label %Then1, label %Else2, !dbg !917
  10892.  
  10893. Then1: ; preds = %BoolOrTrue
  10894. ret i32 0, !dbg !920
  10895.  
  10896. Else2: ; preds = %BoolOrTrue
  10897. br label %EndIf3, !dbg !921
  10898.  
  10899. EndIf3: ; preds = %Else2
  10900. %21 = load i32, i32* %exponent, align 4, !dbg !922
  10901. %22 = icmp uge i32 %21, 32, !dbg !923
  10902. br i1 %22, label %Then4, label %Else5, !dbg !923
  10903.  
  10904. Then4: ; preds = %EndIf3
  10905. ret i32 -1, !dbg !924
  10906.  
  10907. Else5: ; preds = %EndIf3
  10908. %23 = load i32, i32* %exponent, align 4, !dbg !925
  10909. %24 = icmp slt i32 %23, 52, !dbg !926
  10910. br i1 %24, label %Then6, label %Else7, !dbg !926
  10911.  
  10912. Then6: ; preds = %Else5
  10913. %25 = load i64, i64* %significand, align 8, !dbg !927
  10914. %26 = load i32, i32* %exponent, align 4, !dbg !929
  10915. %27 = sub nsw i32 52, %26, !dbg !930
  10916. %28 = trunc i32 %27 to i6, !dbg !931
  10917. %29 = zext i6 %28 to i64, !dbg !932
  10918. %30 = lshr i64 %25, %29, !dbg !932
  10919. %31 = trunc i64 %30 to i32, !dbg !933
  10920. ret i32 %31, !dbg !934
  10921.  
  10922. Else7: ; preds = %Else5
  10923. %32 = load i64, i64* %significand, align 8, !dbg !935
  10924. %33 = trunc i64 %32 to i32, !dbg !937
  10925. %34 = load i32, i32* %exponent, align 4, !dbg !938
  10926. %35 = sub nsw i32 %34, 52, !dbg !939
  10927. %36 = trunc i32 %35 to i5, !dbg !940
  10928. %37 = zext i5 %36 to i32, !dbg !941
  10929. %38 = shl i32 %33, %37, !dbg !941
  10930. ret i32 %38, !dbg !942
  10931. }
  10932.  
  10933. ; Function Attrs: nobuiltin nounwind
  10934. define weak_odr i128 @__fixunsdfti(double) #0 !dbg !943 {
  10935. Entry:
  10936. %a = alloca double, align 8
  10937. store double %0, double* %a, align 8
  10938. call void @llvm.dbg.declare(metadata double* %a, metadata !947, metadata !277), !dbg !948
  10939. %1 = load double, double* %a, align 8, !dbg !949
  10940. %2 = call fastcc i128 @fixuint.4(double %1), !dbg !952
  10941. ret i128 %2, !dbg !953
  10942. }
  10943.  
  10944. ; Function Attrs: nobuiltin nounwind
  10945. define internal fastcc i128 @fixuint.4(double) unnamed_addr #0 !dbg !954 {
  10946. Entry:
  10947. %a = alloca double, align 8
  10948. %signBit = alloca i64, align 8
  10949. %implicitBit = alloca i64, align 8
  10950. %significandMask = alloca i64, align 8
  10951. %aRep = alloca i64, align 8
  10952. %absMask = alloca i64, align 8
  10953. %aAbs = alloca i64, align 8
  10954. %sign = alloca i32, align 4
  10955. %exponent = alloca i32, align 4
  10956. %significand = alloca i64, align 8
  10957. store double %0, double* %a, align 8
  10958. call void @llvm.dbg.declare(metadata double* %a, metadata !956, metadata !277), !dbg !986
  10959. store i64 -9223372036854775808, i64* %signBit, align 8, !dbg !987
  10960. call void @llvm.dbg.declare(metadata i64* %signBit, metadata !960, metadata !277), !dbg !987
  10961. store i64 4503599627370496, i64* %implicitBit, align 8, !dbg !988
  10962. call void @llvm.dbg.declare(metadata i64* %implicitBit, metadata !968, metadata !277), !dbg !988
  10963. store i64 4503599627370495, i64* %significandMask, align 8, !dbg !989
  10964. call void @llvm.dbg.declare(metadata i64* %significandMask, metadata !972, metadata !277), !dbg !989
  10965. %1 = load double, double* %a, align 8, !dbg !990
  10966. %2 = bitcast double %1 to i64, !dbg !991
  10967. store i64 %2, i64* %aRep, align 8, !dbg !992
  10968. call void @llvm.dbg.declare(metadata i64* %aRep, metadata !974, metadata !277), !dbg !992
  10969. store i64 9223372036854775807, i64* %absMask, align 8, !dbg !993
  10970. call void @llvm.dbg.declare(metadata i64* %absMask, metadata !976, metadata !277), !dbg !993
  10971. %3 = load i64, i64* %aRep, align 8, !dbg !994
  10972. %4 = and i64 %3, 9223372036854775807, !dbg !995
  10973. store i64 %4, i64* %aAbs, align 8, !dbg !996
  10974. call void @llvm.dbg.declare(metadata i64* %aAbs, metadata !978, metadata !277), !dbg !996
  10975. %5 = load i64, i64* %aRep, align 8, !dbg !997
  10976. %6 = and i64 %5, -9223372036854775808, !dbg !998
  10977. %7 = icmp ne i64 %6, 0, !dbg !999
  10978. br i1 %7, label %Then, label %Else, !dbg !999
  10979.  
  10980. Then: ; preds = %Entry
  10981. br label %EndIf, !dbg !1000
  10982.  
  10983. Else: ; preds = %Entry
  10984. br label %EndIf, !dbg !1000
  10985.  
  10986. EndIf: ; preds = %Else, %Then
  10987. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1000
  10988. store i32 %8, i32* %sign, align 4, !dbg !1001
  10989. call void @llvm.dbg.declare(metadata i32* %sign, metadata !980, metadata !277), !dbg !1001
  10990. %9 = load i64, i64* %aAbs, align 8, !dbg !1002
  10991. %10 = lshr i64 %9, 52, !dbg !1003
  10992. %11 = trunc i64 %10 to i32, !dbg !1004
  10993. %12 = sub nsw i32 %11, 1023, !dbg !1005
  10994. store i32 %12, i32* %exponent, align 4, !dbg !1006
  10995. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !982, metadata !277), !dbg !1006
  10996. %13 = load i64, i64* %aAbs, align 8, !dbg !1007
  10997. %14 = and i64 %13, 4503599627370495, !dbg !1008
  10998. %15 = or i64 %14, 4503599627370496, !dbg !1009
  10999. store i64 %15, i64* %significand, align 8, !dbg !1010
  11000. call void @llvm.dbg.declare(metadata i64* %significand, metadata !984, metadata !277), !dbg !1010
  11001. %16 = load i32, i32* %sign, align 4, !dbg !1011
  11002. %17 = icmp eq i32 %16, -1, !dbg !1013
  11003. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1014
  11004.  
  11005. BoolOrFalse: ; preds = %EndIf
  11006. %18 = load i32, i32* %exponent, align 4, !dbg !1015
  11007. %19 = icmp slt i32 %18, 0, !dbg !1016
  11008. br label %BoolOrTrue, !dbg !1014
  11009.  
  11010. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11011. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1014
  11012. br i1 %20, label %Then1, label %Else2, !dbg !1014
  11013.  
  11014. Then1: ; preds = %BoolOrTrue
  11015. ret i128 0, !dbg !1017
  11016.  
  11017. Else2: ; preds = %BoolOrTrue
  11018. br label %EndIf3, !dbg !1018
  11019.  
  11020. EndIf3: ; preds = %Else2
  11021. %21 = load i32, i32* %exponent, align 4, !dbg !1019
  11022. %22 = icmp uge i32 %21, 128, !dbg !1020
  11023. br i1 %22, label %Then4, label %Else5, !dbg !1020
  11024.  
  11025. Then4: ; preds = %EndIf3
  11026. ret i128 -1, !dbg !1021
  11027.  
  11028. Else5: ; preds = %EndIf3
  11029. %23 = load i32, i32* %exponent, align 4, !dbg !1022
  11030. %24 = icmp slt i32 %23, 52, !dbg !1023
  11031. br i1 %24, label %Then6, label %Else7, !dbg !1023
  11032.  
  11033. Then6: ; preds = %Else5
  11034. %25 = load i64, i64* %significand, align 8, !dbg !1024
  11035. %26 = load i32, i32* %exponent, align 4, !dbg !1026
  11036. %27 = sub nsw i32 52, %26, !dbg !1027
  11037. %28 = trunc i32 %27 to i6, !dbg !1028
  11038. %29 = zext i6 %28 to i64, !dbg !1029
  11039. %30 = lshr i64 %25, %29, !dbg !1029
  11040. %31 = zext i64 %30 to i128, !dbg !1030
  11041. ret i128 %31, !dbg !1031
  11042.  
  11043. Else7: ; preds = %Else5
  11044. %32 = load i64, i64* %significand, align 8, !dbg !1032
  11045. %33 = zext i64 %32 to i128, !dbg !1034
  11046. %34 = load i32, i32* %exponent, align 4, !dbg !1035
  11047. %35 = sub nsw i32 %34, 52, !dbg !1036
  11048. %36 = trunc i32 %35 to i7, !dbg !1037
  11049. %37 = zext i7 %36 to i128, !dbg !1038
  11050. %38 = shl i128 %33, %37, !dbg !1038
  11051. ret i128 %38, !dbg !1039
  11052. }
  11053.  
  11054. ; Function Attrs: nobuiltin nounwind
  11055. define weak_odr i64 @__fixunssfdi(float) #0 !dbg !1040 {
  11056. Entry:
  11057. %a = alloca float, align 4
  11058. store float %0, float* %a, align 4
  11059. call void @llvm.dbg.declare(metadata float* %a, metadata !1045, metadata !277), !dbg !1046
  11060. %1 = load float, float* %a, align 4, !dbg !1047
  11061. %2 = call fastcc i64 @fixuint.5(float %1), !dbg !1050
  11062. ret i64 %2, !dbg !1051
  11063. }
  11064.  
  11065. ; Function Attrs: nobuiltin nounwind
  11066. define internal fastcc i64 @fixuint.5(float) unnamed_addr #0 !dbg !1052 {
  11067. Entry:
  11068. %a = alloca float, align 4
  11069. %signBit = alloca i32, align 4
  11070. %implicitBit = alloca i32, align 4
  11071. %significandMask = alloca i32, align 4
  11072. %aRep = alloca i32, align 4
  11073. %absMask = alloca i32, align 4
  11074. %aAbs = alloca i32, align 4
  11075. %sign = alloca i32, align 4
  11076. %exponent = alloca i32, align 4
  11077. %significand = alloca i32, align 4
  11078. store float %0, float* %a, align 4
  11079. call void @llvm.dbg.declare(metadata float* %a, metadata !1054, metadata !277), !dbg !1084
  11080. store i32 -2147483648, i32* %signBit, align 4, !dbg !1085
  11081. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1058, metadata !277), !dbg !1085
  11082. store i32 8388608, i32* %implicitBit, align 4, !dbg !1086
  11083. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1066, metadata !277), !dbg !1086
  11084. store i32 8388607, i32* %significandMask, align 4, !dbg !1087
  11085. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1070, metadata !277), !dbg !1087
  11086. %1 = load float, float* %a, align 4, !dbg !1088
  11087. %2 = bitcast float %1 to i32, !dbg !1089
  11088. store i32 %2, i32* %aRep, align 4, !dbg !1090
  11089. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1072, metadata !277), !dbg !1090
  11090. store i32 2147483647, i32* %absMask, align 4, !dbg !1091
  11091. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1074, metadata !277), !dbg !1091
  11092. %3 = load i32, i32* %aRep, align 4, !dbg !1092
  11093. %4 = and i32 %3, 2147483647, !dbg !1093
  11094. store i32 %4, i32* %aAbs, align 4, !dbg !1094
  11095. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1076, metadata !277), !dbg !1094
  11096. %5 = load i32, i32* %aRep, align 4, !dbg !1095
  11097. %6 = and i32 %5, -2147483648, !dbg !1096
  11098. %7 = icmp ne i32 %6, 0, !dbg !1097
  11099. br i1 %7, label %Then, label %Else, !dbg !1097
  11100.  
  11101. Then: ; preds = %Entry
  11102. br label %EndIf, !dbg !1098
  11103.  
  11104. Else: ; preds = %Entry
  11105. br label %EndIf, !dbg !1098
  11106.  
  11107. EndIf: ; preds = %Else, %Then
  11108. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1098
  11109. store i32 %8, i32* %sign, align 4, !dbg !1099
  11110. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1078, metadata !277), !dbg !1099
  11111. %9 = load i32, i32* %aAbs, align 4, !dbg !1100
  11112. %10 = lshr i32 %9, 23, !dbg !1101
  11113. %11 = sub nsw i32 %10, 127, !dbg !1102
  11114. store i32 %11, i32* %exponent, align 4, !dbg !1103
  11115. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1080, metadata !277), !dbg !1103
  11116. %12 = load i32, i32* %aAbs, align 4, !dbg !1104
  11117. %13 = and i32 %12, 8388607, !dbg !1105
  11118. %14 = or i32 %13, 8388608, !dbg !1106
  11119. store i32 %14, i32* %significand, align 4, !dbg !1107
  11120. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1082, metadata !277), !dbg !1107
  11121. %15 = load i32, i32* %sign, align 4, !dbg !1108
  11122. %16 = icmp eq i32 %15, -1, !dbg !1110
  11123. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1111
  11124.  
  11125. BoolOrFalse: ; preds = %EndIf
  11126. %17 = load i32, i32* %exponent, align 4, !dbg !1112
  11127. %18 = icmp slt i32 %17, 0, !dbg !1113
  11128. br label %BoolOrTrue, !dbg !1111
  11129.  
  11130. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11131. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1111
  11132. br i1 %19, label %Then1, label %Else2, !dbg !1111
  11133.  
  11134. Then1: ; preds = %BoolOrTrue
  11135. ret i64 0, !dbg !1114
  11136.  
  11137. Else2: ; preds = %BoolOrTrue
  11138. br label %EndIf3, !dbg !1115
  11139.  
  11140. EndIf3: ; preds = %Else2
  11141. %20 = load i32, i32* %exponent, align 4, !dbg !1116
  11142. %21 = icmp uge i32 %20, 64, !dbg !1117
  11143. br i1 %21, label %Then4, label %Else5, !dbg !1117
  11144.  
  11145. Then4: ; preds = %EndIf3
  11146. ret i64 -1, !dbg !1118
  11147.  
  11148. Else5: ; preds = %EndIf3
  11149. %22 = load i32, i32* %exponent, align 4, !dbg !1119
  11150. %23 = icmp slt i32 %22, 23, !dbg !1120
  11151. br i1 %23, label %Then6, label %Else7, !dbg !1120
  11152.  
  11153. Then6: ; preds = %Else5
  11154. %24 = load i32, i32* %significand, align 4, !dbg !1121
  11155. %25 = load i32, i32* %exponent, align 4, !dbg !1123
  11156. %26 = sub nsw i32 23, %25, !dbg !1124
  11157. %27 = trunc i32 %26 to i5, !dbg !1125
  11158. %28 = zext i5 %27 to i32, !dbg !1126
  11159. %29 = lshr i32 %24, %28, !dbg !1126
  11160. %30 = zext i32 %29 to i64, !dbg !1127
  11161. ret i64 %30, !dbg !1128
  11162.  
  11163. Else7: ; preds = %Else5
  11164. %31 = load i32, i32* %significand, align 4, !dbg !1129
  11165. %32 = zext i32 %31 to i64, !dbg !1131
  11166. %33 = load i32, i32* %exponent, align 4, !dbg !1132
  11167. %34 = sub nsw i32 %33, 23, !dbg !1133
  11168. %35 = trunc i32 %34 to i6, !dbg !1134
  11169. %36 = zext i6 %35 to i64, !dbg !1135
  11170. %37 = shl i64 %32, %36, !dbg !1135
  11171. ret i64 %37, !dbg !1136
  11172. }
  11173.  
  11174. ; Function Attrs: nobuiltin nounwind
  11175. define weak_odr i32 @__fixunssfsi(float) #0 !dbg !1137 {
  11176. Entry:
  11177. %a = alloca float, align 4
  11178. store float %0, float* %a, align 4
  11179. call void @llvm.dbg.declare(metadata float* %a, metadata !1141, metadata !277), !dbg !1142
  11180. %1 = load float, float* %a, align 4, !dbg !1143
  11181. %2 = call fastcc i32 @fixuint.6(float %1), !dbg !1146
  11182. ret i32 %2, !dbg !1147
  11183. }
  11184.  
  11185. ; Function Attrs: nobuiltin nounwind
  11186. define internal fastcc i32 @fixuint.6(float) unnamed_addr #0 !dbg !1148 {
  11187. Entry:
  11188. %a = alloca float, align 4
  11189. %signBit = alloca i32, align 4
  11190. %implicitBit = alloca i32, align 4
  11191. %significandMask = alloca i32, align 4
  11192. %aRep = alloca i32, align 4
  11193. %absMask = alloca i32, align 4
  11194. %aAbs = alloca i32, align 4
  11195. %sign = alloca i32, align 4
  11196. %exponent = alloca i32, align 4
  11197. %significand = alloca i32, align 4
  11198. store float %0, float* %a, align 4
  11199. call void @llvm.dbg.declare(metadata float* %a, metadata !1150, metadata !277), !dbg !1180
  11200. store i32 -2147483648, i32* %signBit, align 4, !dbg !1181
  11201. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1154, metadata !277), !dbg !1181
  11202. store i32 8388608, i32* %implicitBit, align 4, !dbg !1182
  11203. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1162, metadata !277), !dbg !1182
  11204. store i32 8388607, i32* %significandMask, align 4, !dbg !1183
  11205. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1166, metadata !277), !dbg !1183
  11206. %1 = load float, float* %a, align 4, !dbg !1184
  11207. %2 = bitcast float %1 to i32, !dbg !1185
  11208. store i32 %2, i32* %aRep, align 4, !dbg !1186
  11209. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1168, metadata !277), !dbg !1186
  11210. store i32 2147483647, i32* %absMask, align 4, !dbg !1187
  11211. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1170, metadata !277), !dbg !1187
  11212. %3 = load i32, i32* %aRep, align 4, !dbg !1188
  11213. %4 = and i32 %3, 2147483647, !dbg !1189
  11214. store i32 %4, i32* %aAbs, align 4, !dbg !1190
  11215. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1172, metadata !277), !dbg !1190
  11216. %5 = load i32, i32* %aRep, align 4, !dbg !1191
  11217. %6 = and i32 %5, -2147483648, !dbg !1192
  11218. %7 = icmp ne i32 %6, 0, !dbg !1193
  11219. br i1 %7, label %Then, label %Else, !dbg !1193
  11220.  
  11221. Then: ; preds = %Entry
  11222. br label %EndIf, !dbg !1194
  11223.  
  11224. Else: ; preds = %Entry
  11225. br label %EndIf, !dbg !1194
  11226.  
  11227. EndIf: ; preds = %Else, %Then
  11228. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1194
  11229. store i32 %8, i32* %sign, align 4, !dbg !1195
  11230. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1174, metadata !277), !dbg !1195
  11231. %9 = load i32, i32* %aAbs, align 4, !dbg !1196
  11232. %10 = lshr i32 %9, 23, !dbg !1197
  11233. %11 = sub nsw i32 %10, 127, !dbg !1198
  11234. store i32 %11, i32* %exponent, align 4, !dbg !1199
  11235. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1176, metadata !277), !dbg !1199
  11236. %12 = load i32, i32* %aAbs, align 4, !dbg !1200
  11237. %13 = and i32 %12, 8388607, !dbg !1201
  11238. %14 = or i32 %13, 8388608, !dbg !1202
  11239. store i32 %14, i32* %significand, align 4, !dbg !1203
  11240. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1178, metadata !277), !dbg !1203
  11241. %15 = load i32, i32* %sign, align 4, !dbg !1204
  11242. %16 = icmp eq i32 %15, -1, !dbg !1206
  11243. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1207
  11244.  
  11245. BoolOrFalse: ; preds = %EndIf
  11246. %17 = load i32, i32* %exponent, align 4, !dbg !1208
  11247. %18 = icmp slt i32 %17, 0, !dbg !1209
  11248. br label %BoolOrTrue, !dbg !1207
  11249.  
  11250. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11251. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1207
  11252. br i1 %19, label %Then1, label %Else2, !dbg !1207
  11253.  
  11254. Then1: ; preds = %BoolOrTrue
  11255. ret i32 0, !dbg !1210
  11256.  
  11257. Else2: ; preds = %BoolOrTrue
  11258. br label %EndIf3, !dbg !1211
  11259.  
  11260. EndIf3: ; preds = %Else2
  11261. %20 = load i32, i32* %exponent, align 4, !dbg !1212
  11262. %21 = icmp uge i32 %20, 32, !dbg !1213
  11263. br i1 %21, label %Then4, label %Else5, !dbg !1213
  11264.  
  11265. Then4: ; preds = %EndIf3
  11266. ret i32 -1, !dbg !1214
  11267.  
  11268. Else5: ; preds = %EndIf3
  11269. %22 = load i32, i32* %exponent, align 4, !dbg !1215
  11270. %23 = icmp slt i32 %22, 23, !dbg !1216
  11271. br i1 %23, label %Then6, label %Else7, !dbg !1216
  11272.  
  11273. Then6: ; preds = %Else5
  11274. %24 = load i32, i32* %significand, align 4, !dbg !1217
  11275. %25 = load i32, i32* %exponent, align 4, !dbg !1219
  11276. %26 = sub nsw i32 23, %25, !dbg !1220
  11277. %27 = trunc i32 %26 to i5, !dbg !1221
  11278. %28 = zext i5 %27 to i32, !dbg !1222
  11279. %29 = lshr i32 %24, %28, !dbg !1222
  11280. ret i32 %29, !dbg !1223
  11281.  
  11282. Else7: ; preds = %Else5
  11283. %30 = load i32, i32* %significand, align 4, !dbg !1224
  11284. %31 = load i32, i32* %exponent, align 4, !dbg !1226
  11285. %32 = sub nsw i32 %31, 23, !dbg !1227
  11286. %33 = trunc i32 %32 to i5, !dbg !1228
  11287. %34 = zext i5 %33 to i32, !dbg !1229
  11288. %35 = shl i32 %30, %34, !dbg !1229
  11289. ret i32 %35, !dbg !1230
  11290. }
  11291.  
  11292. ; Function Attrs: nobuiltin nounwind
  11293. define weak_odr i128 @__fixunssfti(float) #0 !dbg !1231 {
  11294. Entry:
  11295. %a = alloca float, align 4
  11296. store float %0, float* %a, align 4
  11297. call void @llvm.dbg.declare(metadata float* %a, metadata !1235, metadata !277), !dbg !1236
  11298. %1 = load float, float* %a, align 4, !dbg !1237
  11299. %2 = call fastcc i128 @fixuint.7(float %1), !dbg !1240
  11300. ret i128 %2, !dbg !1241
  11301. }
  11302.  
  11303. ; Function Attrs: nobuiltin nounwind
  11304. define internal fastcc i128 @fixuint.7(float) unnamed_addr #0 !dbg !1242 {
  11305. Entry:
  11306. %a = alloca float, align 4
  11307. %signBit = alloca i32, align 4
  11308. %implicitBit = alloca i32, align 4
  11309. %significandMask = alloca i32, align 4
  11310. %aRep = alloca i32, align 4
  11311. %absMask = alloca i32, align 4
  11312. %aAbs = alloca i32, align 4
  11313. %sign = alloca i32, align 4
  11314. %exponent = alloca i32, align 4
  11315. %significand = alloca i32, align 4
  11316. store float %0, float* %a, align 4
  11317. call void @llvm.dbg.declare(metadata float* %a, metadata !1244, metadata !277), !dbg !1274
  11318. store i32 -2147483648, i32* %signBit, align 4, !dbg !1275
  11319. call void @llvm.dbg.declare(metadata i32* %signBit, metadata !1248, metadata !277), !dbg !1275
  11320. store i32 8388608, i32* %implicitBit, align 4, !dbg !1276
  11321. call void @llvm.dbg.declare(metadata i32* %implicitBit, metadata !1256, metadata !277), !dbg !1276
  11322. store i32 8388607, i32* %significandMask, align 4, !dbg !1277
  11323. call void @llvm.dbg.declare(metadata i32* %significandMask, metadata !1260, metadata !277), !dbg !1277
  11324. %1 = load float, float* %a, align 4, !dbg !1278
  11325. %2 = bitcast float %1 to i32, !dbg !1279
  11326. store i32 %2, i32* %aRep, align 4, !dbg !1280
  11327. call void @llvm.dbg.declare(metadata i32* %aRep, metadata !1262, metadata !277), !dbg !1280
  11328. store i32 2147483647, i32* %absMask, align 4, !dbg !1281
  11329. call void @llvm.dbg.declare(metadata i32* %absMask, metadata !1264, metadata !277), !dbg !1281
  11330. %3 = load i32, i32* %aRep, align 4, !dbg !1282
  11331. %4 = and i32 %3, 2147483647, !dbg !1283
  11332. store i32 %4, i32* %aAbs, align 4, !dbg !1284
  11333. call void @llvm.dbg.declare(metadata i32* %aAbs, metadata !1266, metadata !277), !dbg !1284
  11334. %5 = load i32, i32* %aRep, align 4, !dbg !1285
  11335. %6 = and i32 %5, -2147483648, !dbg !1286
  11336. %7 = icmp ne i32 %6, 0, !dbg !1287
  11337. br i1 %7, label %Then, label %Else, !dbg !1287
  11338.  
  11339. Then: ; preds = %Entry
  11340. br label %EndIf, !dbg !1288
  11341.  
  11342. Else: ; preds = %Entry
  11343. br label %EndIf, !dbg !1288
  11344.  
  11345. EndIf: ; preds = %Else, %Then
  11346. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1288
  11347. store i32 %8, i32* %sign, align 4, !dbg !1289
  11348. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1268, metadata !277), !dbg !1289
  11349. %9 = load i32, i32* %aAbs, align 4, !dbg !1290
  11350. %10 = lshr i32 %9, 23, !dbg !1291
  11351. %11 = sub nsw i32 %10, 127, !dbg !1292
  11352. store i32 %11, i32* %exponent, align 4, !dbg !1293
  11353. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1270, metadata !277), !dbg !1293
  11354. %12 = load i32, i32* %aAbs, align 4, !dbg !1294
  11355. %13 = and i32 %12, 8388607, !dbg !1295
  11356. %14 = or i32 %13, 8388608, !dbg !1296
  11357. store i32 %14, i32* %significand, align 4, !dbg !1297
  11358. call void @llvm.dbg.declare(metadata i32* %significand, metadata !1272, metadata !277), !dbg !1297
  11359. %15 = load i32, i32* %sign, align 4, !dbg !1298
  11360. %16 = icmp eq i32 %15, -1, !dbg !1300
  11361. br i1 %16, label %BoolOrTrue, label %BoolOrFalse, !dbg !1301
  11362.  
  11363. BoolOrFalse: ; preds = %EndIf
  11364. %17 = load i32, i32* %exponent, align 4, !dbg !1302
  11365. %18 = icmp slt i32 %17, 0, !dbg !1303
  11366. br label %BoolOrTrue, !dbg !1301
  11367.  
  11368. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11369. %19 = phi i1 [ %16, %EndIf ], [ %18, %BoolOrFalse ], !dbg !1301
  11370. br i1 %19, label %Then1, label %Else2, !dbg !1301
  11371.  
  11372. Then1: ; preds = %BoolOrTrue
  11373. ret i128 0, !dbg !1304
  11374.  
  11375. Else2: ; preds = %BoolOrTrue
  11376. br label %EndIf3, !dbg !1305
  11377.  
  11378. EndIf3: ; preds = %Else2
  11379. %20 = load i32, i32* %exponent, align 4, !dbg !1306
  11380. %21 = icmp uge i32 %20, 128, !dbg !1307
  11381. br i1 %21, label %Then4, label %Else5, !dbg !1307
  11382.  
  11383. Then4: ; preds = %EndIf3
  11384. ret i128 -1, !dbg !1308
  11385.  
  11386. Else5: ; preds = %EndIf3
  11387. %22 = load i32, i32* %exponent, align 4, !dbg !1309
  11388. %23 = icmp slt i32 %22, 23, !dbg !1310
  11389. br i1 %23, label %Then6, label %Else7, !dbg !1310
  11390.  
  11391. Then6: ; preds = %Else5
  11392. %24 = load i32, i32* %significand, align 4, !dbg !1311
  11393. %25 = load i32, i32* %exponent, align 4, !dbg !1313
  11394. %26 = sub nsw i32 23, %25, !dbg !1314
  11395. %27 = trunc i32 %26 to i5, !dbg !1315
  11396. %28 = zext i5 %27 to i32, !dbg !1316
  11397. %29 = lshr i32 %24, %28, !dbg !1316
  11398. %30 = zext i32 %29 to i128, !dbg !1317
  11399. ret i128 %30, !dbg !1318
  11400.  
  11401. Else7: ; preds = %Else5
  11402. %31 = load i32, i32* %significand, align 4, !dbg !1319
  11403. %32 = zext i32 %31 to i128, !dbg !1321
  11404. %33 = load i32, i32* %exponent, align 4, !dbg !1322
  11405. %34 = sub nsw i32 %33, 23, !dbg !1323
  11406. %35 = trunc i32 %34 to i7, !dbg !1324
  11407. %36 = zext i7 %35 to i128, !dbg !1325
  11408. %37 = shl i128 %32, %36, !dbg !1325
  11409. ret i128 %37, !dbg !1326
  11410. }
  11411.  
  11412. ; Function Attrs: nobuiltin nounwind
  11413. define weak_odr i64 @__fixunstfdi(fp128) #0 !dbg !1327 {
  11414. Entry:
  11415. %a = alloca fp128, align 16
  11416. store fp128 %0, fp128* %a, align 16
  11417. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1331, metadata !277), !dbg !1332
  11418. %1 = load fp128, fp128* %a, align 16, !dbg !1333
  11419. %2 = call fastcc i64 @fixuint.8(fp128 %1), !dbg !1336
  11420. ret i64 %2, !dbg !1337
  11421. }
  11422.  
  11423. ; Function Attrs: nobuiltin nounwind
  11424. define internal fastcc i64 @fixuint.8(fp128) unnamed_addr #0 !dbg !1338 {
  11425. Entry:
  11426. %a = alloca fp128, align 16
  11427. %signBit = alloca i128, align 8
  11428. %implicitBit = alloca i128, align 8
  11429. %significandMask = alloca i128, align 8
  11430. %aRep = alloca i128, align 8
  11431. %absMask = alloca i128, align 8
  11432. %aAbs = alloca i128, align 8
  11433. %sign = alloca i32, align 4
  11434. %exponent = alloca i32, align 4
  11435. %significand = alloca i128, align 8
  11436. store fp128 %0, fp128* %a, align 16
  11437. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1340, metadata !277), !dbg !1370
  11438. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1371
  11439. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1344, metadata !277), !dbg !1371
  11440. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1372
  11441. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1352, metadata !277), !dbg !1372
  11442. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1373
  11443. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1356, metadata !277), !dbg !1373
  11444. %1 = load fp128, fp128* %a, align 16, !dbg !1374
  11445. %2 = bitcast fp128 %1 to i128, !dbg !1375
  11446. store i128 %2, i128* %aRep, align 8, !dbg !1376
  11447. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1358, metadata !277), !dbg !1376
  11448. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1377
  11449. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1360, metadata !277), !dbg !1377
  11450. %3 = load i128, i128* %aRep, align 8, !dbg !1378
  11451. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1379
  11452. store i128 %4, i128* %aAbs, align 8, !dbg !1380
  11453. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1362, metadata !277), !dbg !1380
  11454. %5 = load i128, i128* %aRep, align 8, !dbg !1381
  11455. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1382
  11456. %7 = icmp ne i128 %6, 0, !dbg !1383
  11457. br i1 %7, label %Then, label %Else, !dbg !1383
  11458.  
  11459. Then: ; preds = %Entry
  11460. br label %EndIf, !dbg !1384
  11461.  
  11462. Else: ; preds = %Entry
  11463. br label %EndIf, !dbg !1384
  11464.  
  11465. EndIf: ; preds = %Else, %Then
  11466. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1384
  11467. store i32 %8, i32* %sign, align 4, !dbg !1385
  11468. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1364, metadata !277), !dbg !1385
  11469. %9 = load i128, i128* %aAbs, align 8, !dbg !1386
  11470. %10 = lshr i128 %9, 112, !dbg !1387
  11471. %11 = trunc i128 %10 to i32, !dbg !1388
  11472. %12 = sub nsw i32 %11, 16383, !dbg !1389
  11473. store i32 %12, i32* %exponent, align 4, !dbg !1390
  11474. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1366, metadata !277), !dbg !1390
  11475. %13 = load i128, i128* %aAbs, align 8, !dbg !1391
  11476. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1392
  11477. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1393
  11478. store i128 %15, i128* %significand, align 8, !dbg !1394
  11479. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1368, metadata !277), !dbg !1394
  11480. %16 = load i32, i32* %sign, align 4, !dbg !1395
  11481. %17 = icmp eq i32 %16, -1, !dbg !1397
  11482. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1398
  11483.  
  11484. BoolOrFalse: ; preds = %EndIf
  11485. %18 = load i32, i32* %exponent, align 4, !dbg !1399
  11486. %19 = icmp slt i32 %18, 0, !dbg !1400
  11487. br label %BoolOrTrue, !dbg !1398
  11488.  
  11489. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11490. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1398
  11491. br i1 %20, label %Then1, label %Else2, !dbg !1398
  11492.  
  11493. Then1: ; preds = %BoolOrTrue
  11494. ret i64 0, !dbg !1401
  11495.  
  11496. Else2: ; preds = %BoolOrTrue
  11497. br label %EndIf3, !dbg !1402
  11498.  
  11499. EndIf3: ; preds = %Else2
  11500. %21 = load i32, i32* %exponent, align 4, !dbg !1403
  11501. %22 = icmp uge i32 %21, 64, !dbg !1404
  11502. br i1 %22, label %Then4, label %Else5, !dbg !1404
  11503.  
  11504. Then4: ; preds = %EndIf3
  11505. ret i64 -1, !dbg !1405
  11506.  
  11507. Else5: ; preds = %EndIf3
  11508. %23 = load i32, i32* %exponent, align 4, !dbg !1406
  11509. %24 = icmp slt i32 %23, 112, !dbg !1407
  11510. br i1 %24, label %Then6, label %Else7, !dbg !1407
  11511.  
  11512. Then6: ; preds = %Else5
  11513. %25 = load i128, i128* %significand, align 8, !dbg !1408
  11514. %26 = load i32, i32* %exponent, align 4, !dbg !1410
  11515. %27 = sub nsw i32 112, %26, !dbg !1411
  11516. %28 = trunc i32 %27 to i7, !dbg !1412
  11517. %29 = zext i7 %28 to i128, !dbg !1413
  11518. %30 = lshr i128 %25, %29, !dbg !1413
  11519. %31 = trunc i128 %30 to i64, !dbg !1414
  11520. ret i64 %31, !dbg !1415
  11521.  
  11522. Else7: ; preds = %Else5
  11523. %32 = load i128, i128* %significand, align 8, !dbg !1416
  11524. %33 = trunc i128 %32 to i64, !dbg !1418
  11525. %34 = load i32, i32* %exponent, align 4, !dbg !1419
  11526. %35 = sub nsw i32 %34, 112, !dbg !1420
  11527. %36 = trunc i32 %35 to i6, !dbg !1421
  11528. %37 = zext i6 %36 to i64, !dbg !1422
  11529. %38 = shl i64 %33, %37, !dbg !1422
  11530. ret i64 %38, !dbg !1423
  11531. }
  11532.  
  11533. ; Function Attrs: nobuiltin nounwind
  11534. define weak_odr i32 @__fixunstfsi(fp128) #0 !dbg !1424 {
  11535. Entry:
  11536. %a = alloca fp128, align 16
  11537. store fp128 %0, fp128* %a, align 16
  11538. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1428, metadata !277), !dbg !1429
  11539. %1 = load fp128, fp128* %a, align 16, !dbg !1430
  11540. %2 = call fastcc i32 @fixuint.9(fp128 %1), !dbg !1433
  11541. ret i32 %2, !dbg !1434
  11542. }
  11543.  
  11544. ; Function Attrs: nobuiltin nounwind
  11545. define internal fastcc i32 @fixuint.9(fp128) unnamed_addr #0 !dbg !1435 {
  11546. Entry:
  11547. %a = alloca fp128, align 16
  11548. %signBit = alloca i128, align 8
  11549. %implicitBit = alloca i128, align 8
  11550. %significandMask = alloca i128, align 8
  11551. %aRep = alloca i128, align 8
  11552. %absMask = alloca i128, align 8
  11553. %aAbs = alloca i128, align 8
  11554. %sign = alloca i32, align 4
  11555. %exponent = alloca i32, align 4
  11556. %significand = alloca i128, align 8
  11557. store fp128 %0, fp128* %a, align 16
  11558. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1437, metadata !277), !dbg !1467
  11559. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1468
  11560. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1441, metadata !277), !dbg !1468
  11561. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1469
  11562. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1449, metadata !277), !dbg !1469
  11563. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1470
  11564. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1453, metadata !277), !dbg !1470
  11565. %1 = load fp128, fp128* %a, align 16, !dbg !1471
  11566. %2 = bitcast fp128 %1 to i128, !dbg !1472
  11567. store i128 %2, i128* %aRep, align 8, !dbg !1473
  11568. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1455, metadata !277), !dbg !1473
  11569. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1474
  11570. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1457, metadata !277), !dbg !1474
  11571. %3 = load i128, i128* %aRep, align 8, !dbg !1475
  11572. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1476
  11573. store i128 %4, i128* %aAbs, align 8, !dbg !1477
  11574. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1459, metadata !277), !dbg !1477
  11575. %5 = load i128, i128* %aRep, align 8, !dbg !1478
  11576. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1479
  11577. %7 = icmp ne i128 %6, 0, !dbg !1480
  11578. br i1 %7, label %Then, label %Else, !dbg !1480
  11579.  
  11580. Then: ; preds = %Entry
  11581. br label %EndIf, !dbg !1481
  11582.  
  11583. Else: ; preds = %Entry
  11584. br label %EndIf, !dbg !1481
  11585.  
  11586. EndIf: ; preds = %Else, %Then
  11587. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1481
  11588. store i32 %8, i32* %sign, align 4, !dbg !1482
  11589. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1461, metadata !277), !dbg !1482
  11590. %9 = load i128, i128* %aAbs, align 8, !dbg !1483
  11591. %10 = lshr i128 %9, 112, !dbg !1484
  11592. %11 = trunc i128 %10 to i32, !dbg !1485
  11593. %12 = sub nsw i32 %11, 16383, !dbg !1486
  11594. store i32 %12, i32* %exponent, align 4, !dbg !1487
  11595. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1463, metadata !277), !dbg !1487
  11596. %13 = load i128, i128* %aAbs, align 8, !dbg !1488
  11597. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1489
  11598. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1490
  11599. store i128 %15, i128* %significand, align 8, !dbg !1491
  11600. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1465, metadata !277), !dbg !1491
  11601. %16 = load i32, i32* %sign, align 4, !dbg !1492
  11602. %17 = icmp eq i32 %16, -1, !dbg !1494
  11603. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1495
  11604.  
  11605. BoolOrFalse: ; preds = %EndIf
  11606. %18 = load i32, i32* %exponent, align 4, !dbg !1496
  11607. %19 = icmp slt i32 %18, 0, !dbg !1497
  11608. br label %BoolOrTrue, !dbg !1495
  11609.  
  11610. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11611. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1495
  11612. br i1 %20, label %Then1, label %Else2, !dbg !1495
  11613.  
  11614. Then1: ; preds = %BoolOrTrue
  11615. ret i32 0, !dbg !1498
  11616.  
  11617. Else2: ; preds = %BoolOrTrue
  11618. br label %EndIf3, !dbg !1499
  11619.  
  11620. EndIf3: ; preds = %Else2
  11621. %21 = load i32, i32* %exponent, align 4, !dbg !1500
  11622. %22 = icmp uge i32 %21, 32, !dbg !1501
  11623. br i1 %22, label %Then4, label %Else5, !dbg !1501
  11624.  
  11625. Then4: ; preds = %EndIf3
  11626. ret i32 -1, !dbg !1502
  11627.  
  11628. Else5: ; preds = %EndIf3
  11629. %23 = load i32, i32* %exponent, align 4, !dbg !1503
  11630. %24 = icmp slt i32 %23, 112, !dbg !1504
  11631. br i1 %24, label %Then6, label %Else7, !dbg !1504
  11632.  
  11633. Then6: ; preds = %Else5
  11634. %25 = load i128, i128* %significand, align 8, !dbg !1505
  11635. %26 = load i32, i32* %exponent, align 4, !dbg !1507
  11636. %27 = sub nsw i32 112, %26, !dbg !1508
  11637. %28 = trunc i32 %27 to i7, !dbg !1509
  11638. %29 = zext i7 %28 to i128, !dbg !1510
  11639. %30 = lshr i128 %25, %29, !dbg !1510
  11640. %31 = trunc i128 %30 to i32, !dbg !1511
  11641. ret i32 %31, !dbg !1512
  11642.  
  11643. Else7: ; preds = %Else5
  11644. %32 = load i128, i128* %significand, align 8, !dbg !1513
  11645. %33 = trunc i128 %32 to i32, !dbg !1515
  11646. %34 = load i32, i32* %exponent, align 4, !dbg !1516
  11647. %35 = sub nsw i32 %34, 112, !dbg !1517
  11648. %36 = trunc i32 %35 to i5, !dbg !1518
  11649. %37 = zext i5 %36 to i32, !dbg !1519
  11650. %38 = shl i32 %33, %37, !dbg !1519
  11651. ret i32 %38, !dbg !1520
  11652. }
  11653.  
  11654. ; Function Attrs: nobuiltin nounwind
  11655. define weak_odr i128 @__fixunstfti(fp128) #0 !dbg !1521 {
  11656. Entry:
  11657. %a = alloca fp128, align 16
  11658. store fp128 %0, fp128* %a, align 16
  11659. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1525, metadata !277), !dbg !1526
  11660. %1 = load fp128, fp128* %a, align 16, !dbg !1527
  11661. %2 = call fastcc i128 @fixuint.10(fp128 %1), !dbg !1530
  11662. ret i128 %2, !dbg !1531
  11663. }
  11664.  
  11665. ; Function Attrs: nobuiltin nounwind
  11666. define internal fastcc i128 @fixuint.10(fp128) unnamed_addr #0 !dbg !1532 {
  11667. Entry:
  11668. %a = alloca fp128, align 16
  11669. %signBit = alloca i128, align 8
  11670. %implicitBit = alloca i128, align 8
  11671. %significandMask = alloca i128, align 8
  11672. %aRep = alloca i128, align 8
  11673. %absMask = alloca i128, align 8
  11674. %aAbs = alloca i128, align 8
  11675. %sign = alloca i32, align 4
  11676. %exponent = alloca i32, align 4
  11677. %significand = alloca i128, align 8
  11678. store fp128 %0, fp128* %a, align 16
  11679. call void @llvm.dbg.declare(metadata fp128* %a, metadata !1534, metadata !277), !dbg !1564
  11680. store i128 -170141183460469231731687303715884105728, i128* %signBit, align 8, !dbg !1565
  11681. call void @llvm.dbg.declare(metadata i128* %signBit, metadata !1538, metadata !277), !dbg !1565
  11682. store i128 5192296858534827628530496329220096, i128* %implicitBit, align 8, !dbg !1566
  11683. call void @llvm.dbg.declare(metadata i128* %implicitBit, metadata !1546, metadata !277), !dbg !1566
  11684. store i128 5192296858534827628530496329220095, i128* %significandMask, align 8, !dbg !1567
  11685. call void @llvm.dbg.declare(metadata i128* %significandMask, metadata !1550, metadata !277), !dbg !1567
  11686. %1 = load fp128, fp128* %a, align 16, !dbg !1568
  11687. %2 = bitcast fp128 %1 to i128, !dbg !1569
  11688. store i128 %2, i128* %aRep, align 8, !dbg !1570
  11689. call void @llvm.dbg.declare(metadata i128* %aRep, metadata !1552, metadata !277), !dbg !1570
  11690. store i128 170141183460469231731687303715884105727, i128* %absMask, align 8, !dbg !1571
  11691. call void @llvm.dbg.declare(metadata i128* %absMask, metadata !1554, metadata !277), !dbg !1571
  11692. %3 = load i128, i128* %aRep, align 8, !dbg !1572
  11693. %4 = and i128 %3, 170141183460469231731687303715884105727, !dbg !1573
  11694. store i128 %4, i128* %aAbs, align 8, !dbg !1574
  11695. call void @llvm.dbg.declare(metadata i128* %aAbs, metadata !1556, metadata !277), !dbg !1574
  11696. %5 = load i128, i128* %aRep, align 8, !dbg !1575
  11697. %6 = and i128 %5, -170141183460469231731687303715884105728, !dbg !1576
  11698. %7 = icmp ne i128 %6, 0, !dbg !1577
  11699. br i1 %7, label %Then, label %Else, !dbg !1577
  11700.  
  11701. Then: ; preds = %Entry
  11702. br label %EndIf, !dbg !1578
  11703.  
  11704. Else: ; preds = %Entry
  11705. br label %EndIf, !dbg !1578
  11706.  
  11707. EndIf: ; preds = %Else, %Then
  11708. %8 = phi i32 [ -1, %Then ], [ 1, %Else ], !dbg !1578
  11709. store i32 %8, i32* %sign, align 4, !dbg !1579
  11710. call void @llvm.dbg.declare(metadata i32* %sign, metadata !1558, metadata !277), !dbg !1579
  11711. %9 = load i128, i128* %aAbs, align 8, !dbg !1580
  11712. %10 = lshr i128 %9, 112, !dbg !1581
  11713. %11 = trunc i128 %10 to i32, !dbg !1582
  11714. %12 = sub nsw i32 %11, 16383, !dbg !1583
  11715. store i32 %12, i32* %exponent, align 4, !dbg !1584
  11716. call void @llvm.dbg.declare(metadata i32* %exponent, metadata !1560, metadata !277), !dbg !1584
  11717. %13 = load i128, i128* %aAbs, align 8, !dbg !1585
  11718. %14 = and i128 %13, 5192296858534827628530496329220095, !dbg !1586
  11719. %15 = or i128 %14, 5192296858534827628530496329220096, !dbg !1587
  11720. store i128 %15, i128* %significand, align 8, !dbg !1588
  11721. call void @llvm.dbg.declare(metadata i128* %significand, metadata !1562, metadata !277), !dbg !1588
  11722. %16 = load i32, i32* %sign, align 4, !dbg !1589
  11723. %17 = icmp eq i32 %16, -1, !dbg !1591
  11724. br i1 %17, label %BoolOrTrue, label %BoolOrFalse, !dbg !1592
  11725.  
  11726. BoolOrFalse: ; preds = %EndIf
  11727. %18 = load i32, i32* %exponent, align 4, !dbg !1593
  11728. %19 = icmp slt i32 %18, 0, !dbg !1594
  11729. br label %BoolOrTrue, !dbg !1592
  11730.  
  11731. BoolOrTrue: ; preds = %BoolOrFalse, %EndIf
  11732. %20 = phi i1 [ %17, %EndIf ], [ %19, %BoolOrFalse ], !dbg !1592
  11733. br i1 %20, label %Then1, label %Else2, !dbg !1592
  11734.  
  11735. Then1: ; preds = %BoolOrTrue
  11736. ret i128 0, !dbg !1595
  11737.  
  11738. Else2: ; preds = %BoolOrTrue
  11739. br label %EndIf3, !dbg !1596
  11740.  
  11741. EndIf3: ; preds = %Else2
  11742. %21 = load i32, i32* %exponent, align 4, !dbg !1597
  11743. %22 = icmp uge i32 %21, 128, !dbg !1598
  11744. br i1 %22, label %Then4, label %Else5, !dbg !1598
  11745.  
  11746. Then4: ; preds = %EndIf3
  11747. ret i128 -1, !dbg !1599
  11748.  
  11749. Else5: ; preds = %EndIf3
  11750. %23 = load i32, i32* %exponent, align 4, !dbg !1600
  11751. %24 = icmp slt i32 %23, 112, !dbg !1601
  11752. br i1 %24, label %Then6, label %Else7, !dbg !1601
  11753.  
  11754. Then6: ; preds = %Else5
  11755. %25 = load i128, i128* %significand, align 8, !dbg !1602
  11756. %26 = load i32, i32* %exponent, align 4, !dbg !1604
  11757. %27 = sub nsw i32 112, %26, !dbg !1605
  11758. %28 = trunc i32 %27 to i7, !dbg !1606
  11759. %29 = zext i7 %28 to i128, !dbg !1607
  11760. %30 = lshr i128 %25, %29, !dbg !1607
  11761. ret i128 %30, !dbg !1608
  11762.  
  11763. Else7: ; preds = %Else5
  11764. %31 = load i128, i128* %significand, align 8, !dbg !1609
  11765. %32 = load i32, i32* %exponent, align 4, !dbg !1611
  11766. %33 = sub nsw i32 %32, 112, !dbg !1612
  11767. %34 = trunc i32 %33 to i7, !dbg !1613
  11768. %35 = zext i7 %34 to i128, !dbg !1614
  11769. %36 = shl i128 %31, %35, !dbg !1614
  11770. ret i128 %36, !dbg !1615
  11771. }
  11772.  
  11773. ; Function Attrs: nobuiltin nounwind
  11774. define internal fastcc i64 @udivmod(i64, i64, i64*) unnamed_addr #0 !dbg !1616 {
  11775. Entry:
  11776. %a = alloca i64, align 8
  11777. %b = alloca i64, align 8
  11778. %maybe_rem = alloca i64*, align 8
  11779. %n = alloca [2 x i32], align 4
  11780. %d = alloca [2 x i32], align 4
  11781. %q = alloca [2 x i32], align 4
  11782. %r = alloca [2 x i32], align 4
  11783. %sr = alloca i32, align 4
  11784. %rem = alloca i64*, align 8
  11785. %rem64 = alloca i64*, align 8
  11786. %rem65 = alloca i64*, align 8
  11787. %rem66 = alloca i64*, align 8
  11788. %rem67 = alloca i64*, align 8
  11789. %rem68 = alloca i64*, align 8
  11790. %rem69 = alloca i64*, align 8
  11791. %rem70 = alloca i64*, align 8
  11792. %carry = alloca i32, align 4
  11793. %r_all = alloca i64, align 8
  11794. %s = alloca i64, align 8
  11795. %q_all = alloca i64, align 8
  11796. %rem71 = alloca i64*, align 8
  11797. store i64 %0, i64* %a, align 8
  11798. call void @llvm.dbg.declare(metadata i64* %a, metadata !1618, metadata !277), !dbg !1675
  11799. store i64 %1, i64* %b, align 8
  11800. call void @llvm.dbg.declare(metadata i64* %b, metadata !1623, metadata !277), !dbg !1676
  11801. store i64* %2, i64** %maybe_rem, align 8
  11802. call void @llvm.dbg.declare(metadata i64** %maybe_rem, metadata !1625, metadata !277), !dbg !1677
  11803. %3 = bitcast i64* %a to [2 x i32]*, !dbg !1678
  11804. %4 = bitcast [2 x i32]* %3 to i8*, !dbg !1679
  11805. %5 = bitcast [2 x i32]* %n to i8*, !dbg !1679
  11806. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %4, i64 8, i32 4, i1 false), !dbg !1679
  11807. call void @llvm.dbg.declare(metadata [2 x i32]* %n, metadata !1627, metadata !277), !dbg !1679
  11808. %6 = bitcast i64* %b to [2 x i32]*, !dbg !1680
  11809. %7 = bitcast [2 x i32]* %6 to i8*, !dbg !1681
  11810. %8 = bitcast [2 x i32]* %d to i8*, !dbg !1681
  11811. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 8, i32 4, i1 false), !dbg !1681
  11812. call void @llvm.dbg.declare(metadata [2 x i32]* %d, metadata !1636, metadata !277), !dbg !1681
  11813. %9 = bitcast [2 x i32]* %q to i8*, !dbg !1682
  11814. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* bitcast ([2 x i32]* @3 to i8*), i64 8, i32 4, i1 false), !dbg !1682
  11815. call void @llvm.dbg.declare(metadata [2 x i32]* %q, metadata !1638, metadata !277), !dbg !1682
  11816. %10 = bitcast [2 x i32]* %r to i8*, !dbg !1683
  11817. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ([2 x i32]* @4 to i8*), i64 8, i32 4, i1 false), !dbg !1683
  11818. call void @llvm.dbg.declare(metadata [2 x i32]* %r, metadata !1640, metadata !277), !dbg !1683
  11819. call void @llvm.dbg.declare(metadata i32* %sr, metadata !1642, metadata !277), !dbg !1684
  11820. %11 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1685
  11821. %12 = load i32, i32* %11, align 4, !dbg !1685
  11822. %13 = icmp eq i32 %12, 0, !dbg !1686
  11823. br i1 %13, label %Then, label %Else, !dbg !1686
  11824.  
  11825. Then: ; preds = %Entry
  11826. %14 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1687
  11827. %15 = load i32, i32* %14, align 4, !dbg !1687
  11828. %16 = icmp eq i32 %15, 0, !dbg !1688
  11829. br i1 %16, label %Then1, label %Else2, !dbg !1688
  11830.  
  11831. Else: ; preds = %Entry
  11832. br label %EndIf6, !dbg !1689
  11833.  
  11834. Then1: ; preds = %Then
  11835. %17 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  11836. %18 = icmp ne i64* %17, null, !dbg !1690
  11837. br i1 %18, label %MaybeThen, label %MaybeElse, !dbg !1690
  11838.  
  11839. Else2: ; preds = %Then
  11840. br label %EndIf, !dbg !1691
  11841.  
  11842. MaybeThen: ; preds = %Then1
  11843. %19 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  11844. %20 = load i64*, i64** %maybe_rem, align 8, !dbg !1690
  11845. store i64* %20, i64** %rem, align 8, !dbg !1690
  11846. call void @llvm.dbg.declare(metadata i64** %rem, metadata !1644, metadata !277), !dbg !1690
  11847. %21 = load i64*, i64** %rem, align 8, !dbg !1692
  11848. %22 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1695
  11849. %23 = load i32, i32* %22, align 4, !dbg !1695
  11850. %24 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1696
  11851. %25 = load i32, i32* %24, align 4, !dbg !1696
  11852. %26 = urem i32 %23, %25, !dbg !1697
  11853. %27 = zext i32 %26 to i64, !dbg !1697
  11854. store i64 %27, i64* %21, align 8, !dbg !1698
  11855. br label %MaybeEndIf, !dbg !1690
  11856.  
  11857. MaybeElse: ; preds = %Then1
  11858. br label %MaybeEndIf, !dbg !1690
  11859.  
  11860. MaybeEndIf: ; preds = %MaybeElse, %MaybeThen
  11861. %28 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1699
  11862. %29 = load i32, i32* %28, align 4, !dbg !1699
  11863. %30 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1700
  11864. %31 = load i32, i32* %30, align 4, !dbg !1700
  11865. %32 = udiv i32 %29, %31, !dbg !1701
  11866. %33 = zext i32 %32 to i64, !dbg !1701
  11867. ret i64 %33, !dbg !1702
  11868.  
  11869. EndIf: ; preds = %Else2
  11870. %34 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  11871. %35 = icmp ne i64* %34, null, !dbg !1703
  11872. br i1 %35, label %MaybeThen3, label %MaybeElse4, !dbg !1703
  11873.  
  11874. MaybeThen3: ; preds = %EndIf
  11875. %36 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  11876. %37 = load i64*, i64** %maybe_rem, align 8, !dbg !1703
  11877. store i64* %37, i64** %rem64, align 8, !dbg !1703
  11878. call void @llvm.dbg.declare(metadata i64** %rem64, metadata !1648, metadata !277), !dbg !1703
  11879. %38 = load i64*, i64** %rem64, align 8, !dbg !1704
  11880. %39 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1707
  11881. %40 = load i32, i32* %39, align 4, !dbg !1707
  11882. %41 = zext i32 %40 to i64, !dbg !1707
  11883. store i64 %41, i64* %38, align 8, !dbg !1708
  11884. br label %MaybeEndIf5, !dbg !1703
  11885.  
  11886. MaybeElse4: ; preds = %EndIf
  11887. br label %MaybeEndIf5, !dbg !1703
  11888.  
  11889. MaybeEndIf5: ; preds = %MaybeElse4, %MaybeThen3
  11890. ret i64 0, !dbg !1709
  11891.  
  11892. EndIf6: ; preds = %Else
  11893. %42 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1710
  11894. %43 = load i32, i32* %42, align 4, !dbg !1710
  11895. %44 = icmp eq i32 %43, 0, !dbg !1711
  11896. br i1 %44, label %Then7, label %Else8, !dbg !1711
  11897.  
  11898. Then7: ; preds = %EndIf6
  11899. %45 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1712
  11900. %46 = load i32, i32* %45, align 4, !dbg !1712
  11901. %47 = icmp eq i32 %46, 0, !dbg !1713
  11902. br i1 %47, label %Then9, label %Else10, !dbg !1713
  11903.  
  11904. Else8: ; preds = %EndIf6
  11905. %48 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1714
  11906. %49 = load i32, i32* %48, align 4, !dbg !1714
  11907. %50 = icmp eq i32 %49, 0, !dbg !1715
  11908. br i1 %50, label %Then11, label %Else12, !dbg !1715
  11909.  
  11910. Then9: ; preds = %Then7
  11911. %51 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  11912. %52 = icmp ne i64* %51, null, !dbg !1716
  11913. br i1 %52, label %MaybeThen13, label %MaybeElse14, !dbg !1716
  11914.  
  11915. Else10: ; preds = %Then7
  11916. br label %EndIf16, !dbg !1717
  11917.  
  11918. Then11: ; preds = %Else8
  11919. %53 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1718
  11920. %54 = load i32, i32* %53, align 4, !dbg !1718
  11921. %55 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1719
  11922. %56 = load i32, i32* %55, align 4, !dbg !1719
  11923. %57 = sub nuw i32 %56, 1, !dbg !1720
  11924. %58 = and i32 %54, %57, !dbg !1721
  11925. %59 = icmp eq i32 %58, 0, !dbg !1722
  11926. br i1 %59, label %Then17, label %Else18, !dbg !1722
  11927.  
  11928. Else12: ; preds = %Else8
  11929. %60 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1723
  11930. %61 = load i32, i32* %60, align 4, !dbg !1723
  11931. %62 = call i32 @llvm.ctlz.i32(i32 %61, i1 false), !dbg !1724
  11932. %63 = trunc i32 %62 to i6, !dbg !1724
  11933. %64 = zext i6 %63 to i32, !dbg !1725
  11934. %65 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1726
  11935. %66 = load i32, i32* %65, align 4, !dbg !1726
  11936. %67 = call i32 @llvm.ctlz.i32(i32 %66, i1 false), !dbg !1727
  11937. %68 = trunc i32 %67 to i6, !dbg !1727
  11938. %69 = zext i6 %68 to i32, !dbg !1728
  11939. %70 = sub nsw i32 %64, %69, !dbg !1729
  11940. store i32 %70, i32* %sr, align 4, !dbg !1730
  11941. %71 = load i32, i32* %sr, align 4, !dbg !1731
  11942. %72 = icmp ugt i32 %71, 31, !dbg !1732
  11943. br i1 %72, label %Then19, label %Else20, !dbg !1732
  11944.  
  11945. MaybeThen13: ; preds = %Then9
  11946. %73 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  11947. %74 = load i64*, i64** %maybe_rem, align 8, !dbg !1716
  11948. store i64* %74, i64** %rem65, align 8, !dbg !1716
  11949. call void @llvm.dbg.declare(metadata i64** %rem65, metadata !1649, metadata !277), !dbg !1716
  11950. %75 = load i64*, i64** %rem65, align 8, !dbg !1733
  11951. %76 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1736
  11952. %77 = load i32, i32* %76, align 4, !dbg !1736
  11953. %78 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1737
  11954. %79 = load i32, i32* %78, align 4, !dbg !1737
  11955. %80 = urem i32 %77, %79, !dbg !1738
  11956. %81 = zext i32 %80 to i64, !dbg !1738
  11957. store i64 %81, i64* %75, align 8, !dbg !1739
  11958. br label %MaybeEndIf15, !dbg !1716
  11959.  
  11960. MaybeElse14: ; preds = %Then9
  11961. br label %MaybeEndIf15, !dbg !1716
  11962.  
  11963. MaybeEndIf15: ; preds = %MaybeElse14, %MaybeThen13
  11964. %82 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1740
  11965. %83 = load i32, i32* %82, align 4, !dbg !1740
  11966. %84 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1741
  11967. %85 = load i32, i32* %84, align 4, !dbg !1741
  11968. %86 = udiv i32 %83, %85, !dbg !1742
  11969. %87 = zext i32 %86 to i64, !dbg !1742
  11970. ret i64 %87, !dbg !1743
  11971.  
  11972. EndIf16: ; preds = %Else10
  11973. %88 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1744
  11974. %89 = load i32, i32* %88, align 4, !dbg !1744
  11975. %90 = icmp eq i32 %89, 0, !dbg !1745
  11976. br i1 %90, label %Then21, label %Else22, !dbg !1745
  11977.  
  11978. Then17: ; preds = %Then11
  11979. %91 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  11980. %92 = icmp ne i64* %91, null, !dbg !1746
  11981. br i1 %92, label %MaybeThen23, label %MaybeElse24, !dbg !1746
  11982.  
  11983. Else18: ; preds = %Then11
  11984. br label %EndIf28, !dbg !1747
  11985.  
  11986. Then19: ; preds = %Else12
  11987. %93 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  11988. %94 = icmp ne i64* %93, null, !dbg !1748
  11989. br i1 %94, label %MaybeThen29, label %MaybeElse30, !dbg !1748
  11990.  
  11991. Else20: ; preds = %Else12
  11992. br label %EndIf32, !dbg !1749
  11993.  
  11994. Then21: ; preds = %EndIf16
  11995. %95 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  11996. %96 = icmp ne i64* %95, null, !dbg !1750
  11997. br i1 %96, label %MaybeThen33, label %MaybeElse34, !dbg !1750
  11998.  
  11999. Else22: ; preds = %EndIf16
  12000. br label %EndIf36, !dbg !1751
  12001.  
  12002. MaybeThen23: ; preds = %Then17
  12003. %97 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  12004. %98 = load i64*, i64** %maybe_rem, align 8, !dbg !1746
  12005. store i64* %98, i64** %rem66, align 8, !dbg !1746
  12006. call void @llvm.dbg.declare(metadata i64** %rem66, metadata !1652, metadata !277), !dbg !1746
  12007. %99 = load i64*, i64** %rem66, align 8, !dbg !1752
  12008. %100 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1755
  12009. %101 = load i32, i32* %100, align 4, !dbg !1755
  12010. %102 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1756
  12011. %103 = load i32, i32* %102, align 4, !dbg !1756
  12012. %104 = sub nuw i32 %103, 1, !dbg !1757
  12013. %105 = and i32 %101, %104, !dbg !1758
  12014. %106 = zext i32 %105 to i64, !dbg !1758
  12015. store i64 %106, i64* %99, align 8, !dbg !1759
  12016. br label %MaybeEndIf37, !dbg !1746
  12017.  
  12018. MaybeElse24: ; preds = %Then17
  12019. br label %MaybeEndIf37, !dbg !1746
  12020.  
  12021. Then25: ; preds = %MaybeEndIf37
  12022. %107 = load i64, i64* %a, align 8, !dbg !1760
  12023. ret i64 %107, !dbg !1762
  12024.  
  12025. Else26: ; preds = %MaybeEndIf37
  12026. br label %EndIf27, !dbg !1763
  12027.  
  12028. EndIf27: ; preds = %Else26
  12029. %108 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1764
  12030. %109 = load i32, i32* %108, align 4, !dbg !1764
  12031. %110 = call i32 @llvm.cttz.i32(i32 %109, i1 false), !dbg !1765
  12032. %111 = trunc i32 %110 to i6, !dbg !1765
  12033. %112 = zext i6 %111 to i32, !dbg !1765
  12034. store i32 %112, i32* %sr, align 4, !dbg !1766
  12035. %113 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1767
  12036. %114 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1768
  12037. %115 = load i32, i32* %114, align 4, !dbg !1768
  12038. %116 = load i32, i32* %sr, align 4, !dbg !1769
  12039. %117 = trunc i32 %116 to i5, !dbg !1770
  12040. %118 = zext i5 %117 to i32, !dbg !1771
  12041. %119 = lshr i32 %115, %118, !dbg !1771
  12042. store i32 %119, i32* %113, align 4, !dbg !1772
  12043. %120 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1773
  12044. %121 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1774
  12045. %122 = load i32, i32* %121, align 4, !dbg !1774
  12046. %123 = load i32, i32* %sr, align 4, !dbg !1775
  12047. %124 = sub nuw i32 32, %123, !dbg !1776
  12048. %125 = trunc i32 %124 to i5, !dbg !1777
  12049. %126 = zext i5 %125 to i32, !dbg !1778
  12050. %127 = shl i32 %122, %126, !dbg !1778
  12051. %128 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1779
  12052. %129 = load i32, i32* %128, align 4, !dbg !1779
  12053. %130 = load i32, i32* %sr, align 4, !dbg !1780
  12054. %131 = trunc i32 %130 to i5, !dbg !1781
  12055. %132 = zext i5 %131 to i32, !dbg !1782
  12056. %133 = lshr i32 %129, %132, !dbg !1782
  12057. %134 = or i32 %127, %133, !dbg !1783
  12058. store i32 %134, i32* %120, align 4, !dbg !1784
  12059. %135 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1785
  12060. %136 = bitcast i32* %135 to i64*, !dbg !1786
  12061. %137 = load i64, i64* %136, align 4, !dbg !1787
  12062. ret i64 %137, !dbg !1788
  12063.  
  12064. EndIf28: ; preds = %Else18
  12065. %138 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1789
  12066. %139 = load i32, i32* %138, align 4, !dbg !1789
  12067. %140 = call i32 @llvm.ctlz.i32(i32 %139, i1 false), !dbg !1790
  12068. %141 = trunc i32 %140 to i6, !dbg !1790
  12069. %142 = zext i6 %141 to i32, !dbg !1791
  12070. %143 = add nuw i32 33, %142, !dbg !1792
  12071. %144 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1793
  12072. %145 = load i32, i32* %144, align 4, !dbg !1793
  12073. %146 = call i32 @llvm.ctlz.i32(i32 %145, i1 false), !dbg !1794
  12074. %147 = trunc i32 %146 to i6, !dbg !1794
  12075. %148 = zext i6 %147 to i32, !dbg !1795
  12076. %149 = sub nuw i32 %143, %148, !dbg !1796
  12077. store i32 %149, i32* %sr, align 4, !dbg !1797
  12078. %150 = load i32, i32* %sr, align 4, !dbg !1798
  12079. %151 = icmp eq i32 %150, 32, !dbg !1799
  12080. br i1 %151, label %Then38, label %Else39, !dbg !1799
  12081.  
  12082. MaybeThen29: ; preds = %Then19
  12083. %152 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  12084. %153 = load i64*, i64** %maybe_rem, align 8, !dbg !1748
  12085. store i64* %153, i64** %rem67, align 8, !dbg !1748
  12086. call void @llvm.dbg.declare(metadata i64** %rem67, metadata !1656, metadata !277), !dbg !1748
  12087. %154 = load i64*, i64** %rem67, align 8, !dbg !1800
  12088. %155 = load i64, i64* %a, align 8, !dbg !1803
  12089. store i64 %155, i64* %154, align 8, !dbg !1804
  12090. br label %MaybeEndIf31, !dbg !1748
  12091.  
  12092. MaybeElse30: ; preds = %Then19
  12093. br label %MaybeEndIf31, !dbg !1748
  12094.  
  12095. MaybeEndIf31: ; preds = %MaybeElse30, %MaybeThen29
  12096. ret i64 0, !dbg !1805
  12097.  
  12098. EndIf32: ; preds = %Else20
  12099. %156 = load i32, i32* %sr, align 4, !dbg !1806
  12100. %157 = add nuw i32 %156, 1, !dbg !1807
  12101. store i32 %157, i32* %sr, align 4, !dbg !1807
  12102. %158 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1808
  12103. store i32 0, i32* %158, align 4, !dbg !1809
  12104. %159 = load i32, i32* %sr, align 4, !dbg !1810
  12105. %160 = icmp eq i32 %159, 32, !dbg !1811
  12106. br i1 %160, label %Then40, label %Else41, !dbg !1811
  12107.  
  12108. MaybeThen33: ; preds = %Then21
  12109. %161 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  12110. %162 = load i64*, i64** %maybe_rem, align 8, !dbg !1750
  12111. store i64* %162, i64** %rem68, align 8, !dbg !1750
  12112. call void @llvm.dbg.declare(metadata i64** %rem68, metadata !1659, metadata !277), !dbg !1750
  12113. %163 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1812
  12114. %164 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1815
  12115. %165 = load i32, i32* %164, align 4, !dbg !1815
  12116. %166 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1816
  12117. %167 = load i32, i32* %166, align 4, !dbg !1816
  12118. %168 = urem i32 %165, %167, !dbg !1817
  12119. store i32 %168, i32* %163, align 4, !dbg !1818
  12120. %169 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1819
  12121. store i32 0, i32* %169, align 4, !dbg !1820
  12122. %170 = load i64*, i64** %rem68, align 8, !dbg !1821
  12123. %171 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1822
  12124. %172 = bitcast i32* %171 to i64*, !dbg !1823
  12125. %173 = load i64, i64* %172, align 4, !dbg !1824
  12126. store i64 %173, i64* %170, align 8, !dbg !1825
  12127. br label %MaybeEndIf35, !dbg !1750
  12128.  
  12129. MaybeElse34: ; preds = %Then21
  12130. br label %MaybeEndIf35, !dbg !1750
  12131.  
  12132. MaybeEndIf35: ; preds = %MaybeElse34, %MaybeThen33
  12133. %174 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1826
  12134. %175 = load i32, i32* %174, align 4, !dbg !1826
  12135. %176 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1827
  12136. %177 = load i32, i32* %176, align 4, !dbg !1827
  12137. %178 = udiv i32 %175, %177, !dbg !1828
  12138. %179 = zext i32 %178 to i64, !dbg !1828
  12139. ret i64 %179, !dbg !1829
  12140.  
  12141. EndIf36: ; preds = %Else22
  12142. %180 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1830
  12143. %181 = load i32, i32* %180, align 4, !dbg !1830
  12144. %182 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1831
  12145. %183 = load i32, i32* %182, align 4, !dbg !1831
  12146. %184 = sub nuw i32 %183, 1, !dbg !1832
  12147. %185 = and i32 %181, %184, !dbg !1833
  12148. %186 = icmp eq i32 %185, 0, !dbg !1834
  12149. br i1 %186, label %Then42, label %Else43, !dbg !1834
  12150.  
  12151. MaybeEndIf37: ; preds = %MaybeElse24, %MaybeThen23
  12152. %187 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 0, !dbg !1835
  12153. %188 = load i32, i32* %187, align 4, !dbg !1835
  12154. %189 = icmp eq i32 %188, 1, !dbg !1836
  12155. br i1 %189, label %Then25, label %Else26, !dbg !1836
  12156.  
  12157. Then38: ; preds = %EndIf28
  12158. %190 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1837
  12159. store i32 0, i32* %190, align 4, !dbg !1839
  12160. %191 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1840
  12161. %192 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1841
  12162. %193 = load i32, i32* %192, align 4, !dbg !1841
  12163. store i32 %193, i32* %191, align 4, !dbg !1842
  12164. %194 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1843
  12165. store i32 0, i32* %194, align 4, !dbg !1844
  12166. %195 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1845
  12167. %196 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1846
  12168. %197 = load i32, i32* %196, align 4, !dbg !1846
  12169. store i32 %197, i32* %195, align 4, !dbg !1847
  12170. br label %EndIf47, !dbg !1848
  12171.  
  12172. Else39: ; preds = %EndIf28
  12173. %198 = load i32, i32* %sr, align 4, !dbg !1849
  12174. %199 = icmp ult i32 %198, 32, !dbg !1850
  12175. br i1 %199, label %Then44, label %Else45, !dbg !1850
  12176.  
  12177. Then40: ; preds = %EndIf32
  12178. %200 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1851
  12179. %201 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1853
  12180. %202 = load i32, i32* %201, align 4, !dbg !1853
  12181. store i32 %202, i32* %200, align 4, !dbg !1854
  12182. %203 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1855
  12183. store i32 0, i32* %203, align 4, !dbg !1856
  12184. %204 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1857
  12185. %205 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1858
  12186. %206 = load i32, i32* %205, align 4, !dbg !1858
  12187. store i32 %206, i32* %204, align 4, !dbg !1859
  12188. br label %EndIf48, !dbg !1860
  12189.  
  12190. Else41: ; preds = %EndIf32
  12191. %207 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1861
  12192. %208 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1863
  12193. %209 = load i32, i32* %208, align 4, !dbg !1863
  12194. %210 = load i32, i32* %sr, align 4, !dbg !1864
  12195. %211 = trunc i32 %210 to i5, !dbg !1865
  12196. %212 = zext i5 %211 to i32, !dbg !1866
  12197. %213 = lshr i32 %209, %212, !dbg !1866
  12198. store i32 %213, i32* %207, align 4, !dbg !1867
  12199. %214 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1868
  12200. %215 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1869
  12201. %216 = load i32, i32* %215, align 4, !dbg !1869
  12202. %217 = load i32, i32* %sr, align 4, !dbg !1870
  12203. %218 = sub nuw i32 32, %217, !dbg !1871
  12204. %219 = trunc i32 %218 to i5, !dbg !1872
  12205. %220 = zext i5 %219 to i32, !dbg !1873
  12206. %221 = shl i32 %216, %220, !dbg !1873
  12207. %222 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1874
  12208. %223 = load i32, i32* %222, align 4, !dbg !1874
  12209. %224 = load i32, i32* %sr, align 4, !dbg !1875
  12210. %225 = trunc i32 %224 to i5, !dbg !1876
  12211. %226 = zext i5 %225 to i32, !dbg !1877
  12212. %227 = lshr i32 %223, %226, !dbg !1877
  12213. %228 = or i32 %221, %227, !dbg !1878
  12214. store i32 %228, i32* %214, align 4, !dbg !1879
  12215. %229 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1880
  12216. %230 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1881
  12217. %231 = load i32, i32* %230, align 4, !dbg !1881
  12218. %232 = load i32, i32* %sr, align 4, !dbg !1882
  12219. %233 = sub nuw i32 32, %232, !dbg !1883
  12220. %234 = trunc i32 %233 to i5, !dbg !1884
  12221. %235 = zext i5 %234 to i32, !dbg !1885
  12222. %236 = shl i32 %231, %235, !dbg !1885
  12223. store i32 %236, i32* %229, align 4, !dbg !1886
  12224. br label %EndIf48, !dbg !1860
  12225.  
  12226. Then42: ; preds = %EndIf36
  12227. %237 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  12228. %238 = icmp ne i64* %237, null, !dbg !1887
  12229. br i1 %238, label %MaybeThen49, label %MaybeElse50, !dbg !1887
  12230.  
  12231. Else43: ; preds = %EndIf36
  12232. br label %EndIf52, !dbg !1888
  12233.  
  12234. Then44: ; preds = %Else39
  12235. %239 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1889
  12236. store i32 0, i32* %239, align 4, !dbg !1891
  12237. %240 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1892
  12238. %241 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1893
  12239. %242 = load i32, i32* %241, align 4, !dbg !1893
  12240. %243 = load i32, i32* %sr, align 4, !dbg !1894
  12241. %244 = sub nuw i32 32, %243, !dbg !1895
  12242. %245 = trunc i32 %244 to i5, !dbg !1896
  12243. %246 = zext i5 %245 to i32, !dbg !1897
  12244. %247 = shl i32 %242, %246, !dbg !1897
  12245. store i32 %247, i32* %240, align 4, !dbg !1898
  12246. %248 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1899
  12247. %249 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1900
  12248. %250 = load i32, i32* %249, align 4, !dbg !1900
  12249. %251 = load i32, i32* %sr, align 4, !dbg !1901
  12250. %252 = trunc i32 %251 to i5, !dbg !1902
  12251. %253 = zext i5 %252 to i32, !dbg !1903
  12252. %254 = lshr i32 %250, %253, !dbg !1903
  12253. store i32 %254, i32* %248, align 4, !dbg !1904
  12254. %255 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1905
  12255. %256 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1906
  12256. %257 = load i32, i32* %256, align 4, !dbg !1906
  12257. %258 = load i32, i32* %sr, align 4, !dbg !1907
  12258. %259 = sub nuw i32 32, %258, !dbg !1908
  12259. %260 = trunc i32 %259 to i5, !dbg !1909
  12260. %261 = zext i5 %260 to i32, !dbg !1910
  12261. %262 = shl i32 %257, %261, !dbg !1910
  12262. %263 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1911
  12263. %264 = load i32, i32* %263, align 4, !dbg !1911
  12264. %265 = load i32, i32* %sr, align 4, !dbg !1912
  12265. %266 = trunc i32 %265 to i5, !dbg !1913
  12266. %267 = zext i5 %266 to i32, !dbg !1914
  12267. %268 = lshr i32 %264, %267, !dbg !1914
  12268. %269 = or i32 %262, %268, !dbg !1915
  12269. store i32 %269, i32* %255, align 4, !dbg !1916
  12270. br label %EndIf46, !dbg !1917
  12271.  
  12272. Else45: ; preds = %Else39
  12273. %270 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1918
  12274. %271 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1920
  12275. %272 = load i32, i32* %271, align 4, !dbg !1920
  12276. %273 = load i32, i32* %sr, align 4, !dbg !1921
  12277. %274 = sub nuw i32 64, %273, !dbg !1922
  12278. %275 = trunc i32 %274 to i5, !dbg !1923
  12279. %276 = zext i5 %275 to i32, !dbg !1924
  12280. %277 = shl i32 %272, %276, !dbg !1924
  12281. store i32 %277, i32* %270, align 4, !dbg !1925
  12282. %278 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1926
  12283. %279 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1927
  12284. %280 = load i32, i32* %279, align 4, !dbg !1927
  12285. %281 = load i32, i32* %sr, align 4, !dbg !1928
  12286. %282 = sub nuw i32 64, %281, !dbg !1929
  12287. %283 = trunc i32 %282 to i5, !dbg !1930
  12288. %284 = zext i5 %283 to i32, !dbg !1931
  12289. %285 = shl i32 %280, %284, !dbg !1931
  12290. %286 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1932
  12291. %287 = load i32, i32* %286, align 4, !dbg !1932
  12292. %288 = load i32, i32* %sr, align 4, !dbg !1933
  12293. %289 = sub nuw i32 %288, 32, !dbg !1934
  12294. %290 = trunc i32 %289 to i5, !dbg !1935
  12295. %291 = zext i5 %290 to i32, !dbg !1936
  12296. %292 = lshr i32 %287, %291, !dbg !1936
  12297. %293 = or i32 %285, %292, !dbg !1937
  12298. store i32 %293, i32* %278, align 4, !dbg !1938
  12299. %294 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1939
  12300. store i32 0, i32* %294, align 4, !dbg !1940
  12301. %295 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1941
  12302. %296 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1942
  12303. %297 = load i32, i32* %296, align 4, !dbg !1942
  12304. %298 = load i32, i32* %sr, align 4, !dbg !1943
  12305. %299 = sub nuw i32 %298, 32, !dbg !1944
  12306. %300 = trunc i32 %299 to i5, !dbg !1945
  12307. %301 = zext i5 %300 to i32, !dbg !1946
  12308. %302 = lshr i32 %297, %301, !dbg !1946
  12309. store i32 %302, i32* %295, align 4, !dbg !1947
  12310. br label %EndIf46, !dbg !1917
  12311.  
  12312. EndIf46: ; preds = %Else45, %Then44
  12313. br label %EndIf47, !dbg !1848
  12314.  
  12315. EndIf47: ; preds = %EndIf46, %Then38
  12316. br label %EndIf53, !dbg !1948
  12317.  
  12318. EndIf48: ; preds = %Else41, %Then40
  12319. br label %EndIf53, !dbg !1948
  12320.  
  12321. MaybeThen49: ; preds = %Then42
  12322. %303 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  12323. %304 = load i64*, i64** %maybe_rem, align 8, !dbg !1887
  12324. store i64* %304, i64** %rem69, align 8, !dbg !1887
  12325. call void @llvm.dbg.declare(metadata i64** %rem69, metadata !1661, metadata !277), !dbg !1887
  12326. %305 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1949
  12327. %306 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1952
  12328. %307 = load i32, i32* %306, align 4, !dbg !1952
  12329. store i32 %307, i32* %305, align 4, !dbg !1953
  12330. %308 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !1954
  12331. %309 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1955
  12332. %310 = load i32, i32* %309, align 4, !dbg !1955
  12333. %311 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1956
  12334. %312 = load i32, i32* %311, align 4, !dbg !1956
  12335. %313 = sub nuw i32 %312, 1, !dbg !1957
  12336. %314 = and i32 %310, %313, !dbg !1958
  12337. store i32 %314, i32* %308, align 4, !dbg !1959
  12338. %315 = load i64*, i64** %rem69, align 8, !dbg !1960
  12339. %316 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !1961
  12340. %317 = bitcast i32* %316 to i64*, !dbg !1962
  12341. %318 = load i64, i64* %317, align 4, !dbg !1963
  12342. store i64 %318, i64* %315, align 8, !dbg !1964
  12343. br label %MaybeEndIf51, !dbg !1887
  12344.  
  12345. MaybeElse50: ; preds = %Then42
  12346. br label %MaybeEndIf51, !dbg !1887
  12347.  
  12348. MaybeEndIf51: ; preds = %MaybeElse50, %MaybeThen49
  12349. %319 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1965
  12350. %320 = load i32, i32* %319, align 4, !dbg !1965
  12351. %321 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1966
  12352. %322 = load i32, i32* %321, align 4, !dbg !1966
  12353. %323 = call i32 @llvm.cttz.i32(i32 %322, i1 false), !dbg !1967
  12354. %324 = trunc i32 %323 to i6, !dbg !1967
  12355. %325 = trunc i6 %324 to i5, !dbg !1968
  12356. %326 = zext i5 %325 to i32, !dbg !1969
  12357. %327 = lshr i32 %320, %326, !dbg !1969
  12358. %328 = zext i32 %327 to i64, !dbg !1969
  12359. ret i64 %328, !dbg !1970
  12360.  
  12361. EndIf52: ; preds = %Else43
  12362. %329 = getelementptr inbounds [2 x i32], [2 x i32]* %d, i64 0, i64 1, !dbg !1971
  12363. %330 = load i32, i32* %329, align 4, !dbg !1971
  12364. %331 = call i32 @llvm.ctlz.i32(i32 %330, i1 false), !dbg !1972
  12365. %332 = trunc i32 %331 to i6, !dbg !1972
  12366. %333 = zext i6 %332 to i32, !dbg !1973
  12367. %334 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !1974
  12368. %335 = load i32, i32* %334, align 4, !dbg !1974
  12369. %336 = call i32 @llvm.ctlz.i32(i32 %335, i1 false), !dbg !1975
  12370. %337 = trunc i32 %336 to i6, !dbg !1975
  12371. %338 = zext i6 %337 to i32, !dbg !1976
  12372. %339 = sub nsw i32 %333, %338, !dbg !1977
  12373. store i32 %339, i32* %sr, align 4, !dbg !1978
  12374. %340 = load i32, i32* %sr, align 4, !dbg !1979
  12375. %341 = icmp ugt i32 %340, 30, !dbg !1980
  12376. br i1 %341, label %Then54, label %Else55, !dbg !1980
  12377.  
  12378. EndIf53: ; preds = %EndIf48, %EndIf47
  12379. br label %EndIf60, !dbg !1981
  12380.  
  12381. Then54: ; preds = %EndIf52
  12382. %342 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  12383. %343 = icmp ne i64* %342, null, !dbg !1982
  12384. br i1 %343, label %MaybeThen56, label %MaybeElse57, !dbg !1982
  12385.  
  12386. Else55: ; preds = %EndIf52
  12387. br label %EndIf59, !dbg !1983
  12388.  
  12389. MaybeThen56: ; preds = %Then54
  12390. %344 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  12391. %345 = load i64*, i64** %maybe_rem, align 8, !dbg !1982
  12392. store i64* %345, i64** %rem70, align 8, !dbg !1982
  12393. call void @llvm.dbg.declare(metadata i64** %rem70, metadata !1663, metadata !277), !dbg !1982
  12394. %346 = load i64*, i64** %rem70, align 8, !dbg !1984
  12395. %347 = load i64, i64* %a, align 8, !dbg !1987
  12396. store i64 %347, i64* %346, align 8, !dbg !1988
  12397. br label %MaybeEndIf58, !dbg !1982
  12398.  
  12399. MaybeElse57: ; preds = %Then54
  12400. br label %MaybeEndIf58, !dbg !1982
  12401.  
  12402. MaybeEndIf58: ; preds = %MaybeElse57, %MaybeThen56
  12403. ret i64 0, !dbg !1989
  12404.  
  12405. EndIf59: ; preds = %Else55
  12406. %348 = load i32, i32* %sr, align 4, !dbg !1990
  12407. %349 = add nuw i32 %348, 1, !dbg !1991
  12408. store i32 %349, i32* %sr, align 4, !dbg !1991
  12409. %350 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !1992
  12410. store i32 0, i32* %350, align 4, !dbg !1993
  12411. %351 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !1994
  12412. %352 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !1995
  12413. %353 = load i32, i32* %352, align 4, !dbg !1995
  12414. %354 = load i32, i32* %sr, align 4, !dbg !1996
  12415. %355 = sub nuw i32 32, %354, !dbg !1997
  12416. %356 = trunc i32 %355 to i5, !dbg !1998
  12417. %357 = zext i5 %356 to i32, !dbg !1999
  12418. %358 = shl i32 %353, %357, !dbg !1999
  12419. store i32 %358, i32* %351, align 4, !dbg !2000
  12420. %359 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2001
  12421. %360 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !2002
  12422. %361 = load i32, i32* %360, align 4, !dbg !2002
  12423. %362 = load i32, i32* %sr, align 4, !dbg !2003
  12424. %363 = trunc i32 %362 to i5, !dbg !2004
  12425. %364 = zext i5 %363 to i32, !dbg !2005
  12426. %365 = lshr i32 %361, %364, !dbg !2005
  12427. store i32 %365, i32* %359, align 4, !dbg !2006
  12428. %366 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2007
  12429. %367 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 1, !dbg !2008
  12430. %368 = load i32, i32* %367, align 4, !dbg !2008
  12431. %369 = load i32, i32* %sr, align 4, !dbg !2009
  12432. %370 = sub nuw i32 32, %369, !dbg !2010
  12433. %371 = trunc i32 %370 to i5, !dbg !2011
  12434. %372 = zext i5 %371 to i32, !dbg !2012
  12435. %373 = shl i32 %368, %372, !dbg !2012
  12436. %374 = getelementptr inbounds [2 x i32], [2 x i32]* %n, i64 0, i64 0, !dbg !2013
  12437. %375 = load i32, i32* %374, align 4, !dbg !2013
  12438. %376 = load i32, i32* %sr, align 4, !dbg !2014
  12439. %377 = trunc i32 %376 to i5, !dbg !2015
  12440. %378 = zext i5 %377 to i32, !dbg !2016
  12441. %379 = lshr i32 %375, %378, !dbg !2016
  12442. %380 = or i32 %373, %379, !dbg !2017
  12443. store i32 %380, i32* %366, align 4, !dbg !2018
  12444. br label %EndIf60, !dbg !1981
  12445.  
  12446. EndIf60: ; preds = %EndIf59, %EndIf53
  12447. store i32 0, i32* %carry, align 4, !dbg !2019
  12448. call void @llvm.dbg.declare(metadata i32* %carry, metadata !1665, metadata !277), !dbg !2019
  12449. call void @llvm.dbg.declare(metadata i64* %r_all, metadata !1666, metadata !277), !dbg !2020
  12450. br label %WhileCond, !dbg !2021
  12451.  
  12452. WhileCond: ; preds = %WhileBody, %EndIf60
  12453. %381 = load i32, i32* %sr, align 4, !dbg !2022
  12454. %382 = icmp ugt i32 %381, 0, !dbg !2023
  12455. br i1 %382, label %WhileBody, label %WhileEnd, !dbg !2023
  12456.  
  12457. WhileBody: ; preds = %WhileCond
  12458. %383 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2024
  12459. %384 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 1, !dbg !2025
  12460. %385 = load i32, i32* %384, align 4, !dbg !2025
  12461. %386 = shl i32 %385, 1, !dbg !2026
  12462. %387 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2027
  12463. %388 = load i32, i32* %387, align 4, !dbg !2027
  12464. %389 = lshr i32 %388, 31, !dbg !2028
  12465. %390 = or i32 %386, %389, !dbg !2029
  12466. store i32 %390, i32* %383, align 4, !dbg !2030
  12467. %391 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2031
  12468. %392 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2032
  12469. %393 = load i32, i32* %392, align 4, !dbg !2032
  12470. %394 = shl i32 %393, 1, !dbg !2033
  12471. %395 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2034
  12472. %396 = load i32, i32* %395, align 4, !dbg !2034
  12473. %397 = lshr i32 %396, 31, !dbg !2035
  12474. %398 = or i32 %394, %397, !dbg !2036
  12475. store i32 %398, i32* %391, align 4, !dbg !2037
  12476. %399 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2038
  12477. %400 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 1, !dbg !2039
  12478. %401 = load i32, i32* %400, align 4, !dbg !2039
  12479. %402 = shl i32 %401, 1, !dbg !2040
  12480. %403 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2041
  12481. %404 = load i32, i32* %403, align 4, !dbg !2041
  12482. %405 = lshr i32 %404, 31, !dbg !2042
  12483. %406 = or i32 %402, %405, !dbg !2043
  12484. store i32 %406, i32* %399, align 4, !dbg !2044
  12485. %407 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2045
  12486. %408 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2046
  12487. %409 = load i32, i32* %408, align 4, !dbg !2046
  12488. %410 = shl i32 %409, 1, !dbg !2047
  12489. %411 = load i32, i32* %carry, align 4, !dbg !2048
  12490. %412 = or i32 %410, %411, !dbg !2049
  12491. store i32 %412, i32* %407, align 4, !dbg !2050
  12492. %413 = getelementptr inbounds [2 x i32], [2 x i32]* %r, i64 0, i64 0, !dbg !2051
  12493. %414 = bitcast i32* %413 to i64*, !dbg !2052
  12494. %415 = load i64, i64* %414, align 4, !dbg !2053
  12495. store i64 %415, i64* %r_all, align 8, !dbg !2054
  12496. %416 = load i64, i64* %b, align 8, !dbg !2055
  12497. %417 = load i64, i64* %r_all, align 8, !dbg !2056
  12498. %418 = sub i64 %416, %417, !dbg !2057
  12499. %419 = sub i64 %418, 1, !dbg !2058
  12500. %420 = ashr i64 %419, 63, !dbg !2059
  12501. store i64 %420, i64* %s, align 8, !dbg !2060
  12502. call void @llvm.dbg.declare(metadata i64* %s, metadata !1668, metadata !277), !dbg !2060
  12503. %421 = load i64, i64* %s, align 8, !dbg !2061
  12504. %422 = and i64 %421, 1, !dbg !2063
  12505. %423 = trunc i64 %422 to i32, !dbg !2064
  12506. store i32 %423, i32* %carry, align 4, !dbg !2065
  12507. %424 = load i64, i64* %r_all, align 8, !dbg !2066
  12508. %425 = load i64, i64* %b, align 8, !dbg !2067
  12509. %426 = load i64, i64* %s, align 8, !dbg !2068
  12510. %427 = and i64 %425, %426, !dbg !2069
  12511. %428 = sub nuw i64 %424, %427, !dbg !2070
  12512. store i64 %428, i64* %r_all, align 8, !dbg !2070
  12513. %429 = bitcast i64* %r_all to [2 x i32]*, !dbg !2071
  12514. %430 = bitcast [2 x i32]* %429 to i8*, !dbg !2072
  12515. %431 = bitcast [2 x i32]* %r to i8*, !dbg !2072
  12516. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %431, i8* %430, i64 8, i32 4, i1 false), !dbg !2072
  12517. %432 = load i32, i32* %sr, align 4, !dbg !2073
  12518. %433 = sub nuw i32 %432, 1, !dbg !2074
  12519. store i32 %433, i32* %sr, align 4, !dbg !2074
  12520. br label %WhileCond, !dbg !2021
  12521.  
  12522. WhileEnd: ; preds = %WhileCond
  12523. %434 = getelementptr inbounds [2 x i32], [2 x i32]* %q, i64 0, i64 0, !dbg !2075
  12524. %435 = bitcast i32* %434 to i64*, !dbg !2076
  12525. %436 = load i64, i64* %435, align 4, !dbg !2077
  12526. %437 = shl i64 %436, 1, !dbg !2078
  12527. %438 = load i32, i32* %carry, align 4, !dbg !2079
  12528. %439 = zext i32 %438 to i64, !dbg !2079
  12529. %440 = or i64 %437, %439, !dbg !2080
  12530. store i64 %440, i64* %q_all, align 8, !dbg !2081
  12531. call void @llvm.dbg.declare(metadata i64* %q_all, metadata !1672, metadata !277), !dbg !2081
  12532. %441 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  12533. %442 = icmp ne i64* %441, null, !dbg !2082
  12534. br i1 %442, label %MaybeThen61, label %MaybeElse62, !dbg !2082
  12535.  
  12536. MaybeThen61: ; preds = %WhileEnd
  12537. %443 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  12538. %444 = load i64*, i64** %maybe_rem, align 8, !dbg !2082
  12539. store i64* %444, i64** %rem71, align 8, !dbg !2082
  12540. call void @llvm.dbg.declare(metadata i64** %rem71, metadata !1673, metadata !277), !dbg !2082
  12541. %445 = load i64*, i64** %rem71, align 8, !dbg !2083
  12542. %446 = load i64, i64* %r_all, align 8, !dbg !2086
  12543. store i64 %446, i64* %445, align 8, !dbg !2087
  12544. br label %MaybeEndIf63, !dbg !2082
  12545.  
  12546. MaybeElse62: ; preds = %WhileEnd
  12547. br label %MaybeEndIf63, !dbg !2082
  12548.  
  12549. MaybeEndIf63: ; preds = %MaybeElse62, %MaybeThen61
  12550. %447 = load i64, i64* %q_all, align 8, !dbg !2088
  12551. ret i64 %447, !dbg !2089
  12552. }
  12553.  
  12554. ; Function Attrs: nobuiltin nounwind
  12555. define internal fastcc i128 @udivmod.11(i128, i128, i128*) unnamed_addr #0 !dbg !2090 {
  12556. Entry:
  12557. %a = alloca i128, align 8
  12558. %b = alloca i128, align 8
  12559. %maybe_rem = alloca i128*, align 8
  12560. %n = alloca [2 x i64], align 8
  12561. %d = alloca [2 x i64], align 8
  12562. %q = alloca [2 x i64], align 8
  12563. %r = alloca [2 x i64], align 8
  12564. %sr = alloca i32, align 4
  12565. %rem = alloca i128*, align 8
  12566. %rem64 = alloca i128*, align 8
  12567. %rem65 = alloca i128*, align 8
  12568. %rem66 = alloca i128*, align 8
  12569. %rem67 = alloca i128*, align 8
  12570. %rem68 = alloca i128*, align 8
  12571. %rem69 = alloca i128*, align 8
  12572. %rem70 = alloca i128*, align 8
  12573. %carry = alloca i32, align 4
  12574. %r_all = alloca i128, align 8
  12575. %s = alloca i128, align 8
  12576. %q_all = alloca i128, align 8
  12577. %rem71 = alloca i128*, align 8
  12578. store i128 %0, i128* %a, align 8
  12579. call void @llvm.dbg.declare(metadata i128* %a, metadata !2092, metadata !277), !dbg !2146
  12580. store i128 %1, i128* %b, align 8
  12581. call void @llvm.dbg.declare(metadata i128* %b, metadata !2097, metadata !277), !dbg !2147
  12582. store i128* %2, i128** %maybe_rem, align 8
  12583. call void @llvm.dbg.declare(metadata i128** %maybe_rem, metadata !2099, metadata !277), !dbg !2148
  12584. %3 = bitcast i128* %a to [2 x i64]*, !dbg !2149
  12585. %4 = bitcast [2 x i64]* %3 to i8*, !dbg !2150
  12586. %5 = bitcast [2 x i64]* %n to i8*, !dbg !2150
  12587. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* %4, i64 16, i32 8, i1 false), !dbg !2150
  12588. call void @llvm.dbg.declare(metadata [2 x i64]* %n, metadata !2101, metadata !277), !dbg !2150
  12589. %6 = bitcast i128* %b to [2 x i64]*, !dbg !2151
  12590. %7 = bitcast [2 x i64]* %6 to i8*, !dbg !2152
  12591. %8 = bitcast [2 x i64]* %d to i8*, !dbg !2152
  12592. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %8, i8* %7, i64 16, i32 8, i1 false), !dbg !2152
  12593. call void @llvm.dbg.declare(metadata [2 x i64]* %d, metadata !2108, metadata !277), !dbg !2152
  12594. %9 = bitcast [2 x i64]* %q to i8*, !dbg !2153
  12595. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %9, i8* bitcast ([2 x i64]* @5 to i8*), i64 16, i32 8, i1 false), !dbg !2153
  12596. call void @llvm.dbg.declare(metadata [2 x i64]* %q, metadata !2110, metadata !277), !dbg !2153
  12597. %10 = bitcast [2 x i64]* %r to i8*, !dbg !2154
  12598. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %10, i8* bitcast ([2 x i64]* @6 to i8*), i64 16, i32 8, i1 false), !dbg !2154
  12599. call void @llvm.dbg.declare(metadata [2 x i64]* %r, metadata !2112, metadata !277), !dbg !2154
  12600. call void @llvm.dbg.declare(metadata i32* %sr, metadata !2114, metadata !277), !dbg !2155
  12601. %11 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2156
  12602. %12 = load i64, i64* %11, align 8, !dbg !2156
  12603. %13 = icmp eq i64 %12, 0, !dbg !2157
  12604. br i1 %13, label %Then, label %Else, !dbg !2157
  12605.  
  12606. Then: ; preds = %Entry
  12607. %14 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2158
  12608. %15 = load i64, i64* %14, align 8, !dbg !2158
  12609. %16 = icmp eq i64 %15, 0, !dbg !2159
  12610. br i1 %16, label %Then1, label %Else2, !dbg !2159
  12611.  
  12612. Else: ; preds = %Entry
  12613. br label %EndIf6, !dbg !2160
  12614.  
  12615. Then1: ; preds = %Then
  12616. %17 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  12617. %18 = icmp ne i128* %17, null, !dbg !2161
  12618. br i1 %18, label %MaybeThen, label %MaybeElse, !dbg !2161
  12619.  
  12620. Else2: ; preds = %Then
  12621. br label %EndIf, !dbg !2162
  12622.  
  12623. MaybeThen: ; preds = %Then1
  12624. %19 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  12625. %20 = load i128*, i128** %maybe_rem, align 8, !dbg !2161
  12626. store i128* %20, i128** %rem, align 8, !dbg !2161
  12627. call void @llvm.dbg.declare(metadata i128** %rem, metadata !2116, metadata !277), !dbg !2161
  12628. %21 = load i128*, i128** %rem, align 8, !dbg !2163
  12629. %22 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2166
  12630. %23 = load i64, i64* %22, align 8, !dbg !2166
  12631. %24 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2167
  12632. %25 = load i64, i64* %24, align 8, !dbg !2167
  12633. %26 = urem i64 %23, %25, !dbg !2168
  12634. %27 = zext i64 %26 to i128, !dbg !2168
  12635. store i128 %27, i128* %21, align 8, !dbg !2169
  12636. br label %MaybeEndIf, !dbg !2161
  12637.  
  12638. MaybeElse: ; preds = %Then1
  12639. br label %MaybeEndIf, !dbg !2161
  12640.  
  12641. MaybeEndIf: ; preds = %MaybeElse, %MaybeThen
  12642. %28 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2170
  12643. %29 = load i64, i64* %28, align 8, !dbg !2170
  12644. %30 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2171
  12645. %31 = load i64, i64* %30, align 8, !dbg !2171
  12646. %32 = udiv i64 %29, %31, !dbg !2172
  12647. %33 = zext i64 %32 to i128, !dbg !2172
  12648. ret i128 %33, !dbg !2173
  12649.  
  12650. EndIf: ; preds = %Else2
  12651. %34 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  12652. %35 = icmp ne i128* %34, null, !dbg !2174
  12653. br i1 %35, label %MaybeThen3, label %MaybeElse4, !dbg !2174
  12654.  
  12655. MaybeThen3: ; preds = %EndIf
  12656. %36 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  12657. %37 = load i128*, i128** %maybe_rem, align 8, !dbg !2174
  12658. store i128* %37, i128** %rem64, align 8, !dbg !2174
  12659. call void @llvm.dbg.declare(metadata i128** %rem64, metadata !2120, metadata !277), !dbg !2174
  12660. %38 = load i128*, i128** %rem64, align 8, !dbg !2175
  12661. %39 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2178
  12662. %40 = load i64, i64* %39, align 8, !dbg !2178
  12663. %41 = zext i64 %40 to i128, !dbg !2178
  12664. store i128 %41, i128* %38, align 8, !dbg !2179
  12665. br label %MaybeEndIf5, !dbg !2174
  12666.  
  12667. MaybeElse4: ; preds = %EndIf
  12668. br label %MaybeEndIf5, !dbg !2174
  12669.  
  12670. MaybeEndIf5: ; preds = %MaybeElse4, %MaybeThen3
  12671. ret i128 0, !dbg !2180
  12672.  
  12673. EndIf6: ; preds = %Else
  12674. %42 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2181
  12675. %43 = load i64, i64* %42, align 8, !dbg !2181
  12676. %44 = icmp eq i64 %43, 0, !dbg !2182
  12677. br i1 %44, label %Then7, label %Else8, !dbg !2182
  12678.  
  12679. Then7: ; preds = %EndIf6
  12680. %45 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2183
  12681. %46 = load i64, i64* %45, align 8, !dbg !2183
  12682. %47 = icmp eq i64 %46, 0, !dbg !2184
  12683. br i1 %47, label %Then9, label %Else10, !dbg !2184
  12684.  
  12685. Else8: ; preds = %EndIf6
  12686. %48 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2185
  12687. %49 = load i64, i64* %48, align 8, !dbg !2185
  12688. %50 = icmp eq i64 %49, 0, !dbg !2186
  12689. br i1 %50, label %Then11, label %Else12, !dbg !2186
  12690.  
  12691. Then9: ; preds = %Then7
  12692. %51 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  12693. %52 = icmp ne i128* %51, null, !dbg !2187
  12694. br i1 %52, label %MaybeThen13, label %MaybeElse14, !dbg !2187
  12695.  
  12696. Else10: ; preds = %Then7
  12697. br label %EndIf16, !dbg !2188
  12698.  
  12699. Then11: ; preds = %Else8
  12700. %53 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2189
  12701. %54 = load i64, i64* %53, align 8, !dbg !2189
  12702. %55 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2190
  12703. %56 = load i64, i64* %55, align 8, !dbg !2190
  12704. %57 = sub nuw i64 %56, 1, !dbg !2191
  12705. %58 = and i64 %54, %57, !dbg !2192
  12706. %59 = icmp eq i64 %58, 0, !dbg !2193
  12707. br i1 %59, label %Then17, label %Else18, !dbg !2193
  12708.  
  12709. Else12: ; preds = %Else8
  12710. %60 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2194
  12711. %61 = load i64, i64* %60, align 8, !dbg !2194
  12712. %62 = call i64 @llvm.ctlz.i64(i64 %61, i1 false), !dbg !2195
  12713. %63 = trunc i64 %62 to i7, !dbg !2195
  12714. %64 = zext i7 %63 to i32, !dbg !2196
  12715. %65 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2197
  12716. %66 = load i64, i64* %65, align 8, !dbg !2197
  12717. %67 = call i64 @llvm.ctlz.i64(i64 %66, i1 false), !dbg !2198
  12718. %68 = trunc i64 %67 to i7, !dbg !2198
  12719. %69 = zext i7 %68 to i32, !dbg !2199
  12720. %70 = sub nsw i32 %64, %69, !dbg !2200
  12721. store i32 %70, i32* %sr, align 4, !dbg !2201
  12722. %71 = load i32, i32* %sr, align 4, !dbg !2202
  12723. %72 = icmp ugt i32 %71, 63, !dbg !2203
  12724. br i1 %72, label %Then19, label %Else20, !dbg !2203
  12725.  
  12726. MaybeThen13: ; preds = %Then9
  12727. %73 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  12728. %74 = load i128*, i128** %maybe_rem, align 8, !dbg !2187
  12729. store i128* %74, i128** %rem65, align 8, !dbg !2187
  12730. call void @llvm.dbg.declare(metadata i128** %rem65, metadata !2121, metadata !277), !dbg !2187
  12731. %75 = load i128*, i128** %rem65, align 8, !dbg !2204
  12732. %76 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2207
  12733. %77 = load i64, i64* %76, align 8, !dbg !2207
  12734. %78 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2208
  12735. %79 = load i64, i64* %78, align 8, !dbg !2208
  12736. %80 = urem i64 %77, %79, !dbg !2209
  12737. %81 = zext i64 %80 to i128, !dbg !2209
  12738. store i128 %81, i128* %75, align 8, !dbg !2210
  12739. br label %MaybeEndIf15, !dbg !2187
  12740.  
  12741. MaybeElse14: ; preds = %Then9
  12742. br label %MaybeEndIf15, !dbg !2187
  12743.  
  12744. MaybeEndIf15: ; preds = %MaybeElse14, %MaybeThen13
  12745. %82 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2211
  12746. %83 = load i64, i64* %82, align 8, !dbg !2211
  12747. %84 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2212
  12748. %85 = load i64, i64* %84, align 8, !dbg !2212
  12749. %86 = udiv i64 %83, %85, !dbg !2213
  12750. %87 = zext i64 %86 to i128, !dbg !2213
  12751. ret i128 %87, !dbg !2214
  12752.  
  12753. EndIf16: ; preds = %Else10
  12754. %88 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2215
  12755. %89 = load i64, i64* %88, align 8, !dbg !2215
  12756. %90 = icmp eq i64 %89, 0, !dbg !2216
  12757. br i1 %90, label %Then21, label %Else22, !dbg !2216
  12758.  
  12759. Then17: ; preds = %Then11
  12760. %91 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  12761. %92 = icmp ne i128* %91, null, !dbg !2217
  12762. br i1 %92, label %MaybeThen23, label %MaybeElse24, !dbg !2217
  12763.  
  12764. Else18: ; preds = %Then11
  12765. br label %EndIf28, !dbg !2218
  12766.  
  12767. Then19: ; preds = %Else12
  12768. %93 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  12769. %94 = icmp ne i128* %93, null, !dbg !2219
  12770. br i1 %94, label %MaybeThen29, label %MaybeElse30, !dbg !2219
  12771.  
  12772. Else20: ; preds = %Else12
  12773. br label %EndIf32, !dbg !2220
  12774.  
  12775. Then21: ; preds = %EndIf16
  12776. %95 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  12777. %96 = icmp ne i128* %95, null, !dbg !2221
  12778. br i1 %96, label %MaybeThen33, label %MaybeElse34, !dbg !2221
  12779.  
  12780. Else22: ; preds = %EndIf16
  12781. br label %EndIf36, !dbg !2222
  12782.  
  12783. MaybeThen23: ; preds = %Then17
  12784. %97 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  12785. %98 = load i128*, i128** %maybe_rem, align 8, !dbg !2217
  12786. store i128* %98, i128** %rem66, align 8, !dbg !2217
  12787. call void @llvm.dbg.declare(metadata i128** %rem66, metadata !2124, metadata !277), !dbg !2217
  12788. %99 = load i128*, i128** %rem66, align 8, !dbg !2223
  12789. %100 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2226
  12790. %101 = load i64, i64* %100, align 8, !dbg !2226
  12791. %102 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2227
  12792. %103 = load i64, i64* %102, align 8, !dbg !2227
  12793. %104 = sub nuw i64 %103, 1, !dbg !2228
  12794. %105 = and i64 %101, %104, !dbg !2229
  12795. %106 = zext i64 %105 to i128, !dbg !2229
  12796. store i128 %106, i128* %99, align 8, !dbg !2230
  12797. br label %MaybeEndIf37, !dbg !2217
  12798.  
  12799. MaybeElse24: ; preds = %Then17
  12800. br label %MaybeEndIf37, !dbg !2217
  12801.  
  12802. Then25: ; preds = %MaybeEndIf37
  12803. %107 = load i128, i128* %a, align 8, !dbg !2231
  12804. ret i128 %107, !dbg !2233
  12805.  
  12806. Else26: ; preds = %MaybeEndIf37
  12807. br label %EndIf27, !dbg !2234
  12808.  
  12809. EndIf27: ; preds = %Else26
  12810. %108 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2235
  12811. %109 = load i64, i64* %108, align 8, !dbg !2235
  12812. %110 = call i64 @llvm.cttz.i64(i64 %109, i1 false), !dbg !2236
  12813. %111 = trunc i64 %110 to i7, !dbg !2236
  12814. %112 = zext i7 %111 to i32, !dbg !2236
  12815. store i32 %112, i32* %sr, align 4, !dbg !2237
  12816. %113 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2238
  12817. %114 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2239
  12818. %115 = load i64, i64* %114, align 8, !dbg !2239
  12819. %116 = load i32, i32* %sr, align 4, !dbg !2240
  12820. %117 = trunc i32 %116 to i6, !dbg !2241
  12821. %118 = zext i6 %117 to i64, !dbg !2242
  12822. %119 = lshr i64 %115, %118, !dbg !2242
  12823. store i64 %119, i64* %113, align 8, !dbg !2243
  12824. %120 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2244
  12825. %121 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2245
  12826. %122 = load i64, i64* %121, align 8, !dbg !2245
  12827. %123 = load i32, i32* %sr, align 4, !dbg !2246
  12828. %124 = sub nuw i32 64, %123, !dbg !2247
  12829. %125 = trunc i32 %124 to i6, !dbg !2248
  12830. %126 = zext i6 %125 to i64, !dbg !2249
  12831. %127 = shl i64 %122, %126, !dbg !2249
  12832. %128 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2250
  12833. %129 = load i64, i64* %128, align 8, !dbg !2250
  12834. %130 = load i32, i32* %sr, align 4, !dbg !2251
  12835. %131 = trunc i32 %130 to i6, !dbg !2252
  12836. %132 = zext i6 %131 to i64, !dbg !2253
  12837. %133 = lshr i64 %129, %132, !dbg !2253
  12838. %134 = or i64 %127, %133, !dbg !2254
  12839. store i64 %134, i64* %120, align 8, !dbg !2255
  12840. %135 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2256
  12841. %136 = bitcast i64* %135 to i128*, !dbg !2257
  12842. %137 = load i128, i128* %136, align 8, !dbg !2258
  12843. ret i128 %137, !dbg !2259
  12844.  
  12845. EndIf28: ; preds = %Else18
  12846. %138 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2260
  12847. %139 = load i64, i64* %138, align 8, !dbg !2260
  12848. %140 = call i64 @llvm.ctlz.i64(i64 %139, i1 false), !dbg !2261
  12849. %141 = trunc i64 %140 to i7, !dbg !2261
  12850. %142 = zext i7 %141 to i32, !dbg !2262
  12851. %143 = add nuw i32 65, %142, !dbg !2263
  12852. %144 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2264
  12853. %145 = load i64, i64* %144, align 8, !dbg !2264
  12854. %146 = call i64 @llvm.ctlz.i64(i64 %145, i1 false), !dbg !2265
  12855. %147 = trunc i64 %146 to i7, !dbg !2265
  12856. %148 = zext i7 %147 to i32, !dbg !2266
  12857. %149 = sub nuw i32 %143, %148, !dbg !2267
  12858. store i32 %149, i32* %sr, align 4, !dbg !2268
  12859. %150 = load i32, i32* %sr, align 4, !dbg !2269
  12860. %151 = icmp eq i32 %150, 64, !dbg !2270
  12861. br i1 %151, label %Then38, label %Else39, !dbg !2270
  12862.  
  12863. MaybeThen29: ; preds = %Then19
  12864. %152 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  12865. %153 = load i128*, i128** %maybe_rem, align 8, !dbg !2219
  12866. store i128* %153, i128** %rem67, align 8, !dbg !2219
  12867. call void @llvm.dbg.declare(metadata i128** %rem67, metadata !2128, metadata !277), !dbg !2219
  12868. %154 = load i128*, i128** %rem67, align 8, !dbg !2271
  12869. %155 = load i128, i128* %a, align 8, !dbg !2274
  12870. store i128 %155, i128* %154, align 8, !dbg !2275
  12871. br label %MaybeEndIf31, !dbg !2219
  12872.  
  12873. MaybeElse30: ; preds = %Then19
  12874. br label %MaybeEndIf31, !dbg !2219
  12875.  
  12876. MaybeEndIf31: ; preds = %MaybeElse30, %MaybeThen29
  12877. ret i128 0, !dbg !2276
  12878.  
  12879. EndIf32: ; preds = %Else20
  12880. %156 = load i32, i32* %sr, align 4, !dbg !2277
  12881. %157 = add nuw i32 %156, 1, !dbg !2278
  12882. store i32 %157, i32* %sr, align 4, !dbg !2278
  12883. %158 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2279
  12884. store i64 0, i64* %158, align 8, !dbg !2280
  12885. %159 = load i32, i32* %sr, align 4, !dbg !2281
  12886. %160 = icmp eq i32 %159, 64, !dbg !2282
  12887. br i1 %160, label %Then40, label %Else41, !dbg !2282
  12888.  
  12889. MaybeThen33: ; preds = %Then21
  12890. %161 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  12891. %162 = load i128*, i128** %maybe_rem, align 8, !dbg !2221
  12892. store i128* %162, i128** %rem68, align 8, !dbg !2221
  12893. call void @llvm.dbg.declare(metadata i128** %rem68, metadata !2131, metadata !277), !dbg !2221
  12894. %163 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2283
  12895. %164 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2286
  12896. %165 = load i64, i64* %164, align 8, !dbg !2286
  12897. %166 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2287
  12898. %167 = load i64, i64* %166, align 8, !dbg !2287
  12899. %168 = urem i64 %165, %167, !dbg !2288
  12900. store i64 %168, i64* %163, align 8, !dbg !2289
  12901. %169 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2290
  12902. store i64 0, i64* %169, align 8, !dbg !2291
  12903. %170 = load i128*, i128** %rem68, align 8, !dbg !2292
  12904. %171 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2293
  12905. %172 = bitcast i64* %171 to i128*, !dbg !2294
  12906. %173 = load i128, i128* %172, align 8, !dbg !2295
  12907. store i128 %173, i128* %170, align 8, !dbg !2296
  12908. br label %MaybeEndIf35, !dbg !2221
  12909.  
  12910. MaybeElse34: ; preds = %Then21
  12911. br label %MaybeEndIf35, !dbg !2221
  12912.  
  12913. MaybeEndIf35: ; preds = %MaybeElse34, %MaybeThen33
  12914. %174 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2297
  12915. %175 = load i64, i64* %174, align 8, !dbg !2297
  12916. %176 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2298
  12917. %177 = load i64, i64* %176, align 8, !dbg !2298
  12918. %178 = udiv i64 %175, %177, !dbg !2299
  12919. %179 = zext i64 %178 to i128, !dbg !2299
  12920. ret i128 %179, !dbg !2300
  12921.  
  12922. EndIf36: ; preds = %Else22
  12923. %180 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2301
  12924. %181 = load i64, i64* %180, align 8, !dbg !2301
  12925. %182 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2302
  12926. %183 = load i64, i64* %182, align 8, !dbg !2302
  12927. %184 = sub nuw i64 %183, 1, !dbg !2303
  12928. %185 = and i64 %181, %184, !dbg !2304
  12929. %186 = icmp eq i64 %185, 0, !dbg !2305
  12930. br i1 %186, label %Then42, label %Else43, !dbg !2305
  12931.  
  12932. MaybeEndIf37: ; preds = %MaybeElse24, %MaybeThen23
  12933. %187 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 0, !dbg !2306
  12934. %188 = load i64, i64* %187, align 8, !dbg !2306
  12935. %189 = icmp eq i64 %188, 1, !dbg !2307
  12936. br i1 %189, label %Then25, label %Else26, !dbg !2307
  12937.  
  12938. Then38: ; preds = %EndIf28
  12939. %190 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2308
  12940. store i64 0, i64* %190, align 8, !dbg !2310
  12941. %191 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2311
  12942. %192 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2312
  12943. %193 = load i64, i64* %192, align 8, !dbg !2312
  12944. store i64 %193, i64* %191, align 8, !dbg !2313
  12945. %194 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2314
  12946. store i64 0, i64* %194, align 8, !dbg !2315
  12947. %195 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2316
  12948. %196 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2317
  12949. %197 = load i64, i64* %196, align 8, !dbg !2317
  12950. store i64 %197, i64* %195, align 8, !dbg !2318
  12951. br label %EndIf47, !dbg !2319
  12952.  
  12953. Else39: ; preds = %EndIf28
  12954. %198 = load i32, i32* %sr, align 4, !dbg !2320
  12955. %199 = icmp ult i32 %198, 64, !dbg !2321
  12956. br i1 %199, label %Then44, label %Else45, !dbg !2321
  12957.  
  12958. Then40: ; preds = %EndIf32
  12959. %200 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2322
  12960. %201 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2324
  12961. %202 = load i64, i64* %201, align 8, !dbg !2324
  12962. store i64 %202, i64* %200, align 8, !dbg !2325
  12963. %203 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2326
  12964. store i64 0, i64* %203, align 8, !dbg !2327
  12965. %204 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2328
  12966. %205 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2329
  12967. %206 = load i64, i64* %205, align 8, !dbg !2329
  12968. store i64 %206, i64* %204, align 8, !dbg !2330
  12969. br label %EndIf48, !dbg !2331
  12970.  
  12971. Else41: ; preds = %EndIf32
  12972. %207 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2332
  12973. %208 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2334
  12974. %209 = load i64, i64* %208, align 8, !dbg !2334
  12975. %210 = load i32, i32* %sr, align 4, !dbg !2335
  12976. %211 = trunc i32 %210 to i6, !dbg !2336
  12977. %212 = zext i6 %211 to i64, !dbg !2337
  12978. %213 = lshr i64 %209, %212, !dbg !2337
  12979. store i64 %213, i64* %207, align 8, !dbg !2338
  12980. %214 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2339
  12981. %215 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2340
  12982. %216 = load i64, i64* %215, align 8, !dbg !2340
  12983. %217 = load i32, i32* %sr, align 4, !dbg !2341
  12984. %218 = sub nuw i32 64, %217, !dbg !2342
  12985. %219 = trunc i32 %218 to i6, !dbg !2343
  12986. %220 = zext i6 %219 to i64, !dbg !2344
  12987. %221 = shl i64 %216, %220, !dbg !2344
  12988. %222 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2345
  12989. %223 = load i64, i64* %222, align 8, !dbg !2345
  12990. %224 = load i32, i32* %sr, align 4, !dbg !2346
  12991. %225 = trunc i32 %224 to i6, !dbg !2347
  12992. %226 = zext i6 %225 to i64, !dbg !2348
  12993. %227 = lshr i64 %223, %226, !dbg !2348
  12994. %228 = or i64 %221, %227, !dbg !2349
  12995. store i64 %228, i64* %214, align 8, !dbg !2350
  12996. %229 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2351
  12997. %230 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2352
  12998. %231 = load i64, i64* %230, align 8, !dbg !2352
  12999. %232 = load i32, i32* %sr, align 4, !dbg !2353
  13000. %233 = sub nuw i32 64, %232, !dbg !2354
  13001. %234 = trunc i32 %233 to i6, !dbg !2355
  13002. %235 = zext i6 %234 to i64, !dbg !2356
  13003. %236 = shl i64 %231, %235, !dbg !2356
  13004. store i64 %236, i64* %229, align 8, !dbg !2357
  13005. br label %EndIf48, !dbg !2331
  13006.  
  13007. Then42: ; preds = %EndIf36
  13008. %237 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  13009. %238 = icmp ne i128* %237, null, !dbg !2358
  13010. br i1 %238, label %MaybeThen49, label %MaybeElse50, !dbg !2358
  13011.  
  13012. Else43: ; preds = %EndIf36
  13013. br label %EndIf52, !dbg !2359
  13014.  
  13015. Then44: ; preds = %Else39
  13016. %239 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2360
  13017. store i64 0, i64* %239, align 8, !dbg !2362
  13018. %240 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2363
  13019. %241 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2364
  13020. %242 = load i64, i64* %241, align 8, !dbg !2364
  13021. %243 = load i32, i32* %sr, align 4, !dbg !2365
  13022. %244 = sub nuw i32 64, %243, !dbg !2366
  13023. %245 = trunc i32 %244 to i6, !dbg !2367
  13024. %246 = zext i6 %245 to i64, !dbg !2368
  13025. %247 = shl i64 %242, %246, !dbg !2368
  13026. store i64 %247, i64* %240, align 8, !dbg !2369
  13027. %248 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2370
  13028. %249 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2371
  13029. %250 = load i64, i64* %249, align 8, !dbg !2371
  13030. %251 = load i32, i32* %sr, align 4, !dbg !2372
  13031. %252 = trunc i32 %251 to i6, !dbg !2373
  13032. %253 = zext i6 %252 to i64, !dbg !2374
  13033. %254 = lshr i64 %250, %253, !dbg !2374
  13034. store i64 %254, i64* %248, align 8, !dbg !2375
  13035. %255 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2376
  13036. %256 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2377
  13037. %257 = load i64, i64* %256, align 8, !dbg !2377
  13038. %258 = load i32, i32* %sr, align 4, !dbg !2378
  13039. %259 = sub nuw i32 64, %258, !dbg !2379
  13040. %260 = trunc i32 %259 to i6, !dbg !2380
  13041. %261 = zext i6 %260 to i64, !dbg !2381
  13042. %262 = shl i64 %257, %261, !dbg !2381
  13043. %263 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2382
  13044. %264 = load i64, i64* %263, align 8, !dbg !2382
  13045. %265 = load i32, i32* %sr, align 4, !dbg !2383
  13046. %266 = trunc i32 %265 to i6, !dbg !2384
  13047. %267 = zext i6 %266 to i64, !dbg !2385
  13048. %268 = lshr i64 %264, %267, !dbg !2385
  13049. %269 = or i64 %262, %268, !dbg !2386
  13050. store i64 %269, i64* %255, align 8, !dbg !2387
  13051. br label %EndIf46, !dbg !2388
  13052.  
  13053. Else45: ; preds = %Else39
  13054. %270 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2389
  13055. %271 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2391
  13056. %272 = load i64, i64* %271, align 8, !dbg !2391
  13057. %273 = load i32, i32* %sr, align 4, !dbg !2392
  13058. %274 = sub nuw i32 128, %273, !dbg !2393
  13059. %275 = trunc i32 %274 to i6, !dbg !2394
  13060. %276 = zext i6 %275 to i64, !dbg !2395
  13061. %277 = shl i64 %272, %276, !dbg !2395
  13062. store i64 %277, i64* %270, align 8, !dbg !2396
  13063. %278 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2397
  13064. %279 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2398
  13065. %280 = load i64, i64* %279, align 8, !dbg !2398
  13066. %281 = load i32, i32* %sr, align 4, !dbg !2399
  13067. %282 = sub nuw i32 128, %281, !dbg !2400
  13068. %283 = trunc i32 %282 to i6, !dbg !2401
  13069. %284 = zext i6 %283 to i64, !dbg !2402
  13070. %285 = shl i64 %280, %284, !dbg !2402
  13071. %286 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2403
  13072. %287 = load i64, i64* %286, align 8, !dbg !2403
  13073. %288 = load i32, i32* %sr, align 4, !dbg !2404
  13074. %289 = sub nuw i32 %288, 64, !dbg !2405
  13075. %290 = trunc i32 %289 to i6, !dbg !2406
  13076. %291 = zext i6 %290 to i64, !dbg !2407
  13077. %292 = lshr i64 %287, %291, !dbg !2407
  13078. %293 = or i64 %285, %292, !dbg !2408
  13079. store i64 %293, i64* %278, align 8, !dbg !2409
  13080. %294 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2410
  13081. store i64 0, i64* %294, align 8, !dbg !2411
  13082. %295 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2412
  13083. %296 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2413
  13084. %297 = load i64, i64* %296, align 8, !dbg !2413
  13085. %298 = load i32, i32* %sr, align 4, !dbg !2414
  13086. %299 = sub nuw i32 %298, 64, !dbg !2415
  13087. %300 = trunc i32 %299 to i6, !dbg !2416
  13088. %301 = zext i6 %300 to i64, !dbg !2417
  13089. %302 = lshr i64 %297, %301, !dbg !2417
  13090. store i64 %302, i64* %295, align 8, !dbg !2418
  13091. br label %EndIf46, !dbg !2388
  13092.  
  13093. EndIf46: ; preds = %Else45, %Then44
  13094. br label %EndIf47, !dbg !2319
  13095.  
  13096. EndIf47: ; preds = %EndIf46, %Then38
  13097. br label %EndIf53, !dbg !2419
  13098.  
  13099. EndIf48: ; preds = %Else41, %Then40
  13100. br label %EndIf53, !dbg !2419
  13101.  
  13102. MaybeThen49: ; preds = %Then42
  13103. %303 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  13104. %304 = load i128*, i128** %maybe_rem, align 8, !dbg !2358
  13105. store i128* %304, i128** %rem69, align 8, !dbg !2358
  13106. call void @llvm.dbg.declare(metadata i128** %rem69, metadata !2133, metadata !277), !dbg !2358
  13107. %305 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2420
  13108. %306 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2423
  13109. %307 = load i64, i64* %306, align 8, !dbg !2423
  13110. store i64 %307, i64* %305, align 8, !dbg !2424
  13111. %308 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2425
  13112. %309 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2426
  13113. %310 = load i64, i64* %309, align 8, !dbg !2426
  13114. %311 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2427
  13115. %312 = load i64, i64* %311, align 8, !dbg !2427
  13116. %313 = sub nuw i64 %312, 1, !dbg !2428
  13117. %314 = and i64 %310, %313, !dbg !2429
  13118. store i64 %314, i64* %308, align 8, !dbg !2430
  13119. %315 = load i128*, i128** %rem69, align 8, !dbg !2431
  13120. %316 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2432
  13121. %317 = bitcast i64* %316 to i128*, !dbg !2433
  13122. %318 = load i128, i128* %317, align 8, !dbg !2434
  13123. store i128 %318, i128* %315, align 8, !dbg !2435
  13124. br label %MaybeEndIf51, !dbg !2358
  13125.  
  13126. MaybeElse50: ; preds = %Then42
  13127. br label %MaybeEndIf51, !dbg !2358
  13128.  
  13129. MaybeEndIf51: ; preds = %MaybeElse50, %MaybeThen49
  13130. %319 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2436
  13131. %320 = load i64, i64* %319, align 8, !dbg !2436
  13132. %321 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2437
  13133. %322 = load i64, i64* %321, align 8, !dbg !2437
  13134. %323 = call i64 @llvm.cttz.i64(i64 %322, i1 false), !dbg !2438
  13135. %324 = trunc i64 %323 to i7, !dbg !2438
  13136. %325 = trunc i7 %324 to i6, !dbg !2439
  13137. %326 = zext i6 %325 to i64, !dbg !2440
  13138. %327 = lshr i64 %320, %326, !dbg !2440
  13139. %328 = zext i64 %327 to i128, !dbg !2440
  13140. ret i128 %328, !dbg !2441
  13141.  
  13142. EndIf52: ; preds = %Else43
  13143. %329 = getelementptr inbounds [2 x i64], [2 x i64]* %d, i64 0, i64 1, !dbg !2442
  13144. %330 = load i64, i64* %329, align 8, !dbg !2442
  13145. %331 = call i64 @llvm.ctlz.i64(i64 %330, i1 false), !dbg !2443
  13146. %332 = trunc i64 %331 to i7, !dbg !2443
  13147. %333 = zext i7 %332 to i32, !dbg !2444
  13148. %334 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2445
  13149. %335 = load i64, i64* %334, align 8, !dbg !2445
  13150. %336 = call i64 @llvm.ctlz.i64(i64 %335, i1 false), !dbg !2446
  13151. %337 = trunc i64 %336 to i7, !dbg !2446
  13152. %338 = zext i7 %337 to i32, !dbg !2447
  13153. %339 = sub nsw i32 %333, %338, !dbg !2448
  13154. store i32 %339, i32* %sr, align 4, !dbg !2449
  13155. %340 = load i32, i32* %sr, align 4, !dbg !2450
  13156. %341 = icmp ugt i32 %340, 62, !dbg !2451
  13157. br i1 %341, label %Then54, label %Else55, !dbg !2451
  13158.  
  13159. EndIf53: ; preds = %EndIf48, %EndIf47
  13160. br label %EndIf60, !dbg !2452
  13161.  
  13162. Then54: ; preds = %EndIf52
  13163. %342 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  13164. %343 = icmp ne i128* %342, null, !dbg !2453
  13165. br i1 %343, label %MaybeThen56, label %MaybeElse57, !dbg !2453
  13166.  
  13167. Else55: ; preds = %EndIf52
  13168. br label %EndIf59, !dbg !2454
  13169.  
  13170. MaybeThen56: ; preds = %Then54
  13171. %344 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  13172. %345 = load i128*, i128** %maybe_rem, align 8, !dbg !2453
  13173. store i128* %345, i128** %rem70, align 8, !dbg !2453
  13174. call void @llvm.dbg.declare(metadata i128** %rem70, metadata !2135, metadata !277), !dbg !2453
  13175. %346 = load i128*, i128** %rem70, align 8, !dbg !2455
  13176. %347 = load i128, i128* %a, align 8, !dbg !2458
  13177. store i128 %347, i128* %346, align 8, !dbg !2459
  13178. br label %MaybeEndIf58, !dbg !2453
  13179.  
  13180. MaybeElse57: ; preds = %Then54
  13181. br label %MaybeEndIf58, !dbg !2453
  13182.  
  13183. MaybeEndIf58: ; preds = %MaybeElse57, %MaybeThen56
  13184. ret i128 0, !dbg !2460
  13185.  
  13186. EndIf59: ; preds = %Else55
  13187. %348 = load i32, i32* %sr, align 4, !dbg !2461
  13188. %349 = add nuw i32 %348, 1, !dbg !2462
  13189. store i32 %349, i32* %sr, align 4, !dbg !2462
  13190. %350 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2463
  13191. store i64 0, i64* %350, align 8, !dbg !2464
  13192. %351 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2465
  13193. %352 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2466
  13194. %353 = load i64, i64* %352, align 8, !dbg !2466
  13195. %354 = load i32, i32* %sr, align 4, !dbg !2467
  13196. %355 = sub nuw i32 64, %354, !dbg !2468
  13197. %356 = trunc i32 %355 to i6, !dbg !2469
  13198. %357 = zext i6 %356 to i64, !dbg !2470
  13199. %358 = shl i64 %353, %357, !dbg !2470
  13200. store i64 %358, i64* %351, align 8, !dbg !2471
  13201. %359 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2472
  13202. %360 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2473
  13203. %361 = load i64, i64* %360, align 8, !dbg !2473
  13204. %362 = load i32, i32* %sr, align 4, !dbg !2474
  13205. %363 = trunc i32 %362 to i6, !dbg !2475
  13206. %364 = zext i6 %363 to i64, !dbg !2476
  13207. %365 = lshr i64 %361, %364, !dbg !2476
  13208. store i64 %365, i64* %359, align 8, !dbg !2477
  13209. %366 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2478
  13210. %367 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 1, !dbg !2479
  13211. %368 = load i64, i64* %367, align 8, !dbg !2479
  13212. %369 = load i32, i32* %sr, align 4, !dbg !2480
  13213. %370 = sub nuw i32 64, %369, !dbg !2481
  13214. %371 = trunc i32 %370 to i6, !dbg !2482
  13215. %372 = zext i6 %371 to i64, !dbg !2483
  13216. %373 = shl i64 %368, %372, !dbg !2483
  13217. %374 = getelementptr inbounds [2 x i64], [2 x i64]* %n, i64 0, i64 0, !dbg !2484
  13218. %375 = load i64, i64* %374, align 8, !dbg !2484
  13219. %376 = load i32, i32* %sr, align 4, !dbg !2485
  13220. %377 = trunc i32 %376 to i6, !dbg !2486
  13221. %378 = zext i6 %377 to i64, !dbg !2487
  13222. %379 = lshr i64 %375, %378, !dbg !2487
  13223. %380 = or i64 %373, %379, !dbg !2488
  13224. store i64 %380, i64* %366, align 8, !dbg !2489
  13225. br label %EndIf60, !dbg !2452
  13226.  
  13227. EndIf60: ; preds = %EndIf59, %EndIf53
  13228. store i32 0, i32* %carry, align 4, !dbg !2490
  13229. call void @llvm.dbg.declare(metadata i32* %carry, metadata !2137, metadata !277), !dbg !2490
  13230. call void @llvm.dbg.declare(metadata i128* %r_all, metadata !2138, metadata !277), !dbg !2491
  13231. br label %WhileCond, !dbg !2492
  13232.  
  13233. WhileCond: ; preds = %WhileBody, %EndIf60
  13234. %381 = load i32, i32* %sr, align 4, !dbg !2493
  13235. %382 = icmp ugt i32 %381, 0, !dbg !2494
  13236. br i1 %382, label %WhileBody, label %WhileEnd, !dbg !2494
  13237.  
  13238. WhileBody: ; preds = %WhileCond
  13239. %383 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2495
  13240. %384 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 1, !dbg !2496
  13241. %385 = load i64, i64* %384, align 8, !dbg !2496
  13242. %386 = shl i64 %385, 1, !dbg !2497
  13243. %387 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2498
  13244. %388 = load i64, i64* %387, align 8, !dbg !2498
  13245. %389 = lshr i64 %388, 63, !dbg !2499
  13246. %390 = or i64 %386, %389, !dbg !2500
  13247. store i64 %390, i64* %383, align 8, !dbg !2501
  13248. %391 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2502
  13249. %392 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2503
  13250. %393 = load i64, i64* %392, align 8, !dbg !2503
  13251. %394 = shl i64 %393, 1, !dbg !2504
  13252. %395 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2505
  13253. %396 = load i64, i64* %395, align 8, !dbg !2505
  13254. %397 = lshr i64 %396, 63, !dbg !2506
  13255. %398 = or i64 %394, %397, !dbg !2507
  13256. store i64 %398, i64* %391, align 8, !dbg !2508
  13257. %399 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2509
  13258. %400 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 1, !dbg !2510
  13259. %401 = load i64, i64* %400, align 8, !dbg !2510
  13260. %402 = shl i64 %401, 1, !dbg !2511
  13261. %403 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2512
  13262. %404 = load i64, i64* %403, align 8, !dbg !2512
  13263. %405 = lshr i64 %404, 63, !dbg !2513
  13264. %406 = or i64 %402, %405, !dbg !2514
  13265. store i64 %406, i64* %399, align 8, !dbg !2515
  13266. %407 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2516
  13267. %408 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2517
  13268. %409 = load i64, i64* %408, align 8, !dbg !2517
  13269. %410 = shl i64 %409, 1, !dbg !2518
  13270. %411 = load i32, i32* %carry, align 4, !dbg !2519
  13271. %412 = zext i32 %411 to i64, !dbg !2519
  13272. %413 = or i64 %410, %412, !dbg !2520
  13273. store i64 %413, i64* %407, align 8, !dbg !2521
  13274. %414 = getelementptr inbounds [2 x i64], [2 x i64]* %r, i64 0, i64 0, !dbg !2522
  13275. %415 = bitcast i64* %414 to i128*, !dbg !2523
  13276. %416 = load i128, i128* %415, align 8, !dbg !2524
  13277. store i128 %416, i128* %r_all, align 8, !dbg !2525
  13278. %417 = load i128, i128* %b, align 8, !dbg !2526
  13279. %418 = load i128, i128* %r_all, align 8, !dbg !2527
  13280. %419 = sub i128 %417, %418, !dbg !2528
  13281. %420 = sub i128 %419, 1, !dbg !2529
  13282. %421 = ashr i128 %420, 127, !dbg !2530
  13283. store i128 %421, i128* %s, align 8, !dbg !2531
  13284. call void @llvm.dbg.declare(metadata i128* %s, metadata !2140, metadata !277), !dbg !2531
  13285. %422 = load i128, i128* %s, align 8, !dbg !2532
  13286. %423 = and i128 %422, 1, !dbg !2534
  13287. %424 = trunc i128 %423 to i32, !dbg !2535
  13288. store i32 %424, i32* %carry, align 4, !dbg !2536
  13289. %425 = load i128, i128* %r_all, align 8, !dbg !2537
  13290. %426 = load i128, i128* %b, align 8, !dbg !2538
  13291. %427 = load i128, i128* %s, align 8, !dbg !2539
  13292. %428 = and i128 %426, %427, !dbg !2540
  13293. %429 = sub nuw i128 %425, %428, !dbg !2541
  13294. store i128 %429, i128* %r_all, align 8, !dbg !2541
  13295. %430 = bitcast i128* %r_all to [2 x i64]*, !dbg !2542
  13296. %431 = bitcast [2 x i64]* %430 to i8*, !dbg !2543
  13297. %432 = bitcast [2 x i64]* %r to i8*, !dbg !2543
  13298. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %432, i8* %431, i64 16, i32 8, i1 false), !dbg !2543
  13299. %433 = load i32, i32* %sr, align 4, !dbg !2544
  13300. %434 = sub nuw i32 %433, 1, !dbg !2545
  13301. store i32 %434, i32* %sr, align 4, !dbg !2545
  13302. br label %WhileCond, !dbg !2492
  13303.  
  13304. WhileEnd: ; preds = %WhileCond
  13305. %435 = getelementptr inbounds [2 x i64], [2 x i64]* %q, i64 0, i64 0, !dbg !2546
  13306. %436 = bitcast i64* %435 to i128*, !dbg !2547
  13307. %437 = load i128, i128* %436, align 8, !dbg !2548
  13308. %438 = shl i128 %437, 1, !dbg !2549
  13309. %439 = load i32, i32* %carry, align 4, !dbg !2550
  13310. %440 = zext i32 %439 to i128, !dbg !2550
  13311. %441 = or i128 %438, %440, !dbg !2551
  13312. store i128 %441, i128* %q_all, align 8, !dbg !2552
  13313. call void @llvm.dbg.declare(metadata i128* %q_all, metadata !2143, metadata !277), !dbg !2552
  13314. %442 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  13315. %443 = icmp ne i128* %442, null, !dbg !2553
  13316. br i1 %443, label %MaybeThen61, label %MaybeElse62, !dbg !2553
  13317.  
  13318. MaybeThen61: ; preds = %WhileEnd
  13319. %444 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  13320. %445 = load i128*, i128** %maybe_rem, align 8, !dbg !2553
  13321. store i128* %445, i128** %rem71, align 8, !dbg !2553
  13322. call void @llvm.dbg.declare(metadata i128** %rem71, metadata !2144, metadata !277), !dbg !2553
  13323. %446 = load i128*, i128** %rem71, align 8, !dbg !2554
  13324. %447 = load i128, i128* %r_all, align 8, !dbg !2557
  13325. store i128 %447, i128* %446, align 8, !dbg !2558
  13326. br label %MaybeEndIf63, !dbg !2553
  13327.  
  13328. MaybeElse62: ; preds = %WhileEnd
  13329. br label %MaybeEndIf63, !dbg !2553
  13330.  
  13331. MaybeEndIf63: ; preds = %MaybeElse62, %MaybeThen61
  13332. %448 = load i128, i128* %q_all, align 8, !dbg !2559
  13333. ret i128 %448, !dbg !2560
  13334. }
  13335.  
  13336. ; Function Attrs: nobuiltin nounwind
  13337. define weak_odr i128 @__udivti3(i128, i128) #0 !dbg !2561 {
  13338. Entry:
  13339. %a = alloca i128, align 8
  13340. %b = alloca i128, align 8
  13341. store i128 %0, i128* %a, align 8
  13342. call void @llvm.dbg.declare(metadata i128* %a, metadata !2565, metadata !277), !dbg !2568
  13343. store i128 %1, i128* %b, align 8
  13344. call void @llvm.dbg.declare(metadata i128* %b, metadata !2566, metadata !277), !dbg !2569
  13345. %2 = load i128, i128* %a, align 8, !dbg !2570
  13346. %3 = load i128, i128* %b, align 8, !dbg !2573
  13347. %4 = call i128 @__udivmodti4(i128 %2, i128 %3, i128* null), !dbg !2574
  13348. ret i128 %4, !dbg !2575
  13349. }
  13350.  
  13351. ; Function Attrs: nobuiltin nounwind
  13352. define weak_odr i128 @__umodti3(i128, i128) #0 !dbg !2576 {
  13353. Entry:
  13354. %a = alloca i128, align 8
  13355. %b = alloca i128, align 8
  13356. %r = alloca i128, align 8
  13357. store i128 %0, i128* %a, align 8
  13358. call void @llvm.dbg.declare(metadata i128* %a, metadata !2578, metadata !277), !dbg !2584
  13359. store i128 %1, i128* %b, align 8
  13360. call void @llvm.dbg.declare(metadata i128* %b, metadata !2579, metadata !277), !dbg !2585
  13361. call void @llvm.dbg.declare(metadata i128* %r, metadata !2581, metadata !277), !dbg !2586
  13362. %2 = load i128, i128* %a, align 8, !dbg !2587
  13363. %3 = load i128, i128* %b, align 8, !dbg !2589
  13364. %4 = call i128 @__udivmodti4(i128 %2, i128 %3, i128* %r), !dbg !2590
  13365. %5 = load i128, i128* %r, align 8, !dbg !2591
  13366. ret i128 %5, !dbg !2592
  13367. }
  13368.  
  13369. ; Function Attrs: naked nobuiltin nounwind sspstrong
  13370. define internal void @_aulldiv.0() unnamed_addr #4 !dbg !2593 {
  13371. Entry:
  13372. call coldcc void @panic(%"[]u8.0"* @2), !dbg !2594
  13373. unreachable, !dbg !2594
  13374. }
  13375.  
  13376. ; Function Attrs: naked nobuiltin nounwind sspstrong
  13377. define internal void @_aullrem.0() unnamed_addr #4 !dbg !2596 {
  13378. Entry:
  13379. call coldcc void @panic(%"[]u8.0"* @2), !dbg !2597
  13380. unreachable, !dbg !2597
  13381. }
  13382.  
  13383. ; Function Attrs: nobuiltin nounwind sspstrong
  13384. define internal fastcc i1 @isArmArch() unnamed_addr #5 !dbg !2599 {
  13385. Entry:
  13386. ret i1 false, !dbg !2602
  13387. }
  13388.  
  13389. ; Function Attrs: argmemonly nounwind
  13390. declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #6
  13391.  
  13392. ; Function Attrs: nounwind readnone speculatable
  13393. declare i32 @llvm.cttz.i32(i32, i1) #2
  13394.  
  13395. ; Function Attrs: nounwind readnone speculatable
  13396. declare i64 @llvm.ctlz.i64(i64, i1) #2
  13397.  
  13398. ; Function Attrs: nounwind readnone speculatable
  13399. declare i64 @llvm.cttz.i64(i64, i1) #2
  13400.  
  13401. ; Function Attrs: nounwind
  13402. declare void @llvm.stackprotector(i8*, i8**) #7
  13403.  
  13404. attributes #0 = { nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  13405. attributes #1 = { cold nobuiltin noreturn nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  13406. attributes #2 = { nounwind readnone speculatable }
  13407. attributes #3 = { naked nobuiltin nounwind "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
  13408. attributes #4 = { naked nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  13409. attributes #5 = { nobuiltin nounwind sspstrong "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "stack-protector-buffer-size"="4" }
  13410. attributes #6 = { argmemonly nounwind }
  13411. attributes #7 = { nounwind }
  13412.  
  13413. !llvm.module.flags = !{!0}
  13414. !llvm.dbg.cu = !{!1}
  13415.  
  13416. !0 = !{i32 2, !"Debug Info Version", i32 3}
  13417. !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "zig 0.1.1.339d48ac", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !146)
  13418. !2 = !DIFile(filename: "compiler_rt", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13419. !3 = !{!4, !12, !84, !119}
  13420. !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage", scope: !5, file: !5, line: 138, baseType: !6, size: 8, align: 8, elements: !7)
  13421. !5 = !DIFile(filename: "builtin.zig", directory: "/Users/jfo/sandbox/zigwasm/zig-cache")
  13422. !6 = !DIBasicType(name: "u2", size: 8, encoding: DW_ATE_unsigned)
  13423. !7 = !{!8, !9, !10, !11}
  13424. !8 = !DIEnumerator(name: "Internal", value: 0)
  13425. !9 = !DIEnumerator(name: "Strong", value: 1)
  13426. !10 = !DIEnumerator(name: "Weak", value: 2)
  13427. !11 = !DIEnumerator(name: "LinkOnce", value: 3)
  13428. !12 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Arch", scope: !5, file: !5, line: 36, baseType: !13, size: 8, align: 8, elements: !14)
  13429. !13 = !DIBasicType(name: "u7", size: 8, encoding: DW_ATE_unsigned)
  13430. !14 = !{!15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83}
  13431. !15 = !DIEnumerator(name: "armv8_2a", value: 0)
  13432. !16 = !DIEnumerator(name: "armv8_1a", value: 1)
  13433. !17 = !DIEnumerator(name: "armv8", value: 2)
  13434. !18 = !DIEnumerator(name: "armv8r", value: 3)
  13435. !19 = !DIEnumerator(name: "armv8m_baseline", value: 4)
  13436. !20 = !DIEnumerator(name: "armv8m_mainline", value: 5)
  13437. !21 = !DIEnumerator(name: "armv7", value: 6)
  13438. !22 = !DIEnumerator(name: "armv7em", value: 7)
  13439. !23 = !DIEnumerator(name: "armv7m", value: 8)
  13440. !24 = !DIEnumerator(name: "armv7s", value: 9)
  13441. !25 = !DIEnumerator(name: "armv7k", value: 10)
  13442. !26 = !DIEnumerator(name: "armv7ve", value: 11)
  13443. !27 = !DIEnumerator(name: "armv6", value: 12)
  13444. !28 = !DIEnumerator(name: "armv6m", value: 13)
  13445. !29 = !DIEnumerator(name: "armv6k", value: 14)
  13446. !30 = !DIEnumerator(name: "armv6t2", value: 15)
  13447. !31 = !DIEnumerator(name: "armv5", value: 16)
  13448. !32 = !DIEnumerator(name: "armv5te", value: 17)
  13449. !33 = !DIEnumerator(name: "armv4t", value: 18)
  13450. !34 = !DIEnumerator(name: "armeb", value: 19)
  13451. !35 = !DIEnumerator(name: "aarch64", value: 20)
  13452. !36 = !DIEnumerator(name: "aarch64_be", value: 21)
  13453. !37 = !DIEnumerator(name: "avr", value: 22)
  13454. !38 = !DIEnumerator(name: "bpfel", value: 23)
  13455. !39 = !DIEnumerator(name: "bpfeb", value: 24)
  13456. !40 = !DIEnumerator(name: "hexagon", value: 25)
  13457. !41 = !DIEnumerator(name: "mips", value: 26)
  13458. !42 = !DIEnumerator(name: "mipsel", value: 27)
  13459. !43 = !DIEnumerator(name: "mips64", value: 28)
  13460. !44 = !DIEnumerator(name: "mips64el", value: 29)
  13461. !45 = !DIEnumerator(name: "msp430", value: 30)
  13462. !46 = !DIEnumerator(name: "nios2", value: 31)
  13463. !47 = !DIEnumerator(name: "powerpc", value: 32)
  13464. !48 = !DIEnumerator(name: "powerpc64", value: 33)
  13465. !49 = !DIEnumerator(name: "powerpc64le", value: 34)
  13466. !50 = !DIEnumerator(name: "r600", value: 35)
  13467. !51 = !DIEnumerator(name: "amdgcn", value: 36)
  13468. !52 = !DIEnumerator(name: "riscv32", value: 37)
  13469. !53 = !DIEnumerator(name: "riscv64", value: 38)
  13470. !54 = !DIEnumerator(name: "sparc", value: 39)
  13471. !55 = !DIEnumerator(name: "sparcv9", value: 40)
  13472. !56 = !DIEnumerator(name: "sparcel", value: 41)
  13473. !57 = !DIEnumerator(name: "s390x", value: 42)
  13474. !58 = !DIEnumerator(name: "tce", value: 43)
  13475. !59 = !DIEnumerator(name: "tcele", value: 44)
  13476. !60 = !DIEnumerator(name: "thumb", value: 45)
  13477. !61 = !DIEnumerator(name: "thumbeb", value: 46)
  13478. !62 = !DIEnumerator(name: "i386", value: 47)
  13479. !63 = !DIEnumerator(name: "x86_64", value: 48)
  13480. !64 = !DIEnumerator(name: "xcore", value: 49)
  13481. !65 = !DIEnumerator(name: "nvptx", value: 50)
  13482. !66 = !DIEnumerator(name: "nvptx64", value: 51)
  13483. !67 = !DIEnumerator(name: "le32", value: 52)
  13484. !68 = !DIEnumerator(name: "le64", value: 53)
  13485. !69 = !DIEnumerator(name: "amdil", value: 54)
  13486. !70 = !DIEnumerator(name: "amdil64", value: 55)
  13487. !71 = !DIEnumerator(name: "hsail", value: 56)
  13488. !72 = !DIEnumerator(name: "hsail64", value: 57)
  13489. !73 = !DIEnumerator(name: "spir", value: 58)
  13490. !74 = !DIEnumerator(name: "spir64", value: 59)
  13491. !75 = !DIEnumerator(name: "kalimbav3", value: 60)
  13492. !76 = !DIEnumerator(name: "kalimbav4", value: 61)
  13493. !77 = !DIEnumerator(name: "kalimbav5", value: 62)
  13494. !78 = !DIEnumerator(name: "shave", value: 63)
  13495. !79 = !DIEnumerator(name: "lanai", value: 64)
  13496. !80 = !DIEnumerator(name: "wasm32", value: 65)
  13497. !81 = !DIEnumerator(name: "wasm64", value: 66)
  13498. !82 = !DIEnumerator(name: "renderscript32", value: 67)
  13499. !83 = !DIEnumerator(name: "renderscript64", value: 68)
  13500. !84 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Os", scope: !5, file: !5, line: 1, baseType: !85, size: 8, align: 8, elements: !86)
  13501. !85 = !DIBasicType(name: "u5", size: 8, encoding: DW_ATE_unsigned)
  13502. !86 = !{!87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118}
  13503. !87 = !DIEnumerator(name: "freestanding", value: 0)
  13504. !88 = !DIEnumerator(name: "ananas", value: 1)
  13505. !89 = !DIEnumerator(name: "cloudabi", value: 2)
  13506. !90 = !DIEnumerator(name: "darwin", value: 3)
  13507. !91 = !DIEnumerator(name: "dragonfly", value: 4)
  13508. !92 = !DIEnumerator(name: "freebsd", value: 5)
  13509. !93 = !DIEnumerator(name: "fuchsia", value: 6)
  13510. !94 = !DIEnumerator(name: "ios", value: 7)
  13511. !95 = !DIEnumerator(name: "kfreebsd", value: 8)
  13512. !96 = !DIEnumerator(name: "linux", value: 9)
  13513. !97 = !DIEnumerator(name: "lv2", value: 10)
  13514. !98 = !DIEnumerator(name: "macosx", value: 11)
  13515. !99 = !DIEnumerator(name: "netbsd", value: 12)
  13516. !100 = !DIEnumerator(name: "openbsd", value: 13)
  13517. !101 = !DIEnumerator(name: "solaris", value: 14)
  13518. !102 = !DIEnumerator(name: "windows", value: 15)
  13519. !103 = !DIEnumerator(name: "haiku", value: 16)
  13520. !104 = !DIEnumerator(name: "minix", value: 17)
  13521. !105 = !DIEnumerator(name: "rtems", value: 18)
  13522. !106 = !DIEnumerator(name: "nacl", value: 19)
  13523. !107 = !DIEnumerator(name: "cnk", value: 20)
  13524. !108 = !DIEnumerator(name: "bitrig", value: 21)
  13525. !109 = !DIEnumerator(name: "aix", value: 22)
  13526. !110 = !DIEnumerator(name: "cuda", value: 23)
  13527. !111 = !DIEnumerator(name: "nvcl", value: 24)
  13528. !112 = !DIEnumerator(name: "amdhsa", value: 25)
  13529. !113 = !DIEnumerator(name: "ps4", value: 26)
  13530. !114 = !DIEnumerator(name: "elfiamcu", value: 27)
  13531. !115 = !DIEnumerator(name: "tvos", value: 28)
  13532. !116 = !DIEnumerator(name: "watchos", value: 29)
  13533. !117 = !DIEnumerator(name: "mesa3d", value: 30)
  13534. !118 = !DIEnumerator(name: "contiki", value: 31)
  13535. !119 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "TypeId", scope: !5, file: !5, line: 160, baseType: !85, size: 8, align: 8, elements: !120)
  13536. !120 = !{!121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145}
  13537. !121 = !DIEnumerator(name: "Type", value: 0)
  13538. !122 = !DIEnumerator(name: "Void", value: 1)
  13539. !123 = !DIEnumerator(name: "Bool", value: 2)
  13540. !124 = !DIEnumerator(name: "NoReturn", value: 3)
  13541. !125 = !DIEnumerator(name: "Int", value: 4)
  13542. !126 = !DIEnumerator(name: "Float", value: 5)
  13543. !127 = !DIEnumerator(name: "Pointer", value: 6)
  13544. !128 = !DIEnumerator(name: "Array", value: 7)
  13545. !129 = !DIEnumerator(name: "Struct", value: 8)
  13546. !130 = !DIEnumerator(name: "FloatLiteral", value: 9)
  13547. !131 = !DIEnumerator(name: "IntLiteral", value: 10)
  13548. !132 = !DIEnumerator(name: "UndefinedLiteral", value: 11)
  13549. !133 = !DIEnumerator(name: "NullLiteral", value: 12)
  13550. !134 = !DIEnumerator(name: "Nullable", value: 13)
  13551. !135 = !DIEnumerator(name: "ErrorUnion", value: 14)
  13552. !136 = !DIEnumerator(name: "Error", value: 15)
  13553. !137 = !DIEnumerator(name: "Enum", value: 16)
  13554. !138 = !DIEnumerator(name: "EnumTag", value: 17)
  13555. !139 = !DIEnumerator(name: "Union", value: 18)
  13556. !140 = !DIEnumerator(name: "Fn", value: 19)
  13557. !141 = !DIEnumerator(name: "Namespace", value: 20)
  13558. !142 = !DIEnumerator(name: "Block", value: 21)
  13559. !143 = !DIEnumerator(name: "BoundFn", value: 22)
  13560. !144 = !DIEnumerator(name: "ArgTuple", value: 23)
  13561. !145 = !DIEnumerator(name: "Opaque", value: 24)
  13562. !146 = !{!147, !150, !153, !155, !157, !159, !161, !163, !165, !167, !170, !172, !175, !177, !179, !182, !184, !186, !188, !190, !192, !195, !197, !199, !201, !203, !205, !207, !209, !212, !215, !218, !221, !224, !227, !230, !233, !236, !239, !242, !245, !248, !251, !254, !257, !260, !262, !264}
  13563. !147 = !DIGlobalVariableExpression(var: !148)
  13564. !148 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !5, file: !5, line: 194, type: !149, isLocal: true, isDefinition: true)
  13565. !149 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
  13566. !150 = !DIGlobalVariableExpression(var: !151)
  13567. !151 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !152, file: !152, line: 21, type: !149, isLocal: true, isDefinition: true)
  13568. !152 = !DIFile(filename: "index.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13569. !153 = !DIGlobalVariableExpression(var: !154)
  13570. !154 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !152, file: !152, line: 29, type: !4, isLocal: true, isDefinition: true)
  13571. !155 = !DIGlobalVariableExpression(var: !156)
  13572. !156 = distinct !DIGlobalVariable(name: "arch", linkageName: "arch", scope: !5, file: !5, line: 196, type: !12, isLocal: true, isDefinition: true)
  13573. !157 = !DIGlobalVariableExpression(var: !158)
  13574. !158 = distinct !DIGlobalVariable(name: "os", linkageName: "os", scope: !5, file: !5, line: 195, type: !84, isLocal: true, isDefinition: true)
  13575. !159 = !DIGlobalVariableExpression(var: !160)
  13576. !160 = distinct !DIGlobalVariable(name: "win32", linkageName: "win32", scope: !152, file: !152, line: 25, type: !149, isLocal: true, isDefinition: true)
  13577. !161 = !DIGlobalVariableExpression(var: !162)
  13578. !162 = distinct !DIGlobalVariable(name: "win32_nocrt", linkageName: "win32_nocrt", scope: !152, file: !152, line: 27, type: !149, isLocal: true, isDefinition: true)
  13579. !163 = !DIGlobalVariableExpression(var: !164)
  13580. !164 = distinct !DIGlobalVariable(name: "win64", linkageName: "win64", scope: !152, file: !152, line: 26, type: !149, isLocal: true, isDefinition: true)
  13581. !165 = !DIGlobalVariableExpression(var: !166)
  13582. !166 = distinct !DIGlobalVariable(name: "win64_nocrt", linkageName: "win64_nocrt", scope: !152, file: !152, line: 28, type: !149, isLocal: true, isDefinition: true)
  13583. !167 = !DIGlobalVariableExpression(var: !168)
  13584. !168 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !169, file: !169, line: 22, type: !149, isLocal: true, isDefinition: true)
  13585. !169 = !DIFile(filename: "comparetf2.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13586. !170 = !DIGlobalVariableExpression(var: !171)
  13587. !171 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !169, file: !169, line: 23, type: !4, isLocal: true, isDefinition: true)
  13588. !172 = !DIGlobalVariableExpression(var: !173)
  13589. !173 = distinct !DIGlobalVariable(name: "significandBits", linkageName: "significandBits", scope: !169, file: !169, line: 12, type: !174, isLocal: true, isDefinition: true)
  13590. !174 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
  13591. !175 = !DIGlobalVariableExpression(var: !176)
  13592. !176 = distinct !DIGlobalVariable(name: "typeWidth", linkageName: "typeWidth", scope: !169, file: !169, line: 11, type: !174, isLocal: true, isDefinition: true)
  13593. !177 = !DIGlobalVariableExpression(var: !178)
  13594. !178 = distinct !DIGlobalVariable(name: "exponentBits", linkageName: "exponentBits", scope: !169, file: !169, line: 13, type: !174, isLocal: true, isDefinition: true)
  13595. !179 = !DIGlobalVariableExpression(var: !180)
  13596. !180 = distinct !DIGlobalVariable(name: "signBit", linkageName: "signBit", scope: !169, file: !169, line: 14, type: !181, isLocal: true, isDefinition: true)
  13597. !181 = !DIBasicType(name: "u128", size: 128, encoding: DW_ATE_unsigned)
  13598. !182 = !DIGlobalVariableExpression(var: !183)
  13599. !183 = distinct !DIGlobalVariable(name: "absMask", linkageName: "absMask", scope: !169, file: !169, line: 15, type: !181, isLocal: true, isDefinition: true)
  13600. !184 = !DIGlobalVariableExpression(var: !185)
  13601. !185 = distinct !DIGlobalVariable(name: "implicitBit", linkageName: "implicitBit", scope: !169, file: !169, line: 16, type: !181, isLocal: true, isDefinition: true)
  13602. !186 = !DIGlobalVariableExpression(var: !187)
  13603. !187 = distinct !DIGlobalVariable(name: "significandMask", linkageName: "significandMask", scope: !169, file: !169, line: 17, type: !181, isLocal: true, isDefinition: true)
  13604. !188 = !DIGlobalVariableExpression(var: !189)
  13605. !189 = distinct !DIGlobalVariable(name: "exponentMask", linkageName: "exponentMask", scope: !169, file: !169, line: 18, type: !181, isLocal: true, isDefinition: true)
  13606. !190 = !DIGlobalVariableExpression(var: !191)
  13607. !191 = distinct !DIGlobalVariable(name: "infRep", linkageName: "infRep", scope: !169, file: !169, line: 19, type: !181, isLocal: true, isDefinition: true)
  13608. !192 = !DIGlobalVariableExpression(var: !193)
  13609. !193 = distinct !DIGlobalVariable(name: "LE_UNORDERED", linkageName: "LE_UNORDERED", scope: !169, file: !169, line: 6, type: !194, isLocal: true, isDefinition: true)
  13610. !194 = !DIBasicType(name: "c_int", size: 32, encoding: DW_ATE_signed)
  13611. !195 = !DIGlobalVariableExpression(var: !196)
  13612. !196 = distinct !DIGlobalVariable(name: "LE_EQUAL", linkageName: "LE_EQUAL", scope: !169, file: !169, line: 4, type: !194, isLocal: true, isDefinition: true)
  13613. !197 = !DIGlobalVariableExpression(var: !198)
  13614. !198 = distinct !DIGlobalVariable(name: "LE_LESS", linkageName: "LE_LESS", scope: !169, file: !169, line: 3, type: !194, isLocal: true, isDefinition: true)
  13615. !199 = !DIGlobalVariableExpression(var: !200)
  13616. !200 = distinct !DIGlobalVariable(name: "LE_GREATER", linkageName: "LE_GREATER", scope: !169, file: !169, line: 5, type: !194, isLocal: true, isDefinition: true)
  13617. !201 = !DIGlobalVariableExpression(var: !202)
  13618. !202 = distinct !DIGlobalVariable(name: "GE_UNORDERED", linkageName: "GE_UNORDERED", scope: !169, file: !169, line: 79, type: !194, isLocal: true, isDefinition: true)
  13619. !203 = !DIGlobalVariableExpression(var: !204)
  13620. !204 = distinct !DIGlobalVariable(name: "GE_EQUAL", linkageName: "GE_EQUAL", scope: !169, file: !169, line: 77, type: !194, isLocal: true, isDefinition: true)
  13621. !205 = !DIGlobalVariableExpression(var: !206)
  13622. !206 = distinct !DIGlobalVariable(name: "GE_LESS", linkageName: "GE_LESS", scope: !169, file: !169, line: 76, type: !194, isLocal: true, isDefinition: true)
  13623. !207 = !DIGlobalVariableExpression(var: !208)
  13624. !208 = distinct !DIGlobalVariable(name: "GE_GREATER", linkageName: "GE_GREATER", scope: !169, file: !169, line: 78, type: !194, isLocal: true, isDefinition: true)
  13625. !209 = !DIGlobalVariableExpression(var: !210)
  13626. !210 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !211, file: !211, line: 3, type: !4, isLocal: true, isDefinition: true)
  13627. !211 = !DIFile(filename: "fixunsdfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13628. !212 = !DIGlobalVariableExpression(var: !213)
  13629. !213 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !214, file: !214, line: 3, type: !4, isLocal: true, isDefinition: true)
  13630. !214 = !DIFile(filename: "fixunsdfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13631. !215 = !DIGlobalVariableExpression(var: !216)
  13632. !216 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !217, file: !217, line: 3, type: !4, isLocal: true, isDefinition: true)
  13633. !217 = !DIFile(filename: "fixunsdfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13634. !218 = !DIGlobalVariableExpression(var: !219)
  13635. !219 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !220, file: !220, line: 3, type: !4, isLocal: true, isDefinition: true)
  13636. !220 = !DIFile(filename: "fixunssfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13637. !221 = !DIGlobalVariableExpression(var: !222)
  13638. !222 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !223, file: !223, line: 3, type: !4, isLocal: true, isDefinition: true)
  13639. !223 = !DIFile(filename: "fixunssfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13640. !224 = !DIGlobalVariableExpression(var: !225)
  13641. !225 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !226, file: !226, line: 3, type: !4, isLocal: true, isDefinition: true)
  13642. !226 = !DIFile(filename: "fixunssfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13643. !227 = !DIGlobalVariableExpression(var: !228)
  13644. !228 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !229, file: !229, line: 3, type: !4, isLocal: true, isDefinition: true)
  13645. !229 = !DIFile(filename: "fixunstfdi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13646. !230 = !DIGlobalVariableExpression(var: !231)
  13647. !231 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !232, file: !232, line: 3, type: !4, isLocal: true, isDefinition: true)
  13648. !232 = !DIFile(filename: "fixunstfsi.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13649. !233 = !DIGlobalVariableExpression(var: !234)
  13650. !234 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !235, file: !235, line: 3, type: !4, isLocal: true, isDefinition: true)
  13651. !235 = !DIFile(filename: "fixunstfti.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13652. !236 = !DIGlobalVariableExpression(var: !237)
  13653. !237 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !238, file: !238, line: 3, type: !4, isLocal: true, isDefinition: true)
  13654. !238 = !DIFile(filename: "udivmoddi4.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13655. !239 = !DIGlobalVariableExpression(var: !240)
  13656. !240 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !241, file: !241, line: 3, type: !4, isLocal: true, isDefinition: true)
  13657. !241 = !DIFile(filename: "udivmodti4.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13658. !242 = !DIGlobalVariableExpression(var: !243)
  13659. !243 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !244, file: !244, line: 3, type: !4, isLocal: true, isDefinition: true)
  13660. !244 = !DIFile(filename: "udivti3.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13661. !245 = !DIGlobalVariableExpression(var: !246)
  13662. !246 = distinct !DIGlobalVariable(name: "linkage", linkageName: "linkage", scope: !247, file: !247, line: 3, type: !4, isLocal: true, isDefinition: true)
  13663. !247 = !DIFile(filename: "umodti3.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13664. !248 = !DIGlobalVariableExpression(var: !249)
  13665. !249 = distinct !DIGlobalVariable(name: "is_win32", linkageName: "is_win32", scope: !250, file: !250, line: 3, type: !149, isLocal: true, isDefinition: true)
  13666. !250 = !DIFile(filename: "aulldiv.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13667. !251 = !DIGlobalVariableExpression(var: !252)
  13668. !252 = distinct !DIGlobalVariable(name: "is_win32", linkageName: "is_win32", scope: !253, file: !253, line: 3, type: !149, isLocal: true, isDefinition: true)
  13669. !253 = !DIFile(filename: "aullrem.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13670. !254 = !DIGlobalVariableExpression(var: !255)
  13671. !255 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !256, file: !256, line: 1, type: !149, isLocal: true, isDefinition: true)
  13672. !256 = !DIFile(filename: "fixuint.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13673. !257 = !DIGlobalVariableExpression(var: !258)
  13674. !258 = distinct !DIGlobalVariable(name: "is_test", linkageName: "is_test", scope: !259, file: !259, line: 2, type: !149, isLocal: true, isDefinition: true)
  13675. !259 = !DIFile(filename: "udivmod.zig", directory: "/Users/jfo/dogfood/zig/build/lib/zig/std/special/compiler_rt")
  13676. !260 = !DIGlobalVariableExpression(var: !261)
  13677. !261 = distinct !DIGlobalVariable(name: "is_big_endian", linkageName: "is_big_endian", scope: !5, file: !5, line: 193, type: !149, isLocal: true, isDefinition: true)
  13678. !262 = !DIGlobalVariableExpression(var: !263)
  13679. !263 = distinct !DIGlobalVariable(name: "low", linkageName: "low", scope: !259, file: !259, line: 4, type: !174, isLocal: true, isDefinition: true)
  13680. !264 = !DIGlobalVariableExpression(var: !265)
  13681. !265 = distinct !DIGlobalVariable(name: "high", linkageName: "high", scope: !259, file: !259, line: 5, type: !174, isLocal: true, isDefinition: true)
  13682. !266 = distinct !DISubprogram(name: "__udivmoddi4", scope: !238, file: !238, line: 5, type: !267, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !271)
  13683. !267 = !DISubroutineType(types: !268)
  13684. !268 = !{!269, !269, !269, !270}
  13685. !269 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
  13686. !270 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u64", baseType: !269, size: 64, align: 64)
  13687. !271 = !{!272, !273, !275}
  13688. !272 = !DILocalVariable(name: "a", arg: 1, scope: !266, file: !238, line: 5, type: !269)
  13689. !273 = !DILocalVariable(name: "b", arg: 2, scope: !274, file: !238, line: 5, type: !269)
  13690. !274 = distinct !DILexicalBlock(scope: !266, file: !238, line: 5, column: 24)
  13691. !275 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !276, file: !238, line: 5, type: !270)
  13692. !276 = distinct !DILexicalBlock(scope: !274, file: !238, line: 5, column: 32)
  13693. !277 = !DIExpression()
  13694. !278 = !DILocation(line: 5, column: 24, scope: !266)
  13695. !279 = !DILocation(line: 5, column: 32, scope: !274)
  13696. !280 = !DILocation(line: 5, column: 40, scope: !276)
  13697. !281 = !DILocation(line: 8, column: 25, scope: !282)
  13698. !282 = distinct !DILexicalBlock(scope: !283, file: !238, line: 5, column: 65)
  13699. !283 = distinct !DILexicalBlock(scope: !276, file: !238, line: 5, column: 40)
  13700. !284 = !DILocation(line: 8, column: 28, scope: !282)
  13701. !285 = !DILocation(line: 8, column: 31, scope: !282)
  13702. !286 = !DILocation(line: 8, column: 19, scope: !282)
  13703. !287 = !DILocation(line: 8, column: 5, scope: !282)
  13704. !288 = distinct !DISubprogram(name: "__udivmodti4", scope: !241, file: !241, line: 5, type: !289, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !292)
  13705. !289 = !DISubroutineType(types: !290)
  13706. !290 = !{!181, !181, !181, !291}
  13707. !291 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u128", baseType: !181, size: 64, align: 64)
  13708. !292 = !{!293, !294, !296}
  13709. !293 = !DILocalVariable(name: "a", arg: 1, scope: !288, file: !241, line: 5, type: !181)
  13710. !294 = !DILocalVariable(name: "b", arg: 2, scope: !295, file: !241, line: 5, type: !181)
  13711. !295 = distinct !DILexicalBlock(scope: !288, file: !241, line: 5, column: 24)
  13712. !296 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !297, file: !241, line: 5, type: !291)
  13713. !297 = distinct !DILexicalBlock(scope: !295, file: !241, line: 5, column: 33)
  13714. !298 = !DILocation(line: 5, column: 24, scope: !288)
  13715. !299 = !DILocation(line: 5, column: 33, scope: !295)
  13716. !300 = !DILocation(line: 5, column: 42, scope: !297)
  13717. !301 = !DILocation(line: 8, column: 26, scope: !302)
  13718. !302 = distinct !DILexicalBlock(scope: !303, file: !241, line: 5, column: 69)
  13719. !303 = distinct !DILexicalBlock(scope: !297, file: !241, line: 5, column: 42)
  13720. !304 = !DILocation(line: 8, column: 29, scope: !302)
  13721. !305 = !DILocation(line: 8, column: 32, scope: !302)
  13722. !306 = !DILocation(line: 8, column: 19, scope: !302)
  13723. !307 = !DILocation(line: 8, column: 5, scope: !302)
  13724. !308 = distinct !DISubprogram(name: "panic", scope: !152, file: !152, line: 36, type: !309, isLocal: true, isDefinition: true, scopeLine: 36, isOptimized: false, unit: !1, variables: !319)
  13725. !309 = !DISubroutineType(types: !310)
  13726. !310 = !{!311, !312}
  13727. !311 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned)
  13728. !312 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]const u8", baseType: !313, size: 64, align: 64)
  13729. !313 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128, align: 64, elements: !314)
  13730. !314 = !{!315, !317}
  13731. !315 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !313, baseType: !316, size: 64, align: 64)
  13732. !316 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u8", baseType: !174, size: 64, align: 64)
  13733. !317 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !313, baseType: !318, size: 64, align: 64, offset: 64)
  13734. !318 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
  13735. !319 = !{!320}
  13736. !320 = !DILocalVariable(name: "msg", arg: 1, scope: !308, file: !152, line: 36, type: !313)
  13737. !321 = !DILocation(line: 36, column: 21, scope: !308)
  13738. !322 = !DILocation(line: 40, column: 9, scope: !323)
  13739. !323 = distinct !DILexicalBlock(scope: !324, file: !152, line: 39, column: 12)
  13740. !324 = distinct !DILexicalBlock(scope: !325, file: !152, line: 36, column: 50)
  13741. !325 = distinct !DILexicalBlock(scope: !308, file: !152, line: 36, column: 21)
  13742. !326 = distinct !DISubprogram(name: "__udivdi3", scope: !152, file: !152, line: 44, type: !327, isLocal: false, isDefinition: true, scopeLine: 44, isOptimized: false, unit: !1, variables: !329)
  13743. !327 = !DISubroutineType(types: !328)
  13744. !328 = !{!269, !269, !269}
  13745. !329 = !{!330, !331}
  13746. !330 = !DILocalVariable(name: "a", arg: 1, scope: !326, file: !152, line: 44, type: !269)
  13747. !331 = !DILocalVariable(name: "b", arg: 2, scope: !332, file: !152, line: 44, type: !269)
  13748. !332 = distinct !DILexicalBlock(scope: !326, file: !152, line: 44, column: 21)
  13749. !333 = !DILocation(line: 44, column: 21, scope: !326)
  13750. !334 = !DILocation(line: 44, column: 29, scope: !332)
  13751. !335 = !DILocation(line: 47, column: 25, scope: !336)
  13752. !336 = distinct !DILexicalBlock(scope: !337, file: !152, line: 44, column: 44)
  13753. !337 = distinct !DILexicalBlock(scope: !332, file: !152, line: 44, column: 29)
  13754. !338 = !DILocation(line: 47, column: 28, scope: !336)
  13755. !339 = !DILocation(line: 47, column: 24, scope: !336)
  13756. !340 = !DILocation(line: 47, column: 5, scope: !336)
  13757. !341 = distinct !DISubprogram(name: "__umoddi3", scope: !152, file: !152, line: 50, type: !327, isLocal: false, isDefinition: true, scopeLine: 50, isOptimized: false, unit: !1, variables: !342)
  13758. !342 = !{!343, !344, !346}
  13759. !343 = !DILocalVariable(name: "a", arg: 1, scope: !341, file: !152, line: 50, type: !269)
  13760. !344 = !DILocalVariable(name: "b", arg: 2, scope: !345, file: !152, line: 50, type: !269)
  13761. !345 = distinct !DILexicalBlock(scope: !341, file: !152, line: 50, column: 21)
  13762. !346 = !DILocalVariable(name: "r", scope: !347, file: !152, line: 54, type: !269)
  13763. !347 = distinct !DILexicalBlock(scope: !348, file: !152, line: 50, column: 44)
  13764. !348 = distinct !DILexicalBlock(scope: !345, file: !152, line: 50, column: 29)
  13765. !349 = !DILocation(line: 50, column: 21, scope: !341)
  13766. !350 = !DILocation(line: 50, column: 29, scope: !345)
  13767. !351 = !DILocation(line: 54, column: 5, scope: !347)
  13768. !352 = !DILocation(line: 55, column: 22, scope: !353)
  13769. !353 = distinct !DILexicalBlock(scope: !347, file: !152, line: 54, column: 5)
  13770. !354 = !DILocation(line: 55, column: 25, scope: !353)
  13771. !355 = !DILocation(line: 55, column: 21, scope: !353)
  13772. !356 = !DILocation(line: 56, column: 12, scope: !353)
  13773. !357 = !DILocation(line: 56, column: 5, scope: !353)
  13774. !358 = distinct !DISubprogram(name: "__aeabi_uldivmod", scope: !152, file: !152, line: 63, type: !359, isLocal: true, isDefinition: true, scopeLine: 63, isOptimized: false, unit: !1, variables: !365)
  13775. !359 = !DISubroutineType(types: !360)
  13776. !360 = !{!361, !269, !269}
  13777. !361 = !DICompositeType(tag: DW_TAG_structure_type, name: "AeabiUlDivModResult", scope: !152, file: !152, line: 59, size: 128, align: 128, elements: !362)
  13778. !362 = !{!363, !364}
  13779. !363 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !361, file: !152, line: 60, baseType: !269, size: 64, align: 64)
  13780. !364 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !361, file: !152, line: 61, baseType: !269, size: 64, align: 64, offset: 64)
  13781. !365 = !{!366, !367}
  13782. !366 = !DILocalVariable(name: "numerator", arg: 1, scope: !358, file: !152, line: 63, type: !269)
  13783. !367 = !DILocalVariable(name: "denominator", arg: 2, scope: !368, file: !152, line: 63, type: !269)
  13784. !368 = distinct !DILexicalBlock(scope: !358, file: !152, line: 63, column: 28)
  13785. !369 = !DILocation(line: 63, column: 28, scope: !358)
  13786. !370 = !DILocation(line: 63, column: 44, scope: !368)
  13787. !371 = !DILocation(line: 73, column: 5, scope: !372)
  13788. !372 = distinct !DILexicalBlock(scope: !373, file: !152, line: 63, column: 85)
  13789. !373 = distinct !DILexicalBlock(scope: !368, file: !152, line: 63, column: 44)
  13790. !374 = distinct !DISubprogram(name: "__aeabi_uidivmod", scope: !152, file: !152, line: 101, type: !375, isLocal: true, isDefinition: true, scopeLine: 101, isOptimized: false, unit: !1, variables: !377)
  13791. !375 = !DISubroutineType(types: !376)
  13792. !376 = !{!311}
  13793. !377 = !{}
  13794. !378 = !DILocation(line: 101, column: 38, scope: !374)
  13795. !379 = distinct !DISubprogram(name: "_chkstk", scope: !152, file: !152, line: 125, type: !375, isLocal: true, isDefinition: true, scopeLine: 125, isOptimized: false, unit: !1, variables: !377)
  13796. !380 = !DILocation(line: 125, column: 38, scope: !379)
  13797. !381 = distinct !DISubprogram(name: "__chkstk", scope: !152, file: !152, line: 155, type: !375, isLocal: true, isDefinition: true, scopeLine: 155, isOptimized: false, unit: !1, variables: !377)
  13798. !382 = !DILocation(line: 155, column: 39, scope: !381)
  13799. !383 = distinct !DISubprogram(name: "__chkstk_ms", scope: !152, file: !152, line: 188, type: !375, isLocal: true, isDefinition: true, scopeLine: 188, isOptimized: false, unit: !1, variables: !377)
  13800. !384 = !DILocation(line: 188, column: 42, scope: !383)
  13801. !385 = distinct !DISubprogram(name: "___chkstk_ms", scope: !152, file: !152, line: 218, type: !375, isLocal: true, isDefinition: true, scopeLine: 218, isOptimized: false, unit: !1, variables: !377)
  13802. !386 = !DILocation(line: 218, column: 43, scope: !385)
  13803. !387 = distinct !DISubprogram(name: "__udivmodsi4", scope: !152, file: !152, line: 248, type: !388, isLocal: false, isDefinition: true, scopeLine: 248, isOptimized: false, unit: !1, variables: !392)
  13804. !388 = !DISubroutineType(types: !389)
  13805. !389 = !{!390, !390, !390, !391}
  13806. !390 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
  13807. !391 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&u32", baseType: !390, size: 64, align: 64)
  13808. !392 = !{!393, !394, !396, !398}
  13809. !393 = !DILocalVariable(name: "a", arg: 1, scope: !387, file: !152, line: 248, type: !390)
  13810. !394 = !DILocalVariable(name: "b", arg: 2, scope: !395, file: !152, line: 248, type: !390)
  13811. !395 = distinct !DILexicalBlock(scope: !387, file: !152, line: 248, column: 24)
  13812. !396 = !DILocalVariable(name: "rem", arg: 3, scope: !397, file: !152, line: 248, type: !391)
  13813. !397 = distinct !DILexicalBlock(scope: !395, file: !152, line: 248, column: 32)
  13814. !398 = !DILocalVariable(name: "d", scope: !399, file: !152, line: 252, type: !390)
  13815. !399 = distinct !DILexicalBlock(scope: !400, file: !152, line: 248, column: 58)
  13816. !400 = distinct !DILexicalBlock(scope: !397, file: !152, line: 248, column: 40)
  13817. !401 = !DILocation(line: 248, column: 24, scope: !387)
  13818. !402 = !DILocation(line: 248, column: 32, scope: !395)
  13819. !403 = !DILocation(line: 248, column: 40, scope: !397)
  13820. !404 = !DILocation(line: 252, column: 25, scope: !399)
  13821. !405 = !DILocation(line: 252, column: 28, scope: !399)
  13822. !406 = !DILocation(line: 252, column: 24, scope: !399)
  13823. !407 = !DILocation(line: 252, column: 5, scope: !399)
  13824. !408 = !DILocation(line: 253, column: 5, scope: !409)
  13825. !409 = distinct !DILexicalBlock(scope: !399, file: !152, line: 252, column: 5)
  13826. !410 = !DILocation(line: 253, column: 20, scope: !409)
  13827. !411 = !DILocation(line: 253, column: 31, scope: !409)
  13828. !412 = !DILocation(line: 253, column: 40, scope: !409)
  13829. !413 = !DILocation(line: 253, column: 34, scope: !409)
  13830. !414 = !DILocation(line: 253, column: 23, scope: !409)
  13831. !415 = !DILocation(line: 253, column: 10, scope: !409)
  13832. !416 = !DILocation(line: 254, column: 12, scope: !409)
  13833. !417 = !DILocation(line: 254, column: 5, scope: !409)
  13834. !418 = distinct !DISubprogram(name: "__udivsi3", scope: !152, file: !152, line: 268, type: !419, isLocal: false, isDefinition: true, scopeLine: 268, isOptimized: false, unit: !1, variables: !421)
  13835. !419 = !DISubroutineType(types: !420)
  13836. !420 = !{!390, !390, !390}
  13837. !421 = !{!422, !423, !425, !429, !431, !433, !435, !437}
  13838. !422 = !DILocalVariable(name: "n", arg: 1, scope: !418, file: !152, line: 268, type: !390)
  13839. !423 = !DILocalVariable(name: "d", arg: 2, scope: !424, file: !152, line: 268, type: !390)
  13840. !424 = distinct !DILexicalBlock(scope: !418, file: !152, line: 268, column: 21)
  13841. !425 = !DILocalVariable(name: "n_uword_bits", scope: !426, file: !152, line: 272, type: !428)
  13842. !426 = distinct !DILexicalBlock(scope: !427, file: !152, line: 268, column: 44)
  13843. !427 = distinct !DILexicalBlock(scope: !424, file: !152, line: 268, column: 29)
  13844. !428 = !DIBasicType(name: "c_uint", size: 32, encoding: DW_ATE_unsigned)
  13845. !429 = !DILocalVariable(name: "sr", scope: !430, file: !152, line: 278, type: !428)
  13846. !430 = distinct !DILexicalBlock(scope: !426, file: !152, line: 272, column: 5)
  13847. !431 = !DILocalVariable(name: "q", scope: !432, file: !152, line: 287, type: !390)
  13848. !432 = distinct !DILexicalBlock(scope: !430, file: !152, line: 278, column: 5)
  13849. !433 = !DILocalVariable(name: "r", scope: !434, file: !152, line: 288, type: !390)
  13850. !434 = distinct !DILexicalBlock(scope: !432, file: !152, line: 287, column: 5)
  13851. !435 = !DILocalVariable(name: "carry", scope: !436, file: !152, line: 289, type: !390)
  13852. !436 = distinct !DILexicalBlock(scope: !434, file: !152, line: 288, column: 5)
  13853. !437 = !DILocalVariable(name: "s", scope: !438, file: !152, line: 300, type: !440)
  13854. !438 = distinct !DILexicalBlock(scope: !439, file: !152, line: 290, column: 32)
  13855. !439 = distinct !DILexicalBlock(scope: !436, file: !152, line: 289, column: 5)
  13856. !440 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
  13857. !441 = !DILocation(line: 268, column: 21, scope: !418)
  13858. !442 = !DILocation(line: 268, column: 29, scope: !424)
  13859. !443 = !DILocation(line: 272, column: 5, scope: !426)
  13860. !444 = !DILocation(line: 274, column: 9, scope: !430)
  13861. !445 = !DILocation(line: 274, column: 11, scope: !430)
  13862. !446 = !DILocation(line: 275, column: 9, scope: !430)
  13863. !447 = !DILocation(line: 274, column: 5, scope: !430)
  13864. !448 = !DILocation(line: 276, column: 9, scope: !430)
  13865. !449 = !DILocation(line: 276, column: 11, scope: !430)
  13866. !450 = !DILocation(line: 277, column: 9, scope: !430)
  13867. !451 = !DILocation(line: 276, column: 5, scope: !430)
  13868. !452 = !DILocation(line: 278, column: 42, scope: !430)
  13869. !453 = !DILocation(line: 278, column: 37, scope: !430)
  13870. !454 = !DILocation(line: 278, column: 36, scope: !430)
  13871. !455 = !DILocation(line: 278, column: 59, scope: !430)
  13872. !456 = !DILocation(line: 278, column: 54, scope: !430)
  13873. !457 = !DILocation(line: 278, column: 53, scope: !430)
  13874. !458 = !DILocation(line: 278, column: 46, scope: !430)
  13875. !459 = !DILocation(line: 278, column: 5, scope: !430)
  13876. !460 = !DILocation(line: 280, column: 9, scope: !432)
  13877. !461 = !DILocation(line: 280, column: 12, scope: !432)
  13878. !462 = !DILocation(line: 281, column: 9, scope: !432)
  13879. !463 = !DILocation(line: 280, column: 5, scope: !432)
  13880. !464 = !DILocation(line: 282, column: 9, scope: !432)
  13881. !465 = !DILocation(line: 282, column: 12, scope: !432)
  13882. !466 = !DILocation(line: 283, column: 16, scope: !432)
  13883. !467 = !DILocation(line: 283, column: 9, scope: !432)
  13884. !468 = !DILocation(line: 284, column: 5, scope: !432)
  13885. !469 = !DILocation(line: 284, column: 8, scope: !432)
  13886. !470 = !DILocation(line: 287, column: 18, scope: !432)
  13887. !471 = !DILocation(line: 287, column: 41, scope: !432)
  13888. !472 = !DILocation(line: 287, column: 39, scope: !432)
  13889. !473 = !DILocation(line: 287, column: 25, scope: !432)
  13890. !474 = !DILocation(line: 287, column: 20, scope: !432)
  13891. !475 = !DILocation(line: 287, column: 5, scope: !432)
  13892. !476 = !DILocation(line: 288, column: 18, scope: !434)
  13893. !477 = !DILocation(line: 288, column: 26, scope: !434)
  13894. !478 = !DILocation(line: 288, column: 25, scope: !434)
  13895. !479 = !DILocation(line: 288, column: 20, scope: !434)
  13896. !480 = !DILocation(line: 288, column: 5, scope: !434)
  13897. !481 = !DILocation(line: 289, column: 5, scope: !436)
  13898. !482 = !DILocation(line: 290, column: 5, scope: !439)
  13899. !483 = !DILocation(line: 290, column: 12, scope: !439)
  13900. !484 = !DILocation(line: 290, column: 15, scope: !439)
  13901. !485 = !DILocation(line: 292, column: 14, scope: !438)
  13902. !486 = !DILocation(line: 292, column: 16, scope: !438)
  13903. !487 = !DILocation(line: 292, column: 25, scope: !438)
  13904. !488 = !DILocation(line: 292, column: 27, scope: !438)
  13905. !489 = !DILocation(line: 292, column: 22, scope: !438)
  13906. !490 = !DILocation(line: 292, column: 11, scope: !438)
  13907. !491 = !DILocation(line: 293, column: 14, scope: !438)
  13908. !492 = !DILocation(line: 293, column: 16, scope: !438)
  13909. !493 = !DILocation(line: 293, column: 24, scope: !438)
  13910. !494 = !DILocation(line: 293, column: 22, scope: !438)
  13911. !495 = !DILocation(line: 293, column: 11, scope: !438)
  13912. !496 = !DILocation(line: 300, column: 23, scope: !438)
  13913. !497 = !DILocation(line: 300, column: 28, scope: !438)
  13914. !498 = !DILocation(line: 300, column: 25, scope: !438)
  13915. !499 = !DILocation(line: 300, column: 30, scope: !438)
  13916. !500 = !DILocation(line: 300, column: 36, scope: !438)
  13917. !501 = !DILocation(line: 300, column: 9, scope: !438)
  13918. !502 = !DILocation(line: 301, column: 21, scope: !503)
  13919. !503 = distinct !DILexicalBlock(scope: !438, file: !152, line: 300, column: 9)
  13920. !504 = !DILocation(line: 301, column: 23, scope: !503)
  13921. !505 = !DILocation(line: 301, column: 15, scope: !503)
  13922. !506 = !DILocation(line: 302, column: 9, scope: !503)
  13923. !507 = !DILocation(line: 302, column: 14, scope: !503)
  13924. !508 = !DILocation(line: 302, column: 32, scope: !503)
  13925. !509 = !DILocation(line: 302, column: 16, scope: !503)
  13926. !510 = !DILocation(line: 302, column: 11, scope: !503)
  13927. !511 = !DILocation(line: 290, column: 23, scope: !439)
  13928. !512 = !DILocation(line: 290, column: 26, scope: !439)
  13929. !513 = !DILocation(line: 304, column: 10, scope: !439)
  13930. !514 = !DILocation(line: 304, column: 12, scope: !439)
  13931. !515 = !DILocation(line: 304, column: 20, scope: !439)
  13932. !516 = !DILocation(line: 304, column: 18, scope: !439)
  13933. !517 = !DILocation(line: 304, column: 7, scope: !439)
  13934. !518 = !DILocation(line: 305, column: 12, scope: !439)
  13935. !519 = !DILocation(line: 305, column: 5, scope: !439)
  13936. !520 = distinct !DISubprogram(name: "__aeabi_uidiv", scope: !152, file: !152, line: 261, type: !419, isLocal: false, isDefinition: true, scopeLine: 261, isOptimized: false, unit: !1, variables: !521)
  13937. !521 = !{!522, !523}
  13938. !522 = !DILocalVariable(name: "n", arg: 1, scope: !520, file: !152, line: 261, type: !390)
  13939. !523 = !DILocalVariable(name: "d", arg: 2, scope: !524, file: !152, line: 261, type: !390)
  13940. !524 = distinct !DILexicalBlock(scope: !520, file: !152, line: 261, column: 25)
  13941. !525 = !DILocation(line: 261, column: 25, scope: !520)
  13942. !526 = !DILocation(line: 261, column: 33, scope: !524)
  13943. !527 = !DILocation(line: 265, column: 22, scope: !528)
  13944. !528 = distinct !DILexicalBlock(scope: !529, file: !152, line: 261, column: 48)
  13945. !529 = distinct !DILexicalBlock(scope: !524, file: !152, line: 261, column: 33)
  13946. !530 = !DILocation(line: 265, column: 25, scope: !528)
  13947. !531 = !DILocation(line: 265, column: 21, scope: !528)
  13948. !532 = !DILocation(line: 265, column: 5, scope: !528)
  13949. !533 = distinct !DISubprogram(name: "__letf2", scope: !169, file: !169, line: 25, type: !534, isLocal: false, isDefinition: true, scopeLine: 25, isOptimized: false, unit: !1, variables: !537)
  13950. !534 = !DISubroutineType(types: !535)
  13951. !535 = !{!194, !536, !536}
  13952. !536 = !DIBasicType(name: "f128", size: 128, encoding: DW_ATE_float)
  13953. !537 = !{!538, !539, !541, !544, !546, !548}
  13954. !538 = !DILocalVariable(name: "a", arg: 1, scope: !533, file: !169, line: 25, type: !536)
  13955. !539 = !DILocalVariable(name: "b", arg: 2, scope: !540, file: !169, line: 25, type: !536)
  13956. !540 = distinct !DILexicalBlock(scope: !533, file: !169, line: 25, column: 19)
  13957. !541 = !DILocalVariable(name: "aInt", scope: !542, file: !169, line: 29, type: !181)
  13958. !542 = distinct !DILexicalBlock(scope: !543, file: !169, line: 25, column: 46)
  13959. !543 = distinct !DILexicalBlock(scope: !540, file: !169, line: 25, column: 28)
  13960. !544 = !DILocalVariable(name: "bInt", scope: !545, file: !169, line: 30, type: !181)
  13961. !545 = distinct !DILexicalBlock(scope: !542, file: !169, line: 29, column: 5)
  13962. !546 = !DILocalVariable(name: "aAbs", scope: !547, file: !169, line: 32, type: !181)
  13963. !547 = distinct !DILexicalBlock(scope: !545, file: !169, line: 30, column: 5)
  13964. !548 = !DILocalVariable(name: "bAbs", scope: !549, file: !169, line: 33, type: !181)
  13965. !549 = distinct !DILexicalBlock(scope: !547, file: !169, line: 32, column: 5)
  13966. !550 = !DILocation(line: 25, column: 19, scope: !533)
  13967. !551 = !DILocation(line: 25, column: 28, scope: !540)
  13968. !552 = !DILocation(line: 29, column: 34, scope: !542)
  13969. !553 = !DILocation(line: 29, column: 18, scope: !542)
  13970. !554 = !DILocation(line: 29, column: 5, scope: !542)
  13971. !555 = !DILocation(line: 30, column: 34, scope: !545)
  13972. !556 = !DILocation(line: 30, column: 18, scope: !545)
  13973. !557 = !DILocation(line: 30, column: 5, scope: !545)
  13974. !558 = !DILocation(line: 32, column: 25, scope: !547)
  13975. !559 = !DILocation(line: 32, column: 30, scope: !547)
  13976. !560 = !DILocation(line: 32, column: 5, scope: !547)
  13977. !561 = !DILocation(line: 33, column: 25, scope: !549)
  13978. !562 = !DILocation(line: 33, column: 30, scope: !549)
  13979. !563 = !DILocation(line: 33, column: 5, scope: !549)
  13980. !564 = !DILocation(line: 36, column: 9, scope: !565)
  13981. !565 = distinct !DILexicalBlock(scope: !549, file: !169, line: 33, column: 5)
  13982. !566 = !DILocation(line: 36, column: 14, scope: !565)
  13983. !567 = !DILocation(line: 36, column: 23, scope: !565)
  13984. !568 = !DILocation(line: 36, column: 26, scope: !565)
  13985. !569 = !DILocation(line: 36, column: 31, scope: !565)
  13986. !570 = !DILocation(line: 36, column: 41, scope: !565)
  13987. !571 = !DILocation(line: 36, column: 5, scope: !565)
  13988. !572 = !DILocation(line: 39, column: 10, scope: !565)
  13989. !573 = !DILocation(line: 39, column: 17, scope: !565)
  13990. !574 = !DILocation(line: 39, column: 15, scope: !565)
  13991. !575 = !DILocation(line: 39, column: 23, scope: !565)
  13992. !576 = !DILocation(line: 39, column: 29, scope: !565)
  13993. !577 = !DILocation(line: 39, column: 5, scope: !565)
  13994. !578 = !DILocation(line: 43, column: 17, scope: !565)
  13995. !579 = !DILocation(line: 43, column: 24, scope: !565)
  13996. !580 = !DILocation(line: 44, column: 13, scope: !581)
  13997. !581 = distinct !DILexicalBlock(scope: !565, file: !169, line: 43, column: 36)
  13998. !582 = !DILocation(line: 44, column: 20, scope: !581)
  13999. !583 = !DILocation(line: 44, column: 18, scope: !581)
  14000. !584 = !DILocation(line: 44, column: 9, scope: !581)
  14001. !585 = !DILocation(line: 46, column: 20, scope: !581)
  14002. !586 = !DILocation(line: 46, column: 28, scope: !581)
  14003. !587 = !DILocation(line: 46, column: 25, scope: !581)
  14004. !588 = !DILocation(line: 46, column: 16, scope: !581)
  14005. !589 = !DILocation(line: 43, column: 5, scope: !565)
  14006. !590 = distinct !DISubprogram(name: "__cmptf2", scope: !169, file: !169, line: 68, type: !534, isLocal: false, isDefinition: true, scopeLine: 68, isOptimized: false, unit: !1, variables: !591)
  14007. !591 = !{!592, !593}
  14008. !592 = !DILocalVariable(name: "a", arg: 1, scope: !590, file: !169, line: 68, type: !536)
  14009. !593 = !DILocalVariable(name: "b", arg: 2, scope: !594, file: !169, line: 68, type: !536)
  14010. !594 = distinct !DILexicalBlock(scope: !590, file: !169, line: 68, column: 20)
  14011. !595 = !DILocation(line: 68, column: 20, scope: !590)
  14012. !596 = !DILocation(line: 68, column: 29, scope: !594)
  14013. !597 = !DILocation(line: 71, column: 20, scope: !598)
  14014. !598 = distinct !DILexicalBlock(scope: !599, file: !169, line: 68, column: 47)
  14015. !599 = distinct !DILexicalBlock(scope: !594, file: !169, line: 68, column: 29)
  14016. !600 = !DILocation(line: 71, column: 23, scope: !598)
  14017. !601 = !DILocation(line: 71, column: 19, scope: !598)
  14018. !602 = !DILocation(line: 71, column: 5, scope: !598)
  14019. !603 = distinct !DISubprogram(name: "__getf2", scope: !169, file: !169, line: 81, type: !534, isLocal: false, isDefinition: true, scopeLine: 81, isOptimized: false, unit: !1, variables: !604)
  14020. !604 = !{!605, !606, !608, !612, !614, !616}
  14021. !605 = !DILocalVariable(name: "a", arg: 1, scope: !603, file: !169, line: 81, type: !536)
  14022. !606 = !DILocalVariable(name: "b", arg: 2, scope: !607, file: !169, line: 81, type: !536)
  14023. !607 = distinct !DILexicalBlock(scope: !603, file: !169, line: 81, column: 19)
  14024. !608 = !DILocalVariable(name: "aInt", scope: !609, file: !169, line: 85, type: !611)
  14025. !609 = distinct !DILexicalBlock(scope: !610, file: !169, line: 81, column: 46)
  14026. !610 = distinct !DILexicalBlock(scope: !607, file: !169, line: 81, column: 28)
  14027. !611 = !DIBasicType(name: "i128", size: 128, encoding: DW_ATE_signed)
  14028. !612 = !DILocalVariable(name: "bInt", scope: !613, file: !169, line: 86, type: !611)
  14029. !613 = distinct !DILexicalBlock(scope: !609, file: !169, line: 85, column: 5)
  14030. !614 = !DILocalVariable(name: "aAbs", scope: !615, file: !169, line: 87, type: !181)
  14031. !615 = distinct !DILexicalBlock(scope: !613, file: !169, line: 86, column: 5)
  14032. !616 = !DILocalVariable(name: "bAbs", scope: !617, file: !169, line: 88, type: !181)
  14033. !617 = distinct !DILexicalBlock(scope: !615, file: !169, line: 87, column: 5)
  14034. !618 = !DILocation(line: 81, column: 19, scope: !603)
  14035. !619 = !DILocation(line: 81, column: 28, scope: !607)
  14036. !620 = !DILocation(line: 85, column: 35, scope: !609)
  14037. !621 = !DILocation(line: 85, column: 18, scope: !609)
  14038. !622 = !DILocation(line: 85, column: 5, scope: !609)
  14039. !623 = !DILocation(line: 86, column: 35, scope: !613)
  14040. !624 = !DILocation(line: 86, column: 18, scope: !613)
  14041. !625 = !DILocation(line: 86, column: 5, scope: !613)
  14042. !626 = !DILocation(line: 87, column: 34, scope: !615)
  14043. !627 = !DILocation(line: 87, column: 40, scope: !615)
  14044. !628 = !DILocation(line: 87, column: 5, scope: !615)
  14045. !629 = !DILocation(line: 88, column: 34, scope: !617)
  14046. !630 = !DILocation(line: 88, column: 40, scope: !617)
  14047. !631 = !DILocation(line: 88, column: 5, scope: !617)
  14048. !632 = !DILocation(line: 90, column: 9, scope: !633)
  14049. !633 = distinct !DILexicalBlock(scope: !617, file: !169, line: 88, column: 5)
  14050. !634 = !DILocation(line: 90, column: 14, scope: !633)
  14051. !635 = !DILocation(line: 90, column: 23, scope: !633)
  14052. !636 = !DILocation(line: 90, column: 26, scope: !633)
  14053. !637 = !DILocation(line: 90, column: 31, scope: !633)
  14054. !638 = !DILocation(line: 90, column: 41, scope: !633)
  14055. !639 = !DILocation(line: 90, column: 5, scope: !633)
  14056. !640 = !DILocation(line: 91, column: 10, scope: !633)
  14057. !641 = !DILocation(line: 91, column: 17, scope: !633)
  14058. !642 = !DILocation(line: 91, column: 15, scope: !633)
  14059. !643 = !DILocation(line: 91, column: 23, scope: !633)
  14060. !644 = !DILocation(line: 91, column: 29, scope: !633)
  14061. !645 = !DILocation(line: 91, column: 5, scope: !633)
  14062. !646 = !DILocation(line: 92, column: 17, scope: !633)
  14063. !647 = !DILocation(line: 92, column: 24, scope: !633)
  14064. !648 = !DILocation(line: 92, column: 22, scope: !633)
  14065. !649 = !DILocation(line: 92, column: 30, scope: !633)
  14066. !650 = !DILocation(line: 93, column: 13, scope: !651)
  14067. !651 = distinct !DILexicalBlock(scope: !633, file: !169, line: 92, column: 36)
  14068. !652 = !DILocation(line: 93, column: 20, scope: !651)
  14069. !653 = !DILocation(line: 93, column: 18, scope: !651)
  14070. !654 = !DILocation(line: 101, column: 13, scope: !655)
  14071. !655 = distinct !DILexicalBlock(scope: !633, file: !169, line: 100, column: 12)
  14072. !656 = !DILocation(line: 101, column: 20, scope: !655)
  14073. !657 = !DILocation(line: 101, column: 18, scope: !655)
  14074. !658 = !DILocation(line: 93, column: 9, scope: !651)
  14075. !659 = !DILocation(line: 95, column: 20, scope: !651)
  14076. !660 = !DILocation(line: 95, column: 28, scope: !651)
  14077. !661 = !DILocation(line: 95, column: 25, scope: !651)
  14078. !662 = !DILocation(line: 101, column: 9, scope: !655)
  14079. !663 = !DILocation(line: 103, column: 20, scope: !655)
  14080. !664 = !DILocation(line: 103, column: 28, scope: !655)
  14081. !665 = !DILocation(line: 103, column: 25, scope: !655)
  14082. !666 = !DILocation(line: 95, column: 16, scope: !651)
  14083. !667 = !DILocation(line: 92, column: 12, scope: !633)
  14084. !668 = !DILocation(line: 103, column: 16, scope: !655)
  14085. !669 = !DILocation(line: 92, column: 5, scope: !633)
  14086. !670 = distinct !DISubprogram(name: "__unordtf2", scope: !169, file: !169, line: 111, type: !534, isLocal: false, isDefinition: true, scopeLine: 111, isOptimized: false, unit: !1, variables: !671)
  14087. !671 = !{!672, !673, !675, !678}
  14088. !672 = !DILocalVariable(name: "a", arg: 1, scope: !670, file: !169, line: 111, type: !536)
  14089. !673 = !DILocalVariable(name: "b", arg: 2, scope: !674, file: !169, line: 111, type: !536)
  14090. !674 = distinct !DILexicalBlock(scope: !670, file: !169, line: 111, column: 22)
  14091. !675 = !DILocalVariable(name: "aAbs", scope: !676, file: !169, line: 115, type: !181)
  14092. !676 = distinct !DILexicalBlock(scope: !677, file: !169, line: 111, column: 49)
  14093. !677 = distinct !DILexicalBlock(scope: !674, file: !169, line: 111, column: 31)
  14094. !678 = !DILocalVariable(name: "bAbs", scope: !679, file: !169, line: 116, type: !181)
  14095. !679 = distinct !DILexicalBlock(scope: !676, file: !169, line: 115, column: 5)
  14096. !680 = !DILocation(line: 111, column: 22, scope: !670)
  14097. !681 = !DILocation(line: 111, column: 31, scope: !674)
  14098. !682 = !DILocation(line: 115, column: 34, scope: !676)
  14099. !683 = !DILocation(line: 115, column: 18, scope: !676)
  14100. !684 = !DILocation(line: 115, column: 37, scope: !676)
  14101. !685 = !DILocation(line: 115, column: 5, scope: !676)
  14102. !686 = !DILocation(line: 116, column: 34, scope: !679)
  14103. !687 = !DILocation(line: 116, column: 18, scope: !679)
  14104. !688 = !DILocation(line: 116, column: 37, scope: !679)
  14105. !689 = !DILocation(line: 116, column: 5, scope: !679)
  14106. !690 = !DILocation(line: 117, column: 18, scope: !691)
  14107. !691 = distinct !DILexicalBlock(scope: !679, file: !169, line: 116, column: 5)
  14108. !692 = !DILocation(line: 117, column: 23, scope: !691)
  14109. !693 = !DILocation(line: 117, column: 32, scope: !691)
  14110. !694 = !DILocation(line: 117, column: 35, scope: !691)
  14111. !695 = !DILocation(line: 117, column: 40, scope: !691)
  14112. !696 = !DILocation(line: 117, column: 17, scope: !691)
  14113. !697 = !DILocation(line: 117, column: 5, scope: !691)
  14114. !698 = distinct !DISubprogram(name: "__eqtf2", scope: !169, file: !169, line: 123, type: !534, isLocal: false, isDefinition: true, scopeLine: 123, isOptimized: false, unit: !1, variables: !699)
  14115. !699 = !{!700, !701}
  14116. !700 = !DILocalVariable(name: "a", arg: 1, scope: !698, file: !169, line: 123, type: !536)
  14117. !701 = !DILocalVariable(name: "b", arg: 2, scope: !702, file: !169, line: 123, type: !536)
  14118. !702 = distinct !DILexicalBlock(scope: !698, file: !169, line: 123, column: 19)
  14119. !703 = !DILocation(line: 123, column: 19, scope: !698)
  14120. !704 = !DILocation(line: 123, column: 28, scope: !702)
  14121. !705 = !DILocation(line: 126, column: 20, scope: !706)
  14122. !706 = distinct !DILexicalBlock(scope: !707, file: !169, line: 123, column: 46)
  14123. !707 = distinct !DILexicalBlock(scope: !702, file: !169, line: 123, column: 28)
  14124. !708 = !DILocation(line: 126, column: 23, scope: !706)
  14125. !709 = !DILocation(line: 126, column: 19, scope: !706)
  14126. !710 = !DILocation(line: 126, column: 5, scope: !706)
  14127. !711 = distinct !DISubprogram(name: "__lttf2", scope: !169, file: !169, line: 129, type: !534, isLocal: false, isDefinition: true, scopeLine: 129, isOptimized: false, unit: !1, variables: !712)
  14128. !712 = !{!713, !714}
  14129. !713 = !DILocalVariable(name: "a", arg: 1, scope: !711, file: !169, line: 129, type: !536)
  14130. !714 = !DILocalVariable(name: "b", arg: 2, scope: !715, file: !169, line: 129, type: !536)
  14131. !715 = distinct !DILexicalBlock(scope: !711, file: !169, line: 129, column: 19)
  14132. !716 = !DILocation(line: 129, column: 19, scope: !711)
  14133. !717 = !DILocation(line: 129, column: 28, scope: !715)
  14134. !718 = !DILocation(line: 132, column: 20, scope: !719)
  14135. !719 = distinct !DILexicalBlock(scope: !720, file: !169, line: 129, column: 46)
  14136. !720 = distinct !DILexicalBlock(scope: !715, file: !169, line: 129, column: 28)
  14137. !721 = !DILocation(line: 132, column: 23, scope: !719)
  14138. !722 = !DILocation(line: 132, column: 19, scope: !719)
  14139. !723 = !DILocation(line: 132, column: 5, scope: !719)
  14140. !724 = distinct !DISubprogram(name: "__netf2", scope: !169, file: !169, line: 135, type: !534, isLocal: false, isDefinition: true, scopeLine: 135, isOptimized: false, unit: !1, variables: !725)
  14141. !725 = !{!726, !727}
  14142. !726 = !DILocalVariable(name: "a", arg: 1, scope: !724, file: !169, line: 135, type: !536)
  14143. !727 = !DILocalVariable(name: "b", arg: 2, scope: !728, file: !169, line: 135, type: !536)
  14144. !728 = distinct !DILexicalBlock(scope: !724, file: !169, line: 135, column: 19)
  14145. !729 = !DILocation(line: 135, column: 19, scope: !724)
  14146. !730 = !DILocation(line: 135, column: 28, scope: !728)
  14147. !731 = !DILocation(line: 138, column: 20, scope: !732)
  14148. !732 = distinct !DILexicalBlock(scope: !733, file: !169, line: 135, column: 46)
  14149. !733 = distinct !DILexicalBlock(scope: !728, file: !169, line: 135, column: 28)
  14150. !734 = !DILocation(line: 138, column: 23, scope: !732)
  14151. !735 = !DILocation(line: 138, column: 19, scope: !732)
  14152. !736 = !DILocation(line: 138, column: 5, scope: !732)
  14153. !737 = distinct !DISubprogram(name: "__gttf2", scope: !169, file: !169, line: 141, type: !534, isLocal: false, isDefinition: true, scopeLine: 141, isOptimized: false, unit: !1, variables: !738)
  14154. !738 = !{!739, !740}
  14155. !739 = !DILocalVariable(name: "a", arg: 1, scope: !737, file: !169, line: 141, type: !536)
  14156. !740 = !DILocalVariable(name: "b", arg: 2, scope: !741, file: !169, line: 141, type: !536)
  14157. !741 = distinct !DILexicalBlock(scope: !737, file: !169, line: 141, column: 19)
  14158. !742 = !DILocation(line: 141, column: 19, scope: !737)
  14159. !743 = !DILocation(line: 141, column: 28, scope: !741)
  14160. !744 = !DILocation(line: 144, column: 20, scope: !745)
  14161. !745 = distinct !DILexicalBlock(scope: !746, file: !169, line: 141, column: 46)
  14162. !746 = distinct !DILexicalBlock(scope: !741, file: !169, line: 141, column: 28)
  14163. !747 = !DILocation(line: 144, column: 23, scope: !745)
  14164. !748 = !DILocation(line: 144, column: 19, scope: !745)
  14165. !749 = !DILocation(line: 144, column: 5, scope: !745)
  14166. !750 = distinct !DISubprogram(name: "__fixunsdfdi", scope: !211, file: !211, line: 5, type: !751, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !754)
  14167. !751 = !DISubroutineType(types: !752)
  14168. !752 = !{!269, !753}
  14169. !753 = !DIBasicType(name: "f64", size: 64, encoding: DW_ATE_float)
  14170. !754 = !{!755}
  14171. !755 = !DILocalVariable(name: "a", arg: 1, scope: !750, file: !211, line: 5, type: !753)
  14172. !756 = !DILocation(line: 5, column: 24, scope: !750)
  14173. !757 = !DILocation(line: 8, column: 30, scope: !758)
  14174. !758 = distinct !DILexicalBlock(scope: !759, file: !211, line: 5, column: 39)
  14175. !759 = distinct !DILexicalBlock(scope: !750, file: !211, line: 5, column: 24)
  14176. !760 = !DILocation(line: 8, column: 19, scope: !758)
  14177. !761 = !DILocation(line: 8, column: 5, scope: !758)
  14178. !762 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !751, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !763)
  14179. !763 = !{!764, !768, !776, !780, !782, !784, !786, !788, !790, !792}
  14180. !764 = !DILocalVariable(name: "a", arg: 1, scope: !765, file: !256, line: 4, type: !753)
  14181. !765 = distinct !DILexicalBlock(scope: !766, file: !256, line: 4, column: 63)
  14182. !766 = distinct !DILexicalBlock(scope: !767, file: !256, line: 4, column: 37)
  14183. !767 = distinct !DILexicalBlock(scope: !762, file: !256, line: 4, column: 16)
  14184. !768 = !DILocalVariable(name: "signBit", scope: !769, file: !256, line: 22, type: !269)
  14185. !769 = distinct !DILexicalBlock(scope: !770, file: !256, line: 21, column: 5)
  14186. !770 = distinct !DILexicalBlock(scope: !771, file: !256, line: 20, column: 5)
  14187. !771 = distinct !DILexicalBlock(scope: !772, file: !256, line: 14, column: 5)
  14188. !772 = distinct !DILexicalBlock(scope: !773, file: !256, line: 13, column: 5)
  14189. !773 = distinct !DILexicalBlock(scope: !774, file: !256, line: 7, column: 5)
  14190. !774 = distinct !DILexicalBlock(scope: !775, file: !256, line: 4, column: 85)
  14191. !775 = distinct !DILexicalBlock(scope: !765, file: !256, line: 4, column: 63)
  14192. !776 = !DILocalVariable(name: "implicitBit", scope: !777, file: !256, line: 26, type: !269)
  14193. !777 = distinct !DILexicalBlock(scope: !778, file: !256, line: 24, column: 5)
  14194. !778 = distinct !DILexicalBlock(scope: !779, file: !256, line: 23, column: 5)
  14195. !779 = distinct !DILexicalBlock(scope: !769, file: !256, line: 22, column: 5)
  14196. !780 = !DILocalVariable(name: "significandMask", scope: !781, file: !256, line: 27, type: !269)
  14197. !781 = distinct !DILexicalBlock(scope: !777, file: !256, line: 26, column: 5)
  14198. !782 = !DILocalVariable(name: "aRep", scope: !783, file: !256, line: 30, type: !269)
  14199. !783 = distinct !DILexicalBlock(scope: !781, file: !256, line: 27, column: 5)
  14200. !784 = !DILocalVariable(name: "absMask", scope: !785, file: !256, line: 31, type: !269)
  14201. !785 = distinct !DILexicalBlock(scope: !783, file: !256, line: 30, column: 5)
  14202. !786 = !DILocalVariable(name: "aAbs", scope: !787, file: !256, line: 32, type: !269)
  14203. !787 = distinct !DILexicalBlock(scope: !785, file: !256, line: 31, column: 5)
  14204. !788 = !DILocalVariable(name: "sign", scope: !789, file: !256, line: 34, type: !440)
  14205. !789 = distinct !DILexicalBlock(scope: !787, file: !256, line: 32, column: 5)
  14206. !790 = !DILocalVariable(name: "exponent", scope: !791, file: !256, line: 35, type: !440)
  14207. !791 = distinct !DILexicalBlock(scope: !789, file: !256, line: 34, column: 5)
  14208. !792 = !DILocalVariable(name: "significand", scope: !793, file: !256, line: 36, type: !269)
  14209. !793 = distinct !DILexicalBlock(scope: !791, file: !256, line: 35, column: 5)
  14210. !794 = !DILocation(line: 4, column: 63, scope: !765)
  14211. !795 = !DILocation(line: 22, column: 5, scope: !769)
  14212. !796 = !DILocation(line: 26, column: 5, scope: !777)
  14213. !797 = !DILocation(line: 27, column: 5, scope: !781)
  14214. !798 = !DILocation(line: 30, column: 41, scope: !783)
  14215. !799 = !DILocation(line: 30, column: 25, scope: !783)
  14216. !800 = !DILocation(line: 30, column: 5, scope: !783)
  14217. !801 = !DILocation(line: 31, column: 5, scope: !785)
  14218. !802 = !DILocation(line: 32, column: 25, scope: !787)
  14219. !803 = !DILocation(line: 32, column: 30, scope: !787)
  14220. !804 = !DILocation(line: 32, column: 5, scope: !787)
  14221. !805 = !DILocation(line: 34, column: 23, scope: !789)
  14222. !806 = !DILocation(line: 34, column: 28, scope: !789)
  14223. !807 = !DILocation(line: 34, column: 39, scope: !789)
  14224. !808 = !DILocation(line: 34, column: 18, scope: !789)
  14225. !809 = !DILocation(line: 34, column: 5, scope: !789)
  14226. !810 = !DILocation(line: 35, column: 26, scope: !791)
  14227. !811 = !DILocation(line: 35, column: 31, scope: !791)
  14228. !812 = !DILocation(line: 35, column: 25, scope: !791)
  14229. !813 = !DILocation(line: 35, column: 51, scope: !791)
  14230. !814 = !DILocation(line: 35, column: 5, scope: !791)
  14231. !815 = !DILocation(line: 36, column: 33, scope: !793)
  14232. !816 = !DILocation(line: 36, column: 38, scope: !793)
  14233. !817 = !DILocation(line: 36, column: 57, scope: !793)
  14234. !818 = !DILocation(line: 36, column: 5, scope: !793)
  14235. !819 = !DILocation(line: 39, column: 9, scope: !820)
  14236. !820 = distinct !DILexicalBlock(scope: !793, file: !256, line: 36, column: 5)
  14237. !821 = !DILocation(line: 39, column: 14, scope: !820)
  14238. !822 = !DILocation(line: 39, column: 20, scope: !820)
  14239. !823 = !DILocation(line: 39, column: 23, scope: !820)
  14240. !824 = !DILocation(line: 39, column: 32, scope: !820)
  14241. !825 = !DILocation(line: 40, column: 9, scope: !820)
  14242. !826 = !DILocation(line: 39, column: 5, scope: !820)
  14243. !827 = !DILocation(line: 43, column: 16, scope: !820)
  14244. !828 = !DILocation(line: 43, column: 26, scope: !820)
  14245. !829 = !DILocation(line: 44, column: 9, scope: !820)
  14246. !830 = !DILocation(line: 48, column: 9, scope: !820)
  14247. !831 = !DILocation(line: 48, column: 18, scope: !820)
  14248. !832 = !DILocation(line: 52, column: 26, scope: !833)
  14249. !833 = distinct !DILexicalBlock(scope: !820, file: !256, line: 48, column: 37)
  14250. !834 = !DILocation(line: 52, column: 74, scope: !833)
  14251. !835 = !DILocation(line: 52, column: 72, scope: !833)
  14252. !836 = !DILocation(line: 52, column: 55, scope: !833)
  14253. !837 = !DILocation(line: 52, column: 38, scope: !833)
  14254. !838 = !DILocation(line: 52, column: 9, scope: !833)
  14255. !839 = !DILocation(line: 57, column: 26, scope: !840)
  14256. !840 = distinct !DILexicalBlock(scope: !820, file: !256, line: 53, column: 12)
  14257. !841 = !DILocation(line: 57, column: 61, scope: !840)
  14258. !842 = !DILocation(line: 57, column: 70, scope: !840)
  14259. !843 = !DILocation(line: 57, column: 60, scope: !840)
  14260. !844 = !DILocation(line: 57, column: 39, scope: !840)
  14261. !845 = !DILocation(line: 57, column: 9, scope: !840)
  14262. !846 = distinct !DISubprogram(name: "__fixunsdfsi", scope: !214, file: !214, line: 5, type: !847, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !849)
  14263. !847 = !DISubroutineType(types: !848)
  14264. !848 = !{!390, !753}
  14265. !849 = !{!850}
  14266. !850 = !DILocalVariable(name: "a", arg: 1, scope: !846, file: !214, line: 5, type: !753)
  14267. !851 = !DILocation(line: 5, column: 24, scope: !846)
  14268. !852 = !DILocation(line: 8, column: 30, scope: !853)
  14269. !853 = distinct !DILexicalBlock(scope: !854, file: !214, line: 5, column: 39)
  14270. !854 = distinct !DILexicalBlock(scope: !846, file: !214, line: 5, column: 24)
  14271. !855 = !DILocation(line: 8, column: 19, scope: !853)
  14272. !856 = !DILocation(line: 8, column: 5, scope: !853)
  14273. !857 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !847, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !858)
  14274. !858 = !{!859, !863, !871, !875, !877, !879, !881, !883, !885, !887}
  14275. !859 = !DILocalVariable(name: "a", arg: 1, scope: !860, file: !256, line: 4, type: !753)
  14276. !860 = distinct !DILexicalBlock(scope: !861, file: !256, line: 4, column: 63)
  14277. !861 = distinct !DILexicalBlock(scope: !862, file: !256, line: 4, column: 37)
  14278. !862 = distinct !DILexicalBlock(scope: !857, file: !256, line: 4, column: 16)
  14279. !863 = !DILocalVariable(name: "signBit", scope: !864, file: !256, line: 22, type: !269)
  14280. !864 = distinct !DILexicalBlock(scope: !865, file: !256, line: 21, column: 5)
  14281. !865 = distinct !DILexicalBlock(scope: !866, file: !256, line: 20, column: 5)
  14282. !866 = distinct !DILexicalBlock(scope: !867, file: !256, line: 14, column: 5)
  14283. !867 = distinct !DILexicalBlock(scope: !868, file: !256, line: 13, column: 5)
  14284. !868 = distinct !DILexicalBlock(scope: !869, file: !256, line: 7, column: 5)
  14285. !869 = distinct !DILexicalBlock(scope: !870, file: !256, line: 4, column: 85)
  14286. !870 = distinct !DILexicalBlock(scope: !860, file: !256, line: 4, column: 63)
  14287. !871 = !DILocalVariable(name: "implicitBit", scope: !872, file: !256, line: 26, type: !269)
  14288. !872 = distinct !DILexicalBlock(scope: !873, file: !256, line: 24, column: 5)
  14289. !873 = distinct !DILexicalBlock(scope: !874, file: !256, line: 23, column: 5)
  14290. !874 = distinct !DILexicalBlock(scope: !864, file: !256, line: 22, column: 5)
  14291. !875 = !DILocalVariable(name: "significandMask", scope: !876, file: !256, line: 27, type: !269)
  14292. !876 = distinct !DILexicalBlock(scope: !872, file: !256, line: 26, column: 5)
  14293. !877 = !DILocalVariable(name: "aRep", scope: !878, file: !256, line: 30, type: !269)
  14294. !878 = distinct !DILexicalBlock(scope: !876, file: !256, line: 27, column: 5)
  14295. !879 = !DILocalVariable(name: "absMask", scope: !880, file: !256, line: 31, type: !269)
  14296. !880 = distinct !DILexicalBlock(scope: !878, file: !256, line: 30, column: 5)
  14297. !881 = !DILocalVariable(name: "aAbs", scope: !882, file: !256, line: 32, type: !269)
  14298. !882 = distinct !DILexicalBlock(scope: !880, file: !256, line: 31, column: 5)
  14299. !883 = !DILocalVariable(name: "sign", scope: !884, file: !256, line: 34, type: !440)
  14300. !884 = distinct !DILexicalBlock(scope: !882, file: !256, line: 32, column: 5)
  14301. !885 = !DILocalVariable(name: "exponent", scope: !886, file: !256, line: 35, type: !440)
  14302. !886 = distinct !DILexicalBlock(scope: !884, file: !256, line: 34, column: 5)
  14303. !887 = !DILocalVariable(name: "significand", scope: !888, file: !256, line: 36, type: !269)
  14304. !888 = distinct !DILexicalBlock(scope: !886, file: !256, line: 35, column: 5)
  14305. !889 = !DILocation(line: 4, column: 63, scope: !860)
  14306. !890 = !DILocation(line: 22, column: 5, scope: !864)
  14307. !891 = !DILocation(line: 26, column: 5, scope: !872)
  14308. !892 = !DILocation(line: 27, column: 5, scope: !876)
  14309. !893 = !DILocation(line: 30, column: 41, scope: !878)
  14310. !894 = !DILocation(line: 30, column: 25, scope: !878)
  14311. !895 = !DILocation(line: 30, column: 5, scope: !878)
  14312. !896 = !DILocation(line: 31, column: 5, scope: !880)
  14313. !897 = !DILocation(line: 32, column: 25, scope: !882)
  14314. !898 = !DILocation(line: 32, column: 30, scope: !882)
  14315. !899 = !DILocation(line: 32, column: 5, scope: !882)
  14316. !900 = !DILocation(line: 34, column: 23, scope: !884)
  14317. !901 = !DILocation(line: 34, column: 28, scope: !884)
  14318. !902 = !DILocation(line: 34, column: 39, scope: !884)
  14319. !903 = !DILocation(line: 34, column: 18, scope: !884)
  14320. !904 = !DILocation(line: 34, column: 5, scope: !884)
  14321. !905 = !DILocation(line: 35, column: 26, scope: !886)
  14322. !906 = !DILocation(line: 35, column: 31, scope: !886)
  14323. !907 = !DILocation(line: 35, column: 25, scope: !886)
  14324. !908 = !DILocation(line: 35, column: 51, scope: !886)
  14325. !909 = !DILocation(line: 35, column: 5, scope: !886)
  14326. !910 = !DILocation(line: 36, column: 33, scope: !888)
  14327. !911 = !DILocation(line: 36, column: 38, scope: !888)
  14328. !912 = !DILocation(line: 36, column: 57, scope: !888)
  14329. !913 = !DILocation(line: 36, column: 5, scope: !888)
  14330. !914 = !DILocation(line: 39, column: 9, scope: !915)
  14331. !915 = distinct !DILexicalBlock(scope: !888, file: !256, line: 36, column: 5)
  14332. !916 = !DILocation(line: 39, column: 14, scope: !915)
  14333. !917 = !DILocation(line: 39, column: 20, scope: !915)
  14334. !918 = !DILocation(line: 39, column: 23, scope: !915)
  14335. !919 = !DILocation(line: 39, column: 32, scope: !915)
  14336. !920 = !DILocation(line: 40, column: 9, scope: !915)
  14337. !921 = !DILocation(line: 39, column: 5, scope: !915)
  14338. !922 = !DILocation(line: 43, column: 16, scope: !915)
  14339. !923 = !DILocation(line: 43, column: 26, scope: !915)
  14340. !924 = !DILocation(line: 44, column: 9, scope: !915)
  14341. !925 = !DILocation(line: 48, column: 9, scope: !915)
  14342. !926 = !DILocation(line: 48, column: 18, scope: !915)
  14343. !927 = !DILocation(line: 52, column: 26, scope: !928)
  14344. !928 = distinct !DILexicalBlock(scope: !915, file: !256, line: 48, column: 37)
  14345. !929 = !DILocation(line: 52, column: 74, scope: !928)
  14346. !930 = !DILocation(line: 52, column: 72, scope: !928)
  14347. !931 = !DILocation(line: 52, column: 55, scope: !928)
  14348. !932 = !DILocation(line: 52, column: 38, scope: !928)
  14349. !933 = !DILocation(line: 52, column: 25, scope: !928)
  14350. !934 = !DILocation(line: 52, column: 9, scope: !928)
  14351. !935 = !DILocation(line: 57, column: 26, scope: !936)
  14352. !936 = distinct !DILexicalBlock(scope: !915, file: !256, line: 53, column: 12)
  14353. !937 = !DILocation(line: 57, column: 25, scope: !936)
  14354. !938 = !DILocation(line: 57, column: 61, scope: !936)
  14355. !939 = !DILocation(line: 57, column: 70, scope: !936)
  14356. !940 = !DILocation(line: 57, column: 60, scope: !936)
  14357. !941 = !DILocation(line: 57, column: 39, scope: !936)
  14358. !942 = !DILocation(line: 57, column: 9, scope: !936)
  14359. !943 = distinct !DISubprogram(name: "__fixunsdfti", scope: !217, file: !217, line: 5, type: !944, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !946)
  14360. !944 = !DISubroutineType(types: !945)
  14361. !945 = !{!181, !753}
  14362. !946 = !{!947}
  14363. !947 = !DILocalVariable(name: "a", arg: 1, scope: !943, file: !217, line: 5, type: !753)
  14364. !948 = !DILocation(line: 5, column: 24, scope: !943)
  14365. !949 = !DILocation(line: 8, column: 31, scope: !950)
  14366. !950 = distinct !DILexicalBlock(scope: !951, file: !217, line: 5, column: 40)
  14367. !951 = distinct !DILexicalBlock(scope: !943, file: !217, line: 5, column: 24)
  14368. !952 = !DILocation(line: 8, column: 19, scope: !950)
  14369. !953 = !DILocation(line: 8, column: 5, scope: !950)
  14370. !954 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !944, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !955)
  14371. !955 = !{!956, !960, !968, !972, !974, !976, !978, !980, !982, !984}
  14372. !956 = !DILocalVariable(name: "a", arg: 1, scope: !957, file: !256, line: 4, type: !753)
  14373. !957 = distinct !DILexicalBlock(scope: !958, file: !256, line: 4, column: 63)
  14374. !958 = distinct !DILexicalBlock(scope: !959, file: !256, line: 4, column: 37)
  14375. !959 = distinct !DILexicalBlock(scope: !954, file: !256, line: 4, column: 16)
  14376. !960 = !DILocalVariable(name: "signBit", scope: !961, file: !256, line: 22, type: !269)
  14377. !961 = distinct !DILexicalBlock(scope: !962, file: !256, line: 21, column: 5)
  14378. !962 = distinct !DILexicalBlock(scope: !963, file: !256, line: 20, column: 5)
  14379. !963 = distinct !DILexicalBlock(scope: !964, file: !256, line: 14, column: 5)
  14380. !964 = distinct !DILexicalBlock(scope: !965, file: !256, line: 13, column: 5)
  14381. !965 = distinct !DILexicalBlock(scope: !966, file: !256, line: 7, column: 5)
  14382. !966 = distinct !DILexicalBlock(scope: !967, file: !256, line: 4, column: 85)
  14383. !967 = distinct !DILexicalBlock(scope: !957, file: !256, line: 4, column: 63)
  14384. !968 = !DILocalVariable(name: "implicitBit", scope: !969, file: !256, line: 26, type: !269)
  14385. !969 = distinct !DILexicalBlock(scope: !970, file: !256, line: 24, column: 5)
  14386. !970 = distinct !DILexicalBlock(scope: !971, file: !256, line: 23, column: 5)
  14387. !971 = distinct !DILexicalBlock(scope: !961, file: !256, line: 22, column: 5)
  14388. !972 = !DILocalVariable(name: "significandMask", scope: !973, file: !256, line: 27, type: !269)
  14389. !973 = distinct !DILexicalBlock(scope: !969, file: !256, line: 26, column: 5)
  14390. !974 = !DILocalVariable(name: "aRep", scope: !975, file: !256, line: 30, type: !269)
  14391. !975 = distinct !DILexicalBlock(scope: !973, file: !256, line: 27, column: 5)
  14392. !976 = !DILocalVariable(name: "absMask", scope: !977, file: !256, line: 31, type: !269)
  14393. !977 = distinct !DILexicalBlock(scope: !975, file: !256, line: 30, column: 5)
  14394. !978 = !DILocalVariable(name: "aAbs", scope: !979, file: !256, line: 32, type: !269)
  14395. !979 = distinct !DILexicalBlock(scope: !977, file: !256, line: 31, column: 5)
  14396. !980 = !DILocalVariable(name: "sign", scope: !981, file: !256, line: 34, type: !440)
  14397. !981 = distinct !DILexicalBlock(scope: !979, file: !256, line: 32, column: 5)
  14398. !982 = !DILocalVariable(name: "exponent", scope: !983, file: !256, line: 35, type: !440)
  14399. !983 = distinct !DILexicalBlock(scope: !981, file: !256, line: 34, column: 5)
  14400. !984 = !DILocalVariable(name: "significand", scope: !985, file: !256, line: 36, type: !269)
  14401. !985 = distinct !DILexicalBlock(scope: !983, file: !256, line: 35, column: 5)
  14402. !986 = !DILocation(line: 4, column: 63, scope: !957)
  14403. !987 = !DILocation(line: 22, column: 5, scope: !961)
  14404. !988 = !DILocation(line: 26, column: 5, scope: !969)
  14405. !989 = !DILocation(line: 27, column: 5, scope: !973)
  14406. !990 = !DILocation(line: 30, column: 41, scope: !975)
  14407. !991 = !DILocation(line: 30, column: 25, scope: !975)
  14408. !992 = !DILocation(line: 30, column: 5, scope: !975)
  14409. !993 = !DILocation(line: 31, column: 5, scope: !977)
  14410. !994 = !DILocation(line: 32, column: 25, scope: !979)
  14411. !995 = !DILocation(line: 32, column: 30, scope: !979)
  14412. !996 = !DILocation(line: 32, column: 5, scope: !979)
  14413. !997 = !DILocation(line: 34, column: 23, scope: !981)
  14414. !998 = !DILocation(line: 34, column: 28, scope: !981)
  14415. !999 = !DILocation(line: 34, column: 39, scope: !981)
  14416. !1000 = !DILocation(line: 34, column: 18, scope: !981)
  14417. !1001 = !DILocation(line: 34, column: 5, scope: !981)
  14418. !1002 = !DILocation(line: 35, column: 26, scope: !983)
  14419. !1003 = !DILocation(line: 35, column: 31, scope: !983)
  14420. !1004 = !DILocation(line: 35, column: 25, scope: !983)
  14421. !1005 = !DILocation(line: 35, column: 51, scope: !983)
  14422. !1006 = !DILocation(line: 35, column: 5, scope: !983)
  14423. !1007 = !DILocation(line: 36, column: 33, scope: !985)
  14424. !1008 = !DILocation(line: 36, column: 38, scope: !985)
  14425. !1009 = !DILocation(line: 36, column: 57, scope: !985)
  14426. !1010 = !DILocation(line: 36, column: 5, scope: !985)
  14427. !1011 = !DILocation(line: 39, column: 9, scope: !1012)
  14428. !1012 = distinct !DILexicalBlock(scope: !985, file: !256, line: 36, column: 5)
  14429. !1013 = !DILocation(line: 39, column: 14, scope: !1012)
  14430. !1014 = !DILocation(line: 39, column: 20, scope: !1012)
  14431. !1015 = !DILocation(line: 39, column: 23, scope: !1012)
  14432. !1016 = !DILocation(line: 39, column: 32, scope: !1012)
  14433. !1017 = !DILocation(line: 40, column: 9, scope: !1012)
  14434. !1018 = !DILocation(line: 39, column: 5, scope: !1012)
  14435. !1019 = !DILocation(line: 43, column: 16, scope: !1012)
  14436. !1020 = !DILocation(line: 43, column: 26, scope: !1012)
  14437. !1021 = !DILocation(line: 44, column: 9, scope: !1012)
  14438. !1022 = !DILocation(line: 48, column: 9, scope: !1012)
  14439. !1023 = !DILocation(line: 48, column: 18, scope: !1012)
  14440. !1024 = !DILocation(line: 52, column: 26, scope: !1025)
  14441. !1025 = distinct !DILexicalBlock(scope: !1012, file: !256, line: 48, column: 37)
  14442. !1026 = !DILocation(line: 52, column: 74, scope: !1025)
  14443. !1027 = !DILocation(line: 52, column: 72, scope: !1025)
  14444. !1028 = !DILocation(line: 52, column: 55, scope: !1025)
  14445. !1029 = !DILocation(line: 52, column: 38, scope: !1025)
  14446. !1030 = !DILocation(line: 52, column: 25, scope: !1025)
  14447. !1031 = !DILocation(line: 52, column: 9, scope: !1025)
  14448. !1032 = !DILocation(line: 57, column: 26, scope: !1033)
  14449. !1033 = distinct !DILexicalBlock(scope: !1012, file: !256, line: 53, column: 12)
  14450. !1034 = !DILocation(line: 57, column: 25, scope: !1033)
  14451. !1035 = !DILocation(line: 57, column: 61, scope: !1033)
  14452. !1036 = !DILocation(line: 57, column: 70, scope: !1033)
  14453. !1037 = !DILocation(line: 57, column: 60, scope: !1033)
  14454. !1038 = !DILocation(line: 57, column: 39, scope: !1033)
  14455. !1039 = !DILocation(line: 57, column: 9, scope: !1033)
  14456. !1040 = distinct !DISubprogram(name: "__fixunssfdi", scope: !220, file: !220, line: 5, type: !1041, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1044)
  14457. !1041 = !DISubroutineType(types: !1042)
  14458. !1042 = !{!269, !1043}
  14459. !1043 = !DIBasicType(name: "f32", size: 32, encoding: DW_ATE_float)
  14460. !1044 = !{!1045}
  14461. !1045 = !DILocalVariable(name: "a", arg: 1, scope: !1040, file: !220, line: 5, type: !1043)
  14462. !1046 = !DILocation(line: 5, column: 24, scope: !1040)
  14463. !1047 = !DILocation(line: 8, column: 30, scope: !1048)
  14464. !1048 = distinct !DILexicalBlock(scope: !1049, file: !220, line: 5, column: 39)
  14465. !1049 = distinct !DILexicalBlock(scope: !1040, file: !220, line: 5, column: 24)
  14466. !1050 = !DILocation(line: 8, column: 19, scope: !1048)
  14467. !1051 = !DILocation(line: 8, column: 5, scope: !1048)
  14468. !1052 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1041, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1053)
  14469. !1053 = !{!1054, !1058, !1066, !1070, !1072, !1074, !1076, !1078, !1080, !1082}
  14470. !1054 = !DILocalVariable(name: "a", arg: 1, scope: !1055, file: !256, line: 4, type: !1043)
  14471. !1055 = distinct !DILexicalBlock(scope: !1056, file: !256, line: 4, column: 63)
  14472. !1056 = distinct !DILexicalBlock(scope: !1057, file: !256, line: 4, column: 37)
  14473. !1057 = distinct !DILexicalBlock(scope: !1052, file: !256, line: 4, column: 16)
  14474. !1058 = !DILocalVariable(name: "signBit", scope: !1059, file: !256, line: 22, type: !390)
  14475. !1059 = distinct !DILexicalBlock(scope: !1060, file: !256, line: 21, column: 5)
  14476. !1060 = distinct !DILexicalBlock(scope: !1061, file: !256, line: 20, column: 5)
  14477. !1061 = distinct !DILexicalBlock(scope: !1062, file: !256, line: 14, column: 5)
  14478. !1062 = distinct !DILexicalBlock(scope: !1063, file: !256, line: 13, column: 5)
  14479. !1063 = distinct !DILexicalBlock(scope: !1064, file: !256, line: 7, column: 5)
  14480. !1064 = distinct !DILexicalBlock(scope: !1065, file: !256, line: 4, column: 85)
  14481. !1065 = distinct !DILexicalBlock(scope: !1055, file: !256, line: 4, column: 63)
  14482. !1066 = !DILocalVariable(name: "implicitBit", scope: !1067, file: !256, line: 26, type: !390)
  14483. !1067 = distinct !DILexicalBlock(scope: !1068, file: !256, line: 24, column: 5)
  14484. !1068 = distinct !DILexicalBlock(scope: !1069, file: !256, line: 23, column: 5)
  14485. !1069 = distinct !DILexicalBlock(scope: !1059, file: !256, line: 22, column: 5)
  14486. !1070 = !DILocalVariable(name: "significandMask", scope: !1071, file: !256, line: 27, type: !390)
  14487. !1071 = distinct !DILexicalBlock(scope: !1067, file: !256, line: 26, column: 5)
  14488. !1072 = !DILocalVariable(name: "aRep", scope: !1073, file: !256, line: 30, type: !390)
  14489. !1073 = distinct !DILexicalBlock(scope: !1071, file: !256, line: 27, column: 5)
  14490. !1074 = !DILocalVariable(name: "absMask", scope: !1075, file: !256, line: 31, type: !390)
  14491. !1075 = distinct !DILexicalBlock(scope: !1073, file: !256, line: 30, column: 5)
  14492. !1076 = !DILocalVariable(name: "aAbs", scope: !1077, file: !256, line: 32, type: !390)
  14493. !1077 = distinct !DILexicalBlock(scope: !1075, file: !256, line: 31, column: 5)
  14494. !1078 = !DILocalVariable(name: "sign", scope: !1079, file: !256, line: 34, type: !440)
  14495. !1079 = distinct !DILexicalBlock(scope: !1077, file: !256, line: 32, column: 5)
  14496. !1080 = !DILocalVariable(name: "exponent", scope: !1081, file: !256, line: 35, type: !440)
  14497. !1081 = distinct !DILexicalBlock(scope: !1079, file: !256, line: 34, column: 5)
  14498. !1082 = !DILocalVariable(name: "significand", scope: !1083, file: !256, line: 36, type: !390)
  14499. !1083 = distinct !DILexicalBlock(scope: !1081, file: !256, line: 35, column: 5)
  14500. !1084 = !DILocation(line: 4, column: 63, scope: !1055)
  14501. !1085 = !DILocation(line: 22, column: 5, scope: !1059)
  14502. !1086 = !DILocation(line: 26, column: 5, scope: !1067)
  14503. !1087 = !DILocation(line: 27, column: 5, scope: !1071)
  14504. !1088 = !DILocation(line: 30, column: 41, scope: !1073)
  14505. !1089 = !DILocation(line: 30, column: 25, scope: !1073)
  14506. !1090 = !DILocation(line: 30, column: 5, scope: !1073)
  14507. !1091 = !DILocation(line: 31, column: 5, scope: !1075)
  14508. !1092 = !DILocation(line: 32, column: 25, scope: !1077)
  14509. !1093 = !DILocation(line: 32, column: 30, scope: !1077)
  14510. !1094 = !DILocation(line: 32, column: 5, scope: !1077)
  14511. !1095 = !DILocation(line: 34, column: 23, scope: !1079)
  14512. !1096 = !DILocation(line: 34, column: 28, scope: !1079)
  14513. !1097 = !DILocation(line: 34, column: 39, scope: !1079)
  14514. !1098 = !DILocation(line: 34, column: 18, scope: !1079)
  14515. !1099 = !DILocation(line: 34, column: 5, scope: !1079)
  14516. !1100 = !DILocation(line: 35, column: 26, scope: !1081)
  14517. !1101 = !DILocation(line: 35, column: 31, scope: !1081)
  14518. !1102 = !DILocation(line: 35, column: 51, scope: !1081)
  14519. !1103 = !DILocation(line: 35, column: 5, scope: !1081)
  14520. !1104 = !DILocation(line: 36, column: 33, scope: !1083)
  14521. !1105 = !DILocation(line: 36, column: 38, scope: !1083)
  14522. !1106 = !DILocation(line: 36, column: 57, scope: !1083)
  14523. !1107 = !DILocation(line: 36, column: 5, scope: !1083)
  14524. !1108 = !DILocation(line: 39, column: 9, scope: !1109)
  14525. !1109 = distinct !DILexicalBlock(scope: !1083, file: !256, line: 36, column: 5)
  14526. !1110 = !DILocation(line: 39, column: 14, scope: !1109)
  14527. !1111 = !DILocation(line: 39, column: 20, scope: !1109)
  14528. !1112 = !DILocation(line: 39, column: 23, scope: !1109)
  14529. !1113 = !DILocation(line: 39, column: 32, scope: !1109)
  14530. !1114 = !DILocation(line: 40, column: 9, scope: !1109)
  14531. !1115 = !DILocation(line: 39, column: 5, scope: !1109)
  14532. !1116 = !DILocation(line: 43, column: 16, scope: !1109)
  14533. !1117 = !DILocation(line: 43, column: 26, scope: !1109)
  14534. !1118 = !DILocation(line: 44, column: 9, scope: !1109)
  14535. !1119 = !DILocation(line: 48, column: 9, scope: !1109)
  14536. !1120 = !DILocation(line: 48, column: 18, scope: !1109)
  14537. !1121 = !DILocation(line: 52, column: 26, scope: !1122)
  14538. !1122 = distinct !DILexicalBlock(scope: !1109, file: !256, line: 48, column: 37)
  14539. !1123 = !DILocation(line: 52, column: 74, scope: !1122)
  14540. !1124 = !DILocation(line: 52, column: 72, scope: !1122)
  14541. !1125 = !DILocation(line: 52, column: 55, scope: !1122)
  14542. !1126 = !DILocation(line: 52, column: 38, scope: !1122)
  14543. !1127 = !DILocation(line: 52, column: 25, scope: !1122)
  14544. !1128 = !DILocation(line: 52, column: 9, scope: !1122)
  14545. !1129 = !DILocation(line: 57, column: 26, scope: !1130)
  14546. !1130 = distinct !DILexicalBlock(scope: !1109, file: !256, line: 53, column: 12)
  14547. !1131 = !DILocation(line: 57, column: 25, scope: !1130)
  14548. !1132 = !DILocation(line: 57, column: 61, scope: !1130)
  14549. !1133 = !DILocation(line: 57, column: 70, scope: !1130)
  14550. !1134 = !DILocation(line: 57, column: 60, scope: !1130)
  14551. !1135 = !DILocation(line: 57, column: 39, scope: !1130)
  14552. !1136 = !DILocation(line: 57, column: 9, scope: !1130)
  14553. !1137 = distinct !DISubprogram(name: "__fixunssfsi", scope: !223, file: !223, line: 5, type: !1138, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1140)
  14554. !1138 = !DISubroutineType(types: !1139)
  14555. !1139 = !{!390, !1043}
  14556. !1140 = !{!1141}
  14557. !1141 = !DILocalVariable(name: "a", arg: 1, scope: !1137, file: !223, line: 5, type: !1043)
  14558. !1142 = !DILocation(line: 5, column: 24, scope: !1137)
  14559. !1143 = !DILocation(line: 8, column: 30, scope: !1144)
  14560. !1144 = distinct !DILexicalBlock(scope: !1145, file: !223, line: 5, column: 39)
  14561. !1145 = distinct !DILexicalBlock(scope: !1137, file: !223, line: 5, column: 24)
  14562. !1146 = !DILocation(line: 8, column: 19, scope: !1144)
  14563. !1147 = !DILocation(line: 8, column: 5, scope: !1144)
  14564. !1148 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1138, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1149)
  14565. !1149 = !{!1150, !1154, !1162, !1166, !1168, !1170, !1172, !1174, !1176, !1178}
  14566. !1150 = !DILocalVariable(name: "a", arg: 1, scope: !1151, file: !256, line: 4, type: !1043)
  14567. !1151 = distinct !DILexicalBlock(scope: !1152, file: !256, line: 4, column: 63)
  14568. !1152 = distinct !DILexicalBlock(scope: !1153, file: !256, line: 4, column: 37)
  14569. !1153 = distinct !DILexicalBlock(scope: !1148, file: !256, line: 4, column: 16)
  14570. !1154 = !DILocalVariable(name: "signBit", scope: !1155, file: !256, line: 22, type: !390)
  14571. !1155 = distinct !DILexicalBlock(scope: !1156, file: !256, line: 21, column: 5)
  14572. !1156 = distinct !DILexicalBlock(scope: !1157, file: !256, line: 20, column: 5)
  14573. !1157 = distinct !DILexicalBlock(scope: !1158, file: !256, line: 14, column: 5)
  14574. !1158 = distinct !DILexicalBlock(scope: !1159, file: !256, line: 13, column: 5)
  14575. !1159 = distinct !DILexicalBlock(scope: !1160, file: !256, line: 7, column: 5)
  14576. !1160 = distinct !DILexicalBlock(scope: !1161, file: !256, line: 4, column: 85)
  14577. !1161 = distinct !DILexicalBlock(scope: !1151, file: !256, line: 4, column: 63)
  14578. !1162 = !DILocalVariable(name: "implicitBit", scope: !1163, file: !256, line: 26, type: !390)
  14579. !1163 = distinct !DILexicalBlock(scope: !1164, file: !256, line: 24, column: 5)
  14580. !1164 = distinct !DILexicalBlock(scope: !1165, file: !256, line: 23, column: 5)
  14581. !1165 = distinct !DILexicalBlock(scope: !1155, file: !256, line: 22, column: 5)
  14582. !1166 = !DILocalVariable(name: "significandMask", scope: !1167, file: !256, line: 27, type: !390)
  14583. !1167 = distinct !DILexicalBlock(scope: !1163, file: !256, line: 26, column: 5)
  14584. !1168 = !DILocalVariable(name: "aRep", scope: !1169, file: !256, line: 30, type: !390)
  14585. !1169 = distinct !DILexicalBlock(scope: !1167, file: !256, line: 27, column: 5)
  14586. !1170 = !DILocalVariable(name: "absMask", scope: !1171, file: !256, line: 31, type: !390)
  14587. !1171 = distinct !DILexicalBlock(scope: !1169, file: !256, line: 30, column: 5)
  14588. !1172 = !DILocalVariable(name: "aAbs", scope: !1173, file: !256, line: 32, type: !390)
  14589. !1173 = distinct !DILexicalBlock(scope: !1171, file: !256, line: 31, column: 5)
  14590. !1174 = !DILocalVariable(name: "sign", scope: !1175, file: !256, line: 34, type: !440)
  14591. !1175 = distinct !DILexicalBlock(scope: !1173, file: !256, line: 32, column: 5)
  14592. !1176 = !DILocalVariable(name: "exponent", scope: !1177, file: !256, line: 35, type: !440)
  14593. !1177 = distinct !DILexicalBlock(scope: !1175, file: !256, line: 34, column: 5)
  14594. !1178 = !DILocalVariable(name: "significand", scope: !1179, file: !256, line: 36, type: !390)
  14595. !1179 = distinct !DILexicalBlock(scope: !1177, file: !256, line: 35, column: 5)
  14596. !1180 = !DILocation(line: 4, column: 63, scope: !1151)
  14597. !1181 = !DILocation(line: 22, column: 5, scope: !1155)
  14598. !1182 = !DILocation(line: 26, column: 5, scope: !1163)
  14599. !1183 = !DILocation(line: 27, column: 5, scope: !1167)
  14600. !1184 = !DILocation(line: 30, column: 41, scope: !1169)
  14601. !1185 = !DILocation(line: 30, column: 25, scope: !1169)
  14602. !1186 = !DILocation(line: 30, column: 5, scope: !1169)
  14603. !1187 = !DILocation(line: 31, column: 5, scope: !1171)
  14604. !1188 = !DILocation(line: 32, column: 25, scope: !1173)
  14605. !1189 = !DILocation(line: 32, column: 30, scope: !1173)
  14606. !1190 = !DILocation(line: 32, column: 5, scope: !1173)
  14607. !1191 = !DILocation(line: 34, column: 23, scope: !1175)
  14608. !1192 = !DILocation(line: 34, column: 28, scope: !1175)
  14609. !1193 = !DILocation(line: 34, column: 39, scope: !1175)
  14610. !1194 = !DILocation(line: 34, column: 18, scope: !1175)
  14611. !1195 = !DILocation(line: 34, column: 5, scope: !1175)
  14612. !1196 = !DILocation(line: 35, column: 26, scope: !1177)
  14613. !1197 = !DILocation(line: 35, column: 31, scope: !1177)
  14614. !1198 = !DILocation(line: 35, column: 51, scope: !1177)
  14615. !1199 = !DILocation(line: 35, column: 5, scope: !1177)
  14616. !1200 = !DILocation(line: 36, column: 33, scope: !1179)
  14617. !1201 = !DILocation(line: 36, column: 38, scope: !1179)
  14618. !1202 = !DILocation(line: 36, column: 57, scope: !1179)
  14619. !1203 = !DILocation(line: 36, column: 5, scope: !1179)
  14620. !1204 = !DILocation(line: 39, column: 9, scope: !1205)
  14621. !1205 = distinct !DILexicalBlock(scope: !1179, file: !256, line: 36, column: 5)
  14622. !1206 = !DILocation(line: 39, column: 14, scope: !1205)
  14623. !1207 = !DILocation(line: 39, column: 20, scope: !1205)
  14624. !1208 = !DILocation(line: 39, column: 23, scope: !1205)
  14625. !1209 = !DILocation(line: 39, column: 32, scope: !1205)
  14626. !1210 = !DILocation(line: 40, column: 9, scope: !1205)
  14627. !1211 = !DILocation(line: 39, column: 5, scope: !1205)
  14628. !1212 = !DILocation(line: 43, column: 16, scope: !1205)
  14629. !1213 = !DILocation(line: 43, column: 26, scope: !1205)
  14630. !1214 = !DILocation(line: 44, column: 9, scope: !1205)
  14631. !1215 = !DILocation(line: 48, column: 9, scope: !1205)
  14632. !1216 = !DILocation(line: 48, column: 18, scope: !1205)
  14633. !1217 = !DILocation(line: 52, column: 26, scope: !1218)
  14634. !1218 = distinct !DILexicalBlock(scope: !1205, file: !256, line: 48, column: 37)
  14635. !1219 = !DILocation(line: 52, column: 74, scope: !1218)
  14636. !1220 = !DILocation(line: 52, column: 72, scope: !1218)
  14637. !1221 = !DILocation(line: 52, column: 55, scope: !1218)
  14638. !1222 = !DILocation(line: 52, column: 38, scope: !1218)
  14639. !1223 = !DILocation(line: 52, column: 9, scope: !1218)
  14640. !1224 = !DILocation(line: 57, column: 26, scope: !1225)
  14641. !1225 = distinct !DILexicalBlock(scope: !1205, file: !256, line: 53, column: 12)
  14642. !1226 = !DILocation(line: 57, column: 61, scope: !1225)
  14643. !1227 = !DILocation(line: 57, column: 70, scope: !1225)
  14644. !1228 = !DILocation(line: 57, column: 60, scope: !1225)
  14645. !1229 = !DILocation(line: 57, column: 39, scope: !1225)
  14646. !1230 = !DILocation(line: 57, column: 9, scope: !1225)
  14647. !1231 = distinct !DISubprogram(name: "__fixunssfti", scope: !226, file: !226, line: 5, type: !1232, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1234)
  14648. !1232 = !DISubroutineType(types: !1233)
  14649. !1233 = !{!181, !1043}
  14650. !1234 = !{!1235}
  14651. !1235 = !DILocalVariable(name: "a", arg: 1, scope: !1231, file: !226, line: 5, type: !1043)
  14652. !1236 = !DILocation(line: 5, column: 24, scope: !1231)
  14653. !1237 = !DILocation(line: 8, column: 31, scope: !1238)
  14654. !1238 = distinct !DILexicalBlock(scope: !1239, file: !226, line: 5, column: 40)
  14655. !1239 = distinct !DILexicalBlock(scope: !1231, file: !226, line: 5, column: 24)
  14656. !1240 = !DILocation(line: 8, column: 19, scope: !1238)
  14657. !1241 = !DILocation(line: 8, column: 5, scope: !1238)
  14658. !1242 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1232, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1243)
  14659. !1243 = !{!1244, !1248, !1256, !1260, !1262, !1264, !1266, !1268, !1270, !1272}
  14660. !1244 = !DILocalVariable(name: "a", arg: 1, scope: !1245, file: !256, line: 4, type: !1043)
  14661. !1245 = distinct !DILexicalBlock(scope: !1246, file: !256, line: 4, column: 63)
  14662. !1246 = distinct !DILexicalBlock(scope: !1247, file: !256, line: 4, column: 37)
  14663. !1247 = distinct !DILexicalBlock(scope: !1242, file: !256, line: 4, column: 16)
  14664. !1248 = !DILocalVariable(name: "signBit", scope: !1249, file: !256, line: 22, type: !390)
  14665. !1249 = distinct !DILexicalBlock(scope: !1250, file: !256, line: 21, column: 5)
  14666. !1250 = distinct !DILexicalBlock(scope: !1251, file: !256, line: 20, column: 5)
  14667. !1251 = distinct !DILexicalBlock(scope: !1252, file: !256, line: 14, column: 5)
  14668. !1252 = distinct !DILexicalBlock(scope: !1253, file: !256, line: 13, column: 5)
  14669. !1253 = distinct !DILexicalBlock(scope: !1254, file: !256, line: 7, column: 5)
  14670. !1254 = distinct !DILexicalBlock(scope: !1255, file: !256, line: 4, column: 85)
  14671. !1255 = distinct !DILexicalBlock(scope: !1245, file: !256, line: 4, column: 63)
  14672. !1256 = !DILocalVariable(name: "implicitBit", scope: !1257, file: !256, line: 26, type: !390)
  14673. !1257 = distinct !DILexicalBlock(scope: !1258, file: !256, line: 24, column: 5)
  14674. !1258 = distinct !DILexicalBlock(scope: !1259, file: !256, line: 23, column: 5)
  14675. !1259 = distinct !DILexicalBlock(scope: !1249, file: !256, line: 22, column: 5)
  14676. !1260 = !DILocalVariable(name: "significandMask", scope: !1261, file: !256, line: 27, type: !390)
  14677. !1261 = distinct !DILexicalBlock(scope: !1257, file: !256, line: 26, column: 5)
  14678. !1262 = !DILocalVariable(name: "aRep", scope: !1263, file: !256, line: 30, type: !390)
  14679. !1263 = distinct !DILexicalBlock(scope: !1261, file: !256, line: 27, column: 5)
  14680. !1264 = !DILocalVariable(name: "absMask", scope: !1265, file: !256, line: 31, type: !390)
  14681. !1265 = distinct !DILexicalBlock(scope: !1263, file: !256, line: 30, column: 5)
  14682. !1266 = !DILocalVariable(name: "aAbs", scope: !1267, file: !256, line: 32, type: !390)
  14683. !1267 = distinct !DILexicalBlock(scope: !1265, file: !256, line: 31, column: 5)
  14684. !1268 = !DILocalVariable(name: "sign", scope: !1269, file: !256, line: 34, type: !440)
  14685. !1269 = distinct !DILexicalBlock(scope: !1267, file: !256, line: 32, column: 5)
  14686. !1270 = !DILocalVariable(name: "exponent", scope: !1271, file: !256, line: 35, type: !440)
  14687. !1271 = distinct !DILexicalBlock(scope: !1269, file: !256, line: 34, column: 5)
  14688. !1272 = !DILocalVariable(name: "significand", scope: !1273, file: !256, line: 36, type: !390)
  14689. !1273 = distinct !DILexicalBlock(scope: !1271, file: !256, line: 35, column: 5)
  14690. !1274 = !DILocation(line: 4, column: 63, scope: !1245)
  14691. !1275 = !DILocation(line: 22, column: 5, scope: !1249)
  14692. !1276 = !DILocation(line: 26, column: 5, scope: !1257)
  14693. !1277 = !DILocation(line: 27, column: 5, scope: !1261)
  14694. !1278 = !DILocation(line: 30, column: 41, scope: !1263)
  14695. !1279 = !DILocation(line: 30, column: 25, scope: !1263)
  14696. !1280 = !DILocation(line: 30, column: 5, scope: !1263)
  14697. !1281 = !DILocation(line: 31, column: 5, scope: !1265)
  14698. !1282 = !DILocation(line: 32, column: 25, scope: !1267)
  14699. !1283 = !DILocation(line: 32, column: 30, scope: !1267)
  14700. !1284 = !DILocation(line: 32, column: 5, scope: !1267)
  14701. !1285 = !DILocation(line: 34, column: 23, scope: !1269)
  14702. !1286 = !DILocation(line: 34, column: 28, scope: !1269)
  14703. !1287 = !DILocation(line: 34, column: 39, scope: !1269)
  14704. !1288 = !DILocation(line: 34, column: 18, scope: !1269)
  14705. !1289 = !DILocation(line: 34, column: 5, scope: !1269)
  14706. !1290 = !DILocation(line: 35, column: 26, scope: !1271)
  14707. !1291 = !DILocation(line: 35, column: 31, scope: !1271)
  14708. !1292 = !DILocation(line: 35, column: 51, scope: !1271)
  14709. !1293 = !DILocation(line: 35, column: 5, scope: !1271)
  14710. !1294 = !DILocation(line: 36, column: 33, scope: !1273)
  14711. !1295 = !DILocation(line: 36, column: 38, scope: !1273)
  14712. !1296 = !DILocation(line: 36, column: 57, scope: !1273)
  14713. !1297 = !DILocation(line: 36, column: 5, scope: !1273)
  14714. !1298 = !DILocation(line: 39, column: 9, scope: !1299)
  14715. !1299 = distinct !DILexicalBlock(scope: !1273, file: !256, line: 36, column: 5)
  14716. !1300 = !DILocation(line: 39, column: 14, scope: !1299)
  14717. !1301 = !DILocation(line: 39, column: 20, scope: !1299)
  14718. !1302 = !DILocation(line: 39, column: 23, scope: !1299)
  14719. !1303 = !DILocation(line: 39, column: 32, scope: !1299)
  14720. !1304 = !DILocation(line: 40, column: 9, scope: !1299)
  14721. !1305 = !DILocation(line: 39, column: 5, scope: !1299)
  14722. !1306 = !DILocation(line: 43, column: 16, scope: !1299)
  14723. !1307 = !DILocation(line: 43, column: 26, scope: !1299)
  14724. !1308 = !DILocation(line: 44, column: 9, scope: !1299)
  14725. !1309 = !DILocation(line: 48, column: 9, scope: !1299)
  14726. !1310 = !DILocation(line: 48, column: 18, scope: !1299)
  14727. !1311 = !DILocation(line: 52, column: 26, scope: !1312)
  14728. !1312 = distinct !DILexicalBlock(scope: !1299, file: !256, line: 48, column: 37)
  14729. !1313 = !DILocation(line: 52, column: 74, scope: !1312)
  14730. !1314 = !DILocation(line: 52, column: 72, scope: !1312)
  14731. !1315 = !DILocation(line: 52, column: 55, scope: !1312)
  14732. !1316 = !DILocation(line: 52, column: 38, scope: !1312)
  14733. !1317 = !DILocation(line: 52, column: 25, scope: !1312)
  14734. !1318 = !DILocation(line: 52, column: 9, scope: !1312)
  14735. !1319 = !DILocation(line: 57, column: 26, scope: !1320)
  14736. !1320 = distinct !DILexicalBlock(scope: !1299, file: !256, line: 53, column: 12)
  14737. !1321 = !DILocation(line: 57, column: 25, scope: !1320)
  14738. !1322 = !DILocation(line: 57, column: 61, scope: !1320)
  14739. !1323 = !DILocation(line: 57, column: 70, scope: !1320)
  14740. !1324 = !DILocation(line: 57, column: 60, scope: !1320)
  14741. !1325 = !DILocation(line: 57, column: 39, scope: !1320)
  14742. !1326 = !DILocation(line: 57, column: 9, scope: !1320)
  14743. !1327 = distinct !DISubprogram(name: "__fixunstfdi", scope: !229, file: !229, line: 5, type: !1328, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1330)
  14744. !1328 = !DISubroutineType(types: !1329)
  14745. !1329 = !{!269, !536}
  14746. !1330 = !{!1331}
  14747. !1331 = !DILocalVariable(name: "a", arg: 1, scope: !1327, file: !229, line: 5, type: !536)
  14748. !1332 = !DILocation(line: 5, column: 24, scope: !1327)
  14749. !1333 = !DILocation(line: 8, column: 31, scope: !1334)
  14750. !1334 = distinct !DILexicalBlock(scope: !1335, file: !229, line: 5, column: 40)
  14751. !1335 = distinct !DILexicalBlock(scope: !1327, file: !229, line: 5, column: 24)
  14752. !1336 = !DILocation(line: 8, column: 19, scope: !1334)
  14753. !1337 = !DILocation(line: 8, column: 5, scope: !1334)
  14754. !1338 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1328, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1339)
  14755. !1339 = !{!1340, !1344, !1352, !1356, !1358, !1360, !1362, !1364, !1366, !1368}
  14756. !1340 = !DILocalVariable(name: "a", arg: 1, scope: !1341, file: !256, line: 4, type: !536)
  14757. !1341 = distinct !DILexicalBlock(scope: !1342, file: !256, line: 4, column: 63)
  14758. !1342 = distinct !DILexicalBlock(scope: !1343, file: !256, line: 4, column: 37)
  14759. !1343 = distinct !DILexicalBlock(scope: !1338, file: !256, line: 4, column: 16)
  14760. !1344 = !DILocalVariable(name: "signBit", scope: !1345, file: !256, line: 22, type: !181)
  14761. !1345 = distinct !DILexicalBlock(scope: !1346, file: !256, line: 21, column: 5)
  14762. !1346 = distinct !DILexicalBlock(scope: !1347, file: !256, line: 20, column: 5)
  14763. !1347 = distinct !DILexicalBlock(scope: !1348, file: !256, line: 14, column: 5)
  14764. !1348 = distinct !DILexicalBlock(scope: !1349, file: !256, line: 13, column: 5)
  14765. !1349 = distinct !DILexicalBlock(scope: !1350, file: !256, line: 7, column: 5)
  14766. !1350 = distinct !DILexicalBlock(scope: !1351, file: !256, line: 4, column: 85)
  14767. !1351 = distinct !DILexicalBlock(scope: !1341, file: !256, line: 4, column: 63)
  14768. !1352 = !DILocalVariable(name: "implicitBit", scope: !1353, file: !256, line: 26, type: !181)
  14769. !1353 = distinct !DILexicalBlock(scope: !1354, file: !256, line: 24, column: 5)
  14770. !1354 = distinct !DILexicalBlock(scope: !1355, file: !256, line: 23, column: 5)
  14771. !1355 = distinct !DILexicalBlock(scope: !1345, file: !256, line: 22, column: 5)
  14772. !1356 = !DILocalVariable(name: "significandMask", scope: !1357, file: !256, line: 27, type: !181)
  14773. !1357 = distinct !DILexicalBlock(scope: !1353, file: !256, line: 26, column: 5)
  14774. !1358 = !DILocalVariable(name: "aRep", scope: !1359, file: !256, line: 30, type: !181)
  14775. !1359 = distinct !DILexicalBlock(scope: !1357, file: !256, line: 27, column: 5)
  14776. !1360 = !DILocalVariable(name: "absMask", scope: !1361, file: !256, line: 31, type: !181)
  14777. !1361 = distinct !DILexicalBlock(scope: !1359, file: !256, line: 30, column: 5)
  14778. !1362 = !DILocalVariable(name: "aAbs", scope: !1363, file: !256, line: 32, type: !181)
  14779. !1363 = distinct !DILexicalBlock(scope: !1361, file: !256, line: 31, column: 5)
  14780. !1364 = !DILocalVariable(name: "sign", scope: !1365, file: !256, line: 34, type: !440)
  14781. !1365 = distinct !DILexicalBlock(scope: !1363, file: !256, line: 32, column: 5)
  14782. !1366 = !DILocalVariable(name: "exponent", scope: !1367, file: !256, line: 35, type: !440)
  14783. !1367 = distinct !DILexicalBlock(scope: !1365, file: !256, line: 34, column: 5)
  14784. !1368 = !DILocalVariable(name: "significand", scope: !1369, file: !256, line: 36, type: !181)
  14785. !1369 = distinct !DILexicalBlock(scope: !1367, file: !256, line: 35, column: 5)
  14786. !1370 = !DILocation(line: 4, column: 63, scope: !1341)
  14787. !1371 = !DILocation(line: 22, column: 5, scope: !1345)
  14788. !1372 = !DILocation(line: 26, column: 5, scope: !1353)
  14789. !1373 = !DILocation(line: 27, column: 5, scope: !1357)
  14790. !1374 = !DILocation(line: 30, column: 41, scope: !1359)
  14791. !1375 = !DILocation(line: 30, column: 25, scope: !1359)
  14792. !1376 = !DILocation(line: 30, column: 5, scope: !1359)
  14793. !1377 = !DILocation(line: 31, column: 5, scope: !1361)
  14794. !1378 = !DILocation(line: 32, column: 25, scope: !1363)
  14795. !1379 = !DILocation(line: 32, column: 30, scope: !1363)
  14796. !1380 = !DILocation(line: 32, column: 5, scope: !1363)
  14797. !1381 = !DILocation(line: 34, column: 23, scope: !1365)
  14798. !1382 = !DILocation(line: 34, column: 28, scope: !1365)
  14799. !1383 = !DILocation(line: 34, column: 39, scope: !1365)
  14800. !1384 = !DILocation(line: 34, column: 18, scope: !1365)
  14801. !1385 = !DILocation(line: 34, column: 5, scope: !1365)
  14802. !1386 = !DILocation(line: 35, column: 26, scope: !1367)
  14803. !1387 = !DILocation(line: 35, column: 31, scope: !1367)
  14804. !1388 = !DILocation(line: 35, column: 25, scope: !1367)
  14805. !1389 = !DILocation(line: 35, column: 51, scope: !1367)
  14806. !1390 = !DILocation(line: 35, column: 5, scope: !1367)
  14807. !1391 = !DILocation(line: 36, column: 33, scope: !1369)
  14808. !1392 = !DILocation(line: 36, column: 38, scope: !1369)
  14809. !1393 = !DILocation(line: 36, column: 57, scope: !1369)
  14810. !1394 = !DILocation(line: 36, column: 5, scope: !1369)
  14811. !1395 = !DILocation(line: 39, column: 9, scope: !1396)
  14812. !1396 = distinct !DILexicalBlock(scope: !1369, file: !256, line: 36, column: 5)
  14813. !1397 = !DILocation(line: 39, column: 14, scope: !1396)
  14814. !1398 = !DILocation(line: 39, column: 20, scope: !1396)
  14815. !1399 = !DILocation(line: 39, column: 23, scope: !1396)
  14816. !1400 = !DILocation(line: 39, column: 32, scope: !1396)
  14817. !1401 = !DILocation(line: 40, column: 9, scope: !1396)
  14818. !1402 = !DILocation(line: 39, column: 5, scope: !1396)
  14819. !1403 = !DILocation(line: 43, column: 16, scope: !1396)
  14820. !1404 = !DILocation(line: 43, column: 26, scope: !1396)
  14821. !1405 = !DILocation(line: 44, column: 9, scope: !1396)
  14822. !1406 = !DILocation(line: 48, column: 9, scope: !1396)
  14823. !1407 = !DILocation(line: 48, column: 18, scope: !1396)
  14824. !1408 = !DILocation(line: 52, column: 26, scope: !1409)
  14825. !1409 = distinct !DILexicalBlock(scope: !1396, file: !256, line: 48, column: 37)
  14826. !1410 = !DILocation(line: 52, column: 74, scope: !1409)
  14827. !1411 = !DILocation(line: 52, column: 72, scope: !1409)
  14828. !1412 = !DILocation(line: 52, column: 55, scope: !1409)
  14829. !1413 = !DILocation(line: 52, column: 38, scope: !1409)
  14830. !1414 = !DILocation(line: 52, column: 25, scope: !1409)
  14831. !1415 = !DILocation(line: 52, column: 9, scope: !1409)
  14832. !1416 = !DILocation(line: 57, column: 26, scope: !1417)
  14833. !1417 = distinct !DILexicalBlock(scope: !1396, file: !256, line: 53, column: 12)
  14834. !1418 = !DILocation(line: 57, column: 25, scope: !1417)
  14835. !1419 = !DILocation(line: 57, column: 61, scope: !1417)
  14836. !1420 = !DILocation(line: 57, column: 70, scope: !1417)
  14837. !1421 = !DILocation(line: 57, column: 60, scope: !1417)
  14838. !1422 = !DILocation(line: 57, column: 39, scope: !1417)
  14839. !1423 = !DILocation(line: 57, column: 9, scope: !1417)
  14840. !1424 = distinct !DISubprogram(name: "__fixunstfsi", scope: !232, file: !232, line: 5, type: !1425, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1427)
  14841. !1425 = !DISubroutineType(types: !1426)
  14842. !1426 = !{!390, !536}
  14843. !1427 = !{!1428}
  14844. !1428 = !DILocalVariable(name: "a", arg: 1, scope: !1424, file: !232, line: 5, type: !536)
  14845. !1429 = !DILocation(line: 5, column: 24, scope: !1424)
  14846. !1430 = !DILocation(line: 8, column: 31, scope: !1431)
  14847. !1431 = distinct !DILexicalBlock(scope: !1432, file: !232, line: 5, column: 40)
  14848. !1432 = distinct !DILexicalBlock(scope: !1424, file: !232, line: 5, column: 24)
  14849. !1433 = !DILocation(line: 8, column: 19, scope: !1431)
  14850. !1434 = !DILocation(line: 8, column: 5, scope: !1431)
  14851. !1435 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1425, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1436)
  14852. !1436 = !{!1437, !1441, !1449, !1453, !1455, !1457, !1459, !1461, !1463, !1465}
  14853. !1437 = !DILocalVariable(name: "a", arg: 1, scope: !1438, file: !256, line: 4, type: !536)
  14854. !1438 = distinct !DILexicalBlock(scope: !1439, file: !256, line: 4, column: 63)
  14855. !1439 = distinct !DILexicalBlock(scope: !1440, file: !256, line: 4, column: 37)
  14856. !1440 = distinct !DILexicalBlock(scope: !1435, file: !256, line: 4, column: 16)
  14857. !1441 = !DILocalVariable(name: "signBit", scope: !1442, file: !256, line: 22, type: !181)
  14858. !1442 = distinct !DILexicalBlock(scope: !1443, file: !256, line: 21, column: 5)
  14859. !1443 = distinct !DILexicalBlock(scope: !1444, file: !256, line: 20, column: 5)
  14860. !1444 = distinct !DILexicalBlock(scope: !1445, file: !256, line: 14, column: 5)
  14861. !1445 = distinct !DILexicalBlock(scope: !1446, file: !256, line: 13, column: 5)
  14862. !1446 = distinct !DILexicalBlock(scope: !1447, file: !256, line: 7, column: 5)
  14863. !1447 = distinct !DILexicalBlock(scope: !1448, file: !256, line: 4, column: 85)
  14864. !1448 = distinct !DILexicalBlock(scope: !1438, file: !256, line: 4, column: 63)
  14865. !1449 = !DILocalVariable(name: "implicitBit", scope: !1450, file: !256, line: 26, type: !181)
  14866. !1450 = distinct !DILexicalBlock(scope: !1451, file: !256, line: 24, column: 5)
  14867. !1451 = distinct !DILexicalBlock(scope: !1452, file: !256, line: 23, column: 5)
  14868. !1452 = distinct !DILexicalBlock(scope: !1442, file: !256, line: 22, column: 5)
  14869. !1453 = !DILocalVariable(name: "significandMask", scope: !1454, file: !256, line: 27, type: !181)
  14870. !1454 = distinct !DILexicalBlock(scope: !1450, file: !256, line: 26, column: 5)
  14871. !1455 = !DILocalVariable(name: "aRep", scope: !1456, file: !256, line: 30, type: !181)
  14872. !1456 = distinct !DILexicalBlock(scope: !1454, file: !256, line: 27, column: 5)
  14873. !1457 = !DILocalVariable(name: "absMask", scope: !1458, file: !256, line: 31, type: !181)
  14874. !1458 = distinct !DILexicalBlock(scope: !1456, file: !256, line: 30, column: 5)
  14875. !1459 = !DILocalVariable(name: "aAbs", scope: !1460, file: !256, line: 32, type: !181)
  14876. !1460 = distinct !DILexicalBlock(scope: !1458, file: !256, line: 31, column: 5)
  14877. !1461 = !DILocalVariable(name: "sign", scope: !1462, file: !256, line: 34, type: !440)
  14878. !1462 = distinct !DILexicalBlock(scope: !1460, file: !256, line: 32, column: 5)
  14879. !1463 = !DILocalVariable(name: "exponent", scope: !1464, file: !256, line: 35, type: !440)
  14880. !1464 = distinct !DILexicalBlock(scope: !1462, file: !256, line: 34, column: 5)
  14881. !1465 = !DILocalVariable(name: "significand", scope: !1466, file: !256, line: 36, type: !181)
  14882. !1466 = distinct !DILexicalBlock(scope: !1464, file: !256, line: 35, column: 5)
  14883. !1467 = !DILocation(line: 4, column: 63, scope: !1438)
  14884. !1468 = !DILocation(line: 22, column: 5, scope: !1442)
  14885. !1469 = !DILocation(line: 26, column: 5, scope: !1450)
  14886. !1470 = !DILocation(line: 27, column: 5, scope: !1454)
  14887. !1471 = !DILocation(line: 30, column: 41, scope: !1456)
  14888. !1472 = !DILocation(line: 30, column: 25, scope: !1456)
  14889. !1473 = !DILocation(line: 30, column: 5, scope: !1456)
  14890. !1474 = !DILocation(line: 31, column: 5, scope: !1458)
  14891. !1475 = !DILocation(line: 32, column: 25, scope: !1460)
  14892. !1476 = !DILocation(line: 32, column: 30, scope: !1460)
  14893. !1477 = !DILocation(line: 32, column: 5, scope: !1460)
  14894. !1478 = !DILocation(line: 34, column: 23, scope: !1462)
  14895. !1479 = !DILocation(line: 34, column: 28, scope: !1462)
  14896. !1480 = !DILocation(line: 34, column: 39, scope: !1462)
  14897. !1481 = !DILocation(line: 34, column: 18, scope: !1462)
  14898. !1482 = !DILocation(line: 34, column: 5, scope: !1462)
  14899. !1483 = !DILocation(line: 35, column: 26, scope: !1464)
  14900. !1484 = !DILocation(line: 35, column: 31, scope: !1464)
  14901. !1485 = !DILocation(line: 35, column: 25, scope: !1464)
  14902. !1486 = !DILocation(line: 35, column: 51, scope: !1464)
  14903. !1487 = !DILocation(line: 35, column: 5, scope: !1464)
  14904. !1488 = !DILocation(line: 36, column: 33, scope: !1466)
  14905. !1489 = !DILocation(line: 36, column: 38, scope: !1466)
  14906. !1490 = !DILocation(line: 36, column: 57, scope: !1466)
  14907. !1491 = !DILocation(line: 36, column: 5, scope: !1466)
  14908. !1492 = !DILocation(line: 39, column: 9, scope: !1493)
  14909. !1493 = distinct !DILexicalBlock(scope: !1466, file: !256, line: 36, column: 5)
  14910. !1494 = !DILocation(line: 39, column: 14, scope: !1493)
  14911. !1495 = !DILocation(line: 39, column: 20, scope: !1493)
  14912. !1496 = !DILocation(line: 39, column: 23, scope: !1493)
  14913. !1497 = !DILocation(line: 39, column: 32, scope: !1493)
  14914. !1498 = !DILocation(line: 40, column: 9, scope: !1493)
  14915. !1499 = !DILocation(line: 39, column: 5, scope: !1493)
  14916. !1500 = !DILocation(line: 43, column: 16, scope: !1493)
  14917. !1501 = !DILocation(line: 43, column: 26, scope: !1493)
  14918. !1502 = !DILocation(line: 44, column: 9, scope: !1493)
  14919. !1503 = !DILocation(line: 48, column: 9, scope: !1493)
  14920. !1504 = !DILocation(line: 48, column: 18, scope: !1493)
  14921. !1505 = !DILocation(line: 52, column: 26, scope: !1506)
  14922. !1506 = distinct !DILexicalBlock(scope: !1493, file: !256, line: 48, column: 37)
  14923. !1507 = !DILocation(line: 52, column: 74, scope: !1506)
  14924. !1508 = !DILocation(line: 52, column: 72, scope: !1506)
  14925. !1509 = !DILocation(line: 52, column: 55, scope: !1506)
  14926. !1510 = !DILocation(line: 52, column: 38, scope: !1506)
  14927. !1511 = !DILocation(line: 52, column: 25, scope: !1506)
  14928. !1512 = !DILocation(line: 52, column: 9, scope: !1506)
  14929. !1513 = !DILocation(line: 57, column: 26, scope: !1514)
  14930. !1514 = distinct !DILexicalBlock(scope: !1493, file: !256, line: 53, column: 12)
  14931. !1515 = !DILocation(line: 57, column: 25, scope: !1514)
  14932. !1516 = !DILocation(line: 57, column: 61, scope: !1514)
  14933. !1517 = !DILocation(line: 57, column: 70, scope: !1514)
  14934. !1518 = !DILocation(line: 57, column: 60, scope: !1514)
  14935. !1519 = !DILocation(line: 57, column: 39, scope: !1514)
  14936. !1520 = !DILocation(line: 57, column: 9, scope: !1514)
  14937. !1521 = distinct !DISubprogram(name: "__fixunstfti", scope: !235, file: !235, line: 5, type: !1522, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !1524)
  14938. !1522 = !DISubroutineType(types: !1523)
  14939. !1523 = !{!181, !536}
  14940. !1524 = !{!1525}
  14941. !1525 = !DILocalVariable(name: "a", arg: 1, scope: !1521, file: !235, line: 5, type: !536)
  14942. !1526 = !DILocation(line: 5, column: 24, scope: !1521)
  14943. !1527 = !DILocation(line: 8, column: 32, scope: !1528)
  14944. !1528 = distinct !DILexicalBlock(scope: !1529, file: !235, line: 5, column: 41)
  14945. !1529 = distinct !DILexicalBlock(scope: !1521, file: !235, line: 5, column: 24)
  14946. !1530 = !DILocation(line: 8, column: 19, scope: !1528)
  14947. !1531 = !DILocation(line: 8, column: 5, scope: !1528)
  14948. !1532 = distinct !DISubprogram(name: "fixuint", scope: !256, file: !256, line: 4, type: !1522, isLocal: true, isDefinition: true, scopeLine: 4, isOptimized: false, unit: !1, variables: !1533)
  14949. !1533 = !{!1534, !1538, !1546, !1550, !1552, !1554, !1556, !1558, !1560, !1562}
  14950. !1534 = !DILocalVariable(name: "a", arg: 1, scope: !1535, file: !256, line: 4, type: !536)
  14951. !1535 = distinct !DILexicalBlock(scope: !1536, file: !256, line: 4, column: 63)
  14952. !1536 = distinct !DILexicalBlock(scope: !1537, file: !256, line: 4, column: 37)
  14953. !1537 = distinct !DILexicalBlock(scope: !1532, file: !256, line: 4, column: 16)
  14954. !1538 = !DILocalVariable(name: "signBit", scope: !1539, file: !256, line: 22, type: !181)
  14955. !1539 = distinct !DILexicalBlock(scope: !1540, file: !256, line: 21, column: 5)
  14956. !1540 = distinct !DILexicalBlock(scope: !1541, file: !256, line: 20, column: 5)
  14957. !1541 = distinct !DILexicalBlock(scope: !1542, file: !256, line: 14, column: 5)
  14958. !1542 = distinct !DILexicalBlock(scope: !1543, file: !256, line: 13, column: 5)
  14959. !1543 = distinct !DILexicalBlock(scope: !1544, file: !256, line: 7, column: 5)
  14960. !1544 = distinct !DILexicalBlock(scope: !1545, file: !256, line: 4, column: 85)
  14961. !1545 = distinct !DILexicalBlock(scope: !1535, file: !256, line: 4, column: 63)
  14962. !1546 = !DILocalVariable(name: "implicitBit", scope: !1547, file: !256, line: 26, type: !181)
  14963. !1547 = distinct !DILexicalBlock(scope: !1548, file: !256, line: 24, column: 5)
  14964. !1548 = distinct !DILexicalBlock(scope: !1549, file: !256, line: 23, column: 5)
  14965. !1549 = distinct !DILexicalBlock(scope: !1539, file: !256, line: 22, column: 5)
  14966. !1550 = !DILocalVariable(name: "significandMask", scope: !1551, file: !256, line: 27, type: !181)
  14967. !1551 = distinct !DILexicalBlock(scope: !1547, file: !256, line: 26, column: 5)
  14968. !1552 = !DILocalVariable(name: "aRep", scope: !1553, file: !256, line: 30, type: !181)
  14969. !1553 = distinct !DILexicalBlock(scope: !1551, file: !256, line: 27, column: 5)
  14970. !1554 = !DILocalVariable(name: "absMask", scope: !1555, file: !256, line: 31, type: !181)
  14971. !1555 = distinct !DILexicalBlock(scope: !1553, file: !256, line: 30, column: 5)
  14972. !1556 = !DILocalVariable(name: "aAbs", scope: !1557, file: !256, line: 32, type: !181)
  14973. !1557 = distinct !DILexicalBlock(scope: !1555, file: !256, line: 31, column: 5)
  14974. !1558 = !DILocalVariable(name: "sign", scope: !1559, file: !256, line: 34, type: !440)
  14975. !1559 = distinct !DILexicalBlock(scope: !1557, file: !256, line: 32, column: 5)
  14976. !1560 = !DILocalVariable(name: "exponent", scope: !1561, file: !256, line: 35, type: !440)
  14977. !1561 = distinct !DILexicalBlock(scope: !1559, file: !256, line: 34, column: 5)
  14978. !1562 = !DILocalVariable(name: "significand", scope: !1563, file: !256, line: 36, type: !181)
  14979. !1563 = distinct !DILexicalBlock(scope: !1561, file: !256, line: 35, column: 5)
  14980. !1564 = !DILocation(line: 4, column: 63, scope: !1535)
  14981. !1565 = !DILocation(line: 22, column: 5, scope: !1539)
  14982. !1566 = !DILocation(line: 26, column: 5, scope: !1547)
  14983. !1567 = !DILocation(line: 27, column: 5, scope: !1551)
  14984. !1568 = !DILocation(line: 30, column: 41, scope: !1553)
  14985. !1569 = !DILocation(line: 30, column: 25, scope: !1553)
  14986. !1570 = !DILocation(line: 30, column: 5, scope: !1553)
  14987. !1571 = !DILocation(line: 31, column: 5, scope: !1555)
  14988. !1572 = !DILocation(line: 32, column: 25, scope: !1557)
  14989. !1573 = !DILocation(line: 32, column: 30, scope: !1557)
  14990. !1574 = !DILocation(line: 32, column: 5, scope: !1557)
  14991. !1575 = !DILocation(line: 34, column: 23, scope: !1559)
  14992. !1576 = !DILocation(line: 34, column: 28, scope: !1559)
  14993. !1577 = !DILocation(line: 34, column: 39, scope: !1559)
  14994. !1578 = !DILocation(line: 34, column: 18, scope: !1559)
  14995. !1579 = !DILocation(line: 34, column: 5, scope: !1559)
  14996. !1580 = !DILocation(line: 35, column: 26, scope: !1561)
  14997. !1581 = !DILocation(line: 35, column: 31, scope: !1561)
  14998. !1582 = !DILocation(line: 35, column: 25, scope: !1561)
  14999. !1583 = !DILocation(line: 35, column: 51, scope: !1561)
  15000. !1584 = !DILocation(line: 35, column: 5, scope: !1561)
  15001. !1585 = !DILocation(line: 36, column: 33, scope: !1563)
  15002. !1586 = !DILocation(line: 36, column: 38, scope: !1563)
  15003. !1587 = !DILocation(line: 36, column: 57, scope: !1563)
  15004. !1588 = !DILocation(line: 36, column: 5, scope: !1563)
  15005. !1589 = !DILocation(line: 39, column: 9, scope: !1590)
  15006. !1590 = distinct !DILexicalBlock(scope: !1563, file: !256, line: 36, column: 5)
  15007. !1591 = !DILocation(line: 39, column: 14, scope: !1590)
  15008. !1592 = !DILocation(line: 39, column: 20, scope: !1590)
  15009. !1593 = !DILocation(line: 39, column: 23, scope: !1590)
  15010. !1594 = !DILocation(line: 39, column: 32, scope: !1590)
  15011. !1595 = !DILocation(line: 40, column: 9, scope: !1590)
  15012. !1596 = !DILocation(line: 39, column: 5, scope: !1590)
  15013. !1597 = !DILocation(line: 43, column: 16, scope: !1590)
  15014. !1598 = !DILocation(line: 43, column: 26, scope: !1590)
  15015. !1599 = !DILocation(line: 44, column: 9, scope: !1590)
  15016. !1600 = !DILocation(line: 48, column: 9, scope: !1590)
  15017. !1601 = !DILocation(line: 48, column: 18, scope: !1590)
  15018. !1602 = !DILocation(line: 52, column: 26, scope: !1603)
  15019. !1603 = distinct !DILexicalBlock(scope: !1590, file: !256, line: 48, column: 37)
  15020. !1604 = !DILocation(line: 52, column: 74, scope: !1603)
  15021. !1605 = !DILocation(line: 52, column: 72, scope: !1603)
  15022. !1606 = !DILocation(line: 52, column: 55, scope: !1603)
  15023. !1607 = !DILocation(line: 52, column: 38, scope: !1603)
  15024. !1608 = !DILocation(line: 52, column: 9, scope: !1603)
  15025. !1609 = !DILocation(line: 57, column: 26, scope: !1610)
  15026. !1610 = distinct !DILexicalBlock(scope: !1590, file: !256, line: 53, column: 12)
  15027. !1611 = !DILocation(line: 57, column: 61, scope: !1610)
  15028. !1612 = !DILocation(line: 57, column: 70, scope: !1610)
  15029. !1613 = !DILocation(line: 57, column: 60, scope: !1610)
  15030. !1614 = !DILocation(line: 57, column: 39, scope: !1610)
  15031. !1615 = !DILocation(line: 57, column: 9, scope: !1610)
  15032. !1616 = distinct !DISubprogram(name: "udivmod", scope: !259, file: !259, line: 7, type: !267, isLocal: true, isDefinition: true, scopeLine: 7, isOptimized: false, unit: !1, variables: !1617)
  15033. !1617 = !{!1618, !1623, !1625, !1627, !1636, !1638, !1640, !1642, !1644, !1648, !1649, !1652, !1656, !1659, !1661, !1663, !1665, !1666, !1668, !1672, !1673}
  15034. !1618 = !DILocalVariable(name: "a", arg: 1, scope: !1619, file: !259, line: 7, type: !269)
  15035. !1619 = distinct !DILexicalBlock(scope: !1620, file: !259, line: 7, column: 70)
  15036. !1620 = distinct !DILexicalBlock(scope: !1621, file: !259, line: 7, column: 56)
  15037. !1621 = distinct !DILexicalBlock(scope: !1622, file: !259, line: 7, column: 42)
  15038. !1622 = distinct !DILexicalBlock(scope: !1616, file: !259, line: 7, column: 16)
  15039. !1623 = !DILocalVariable(name: "b", arg: 2, scope: !1624, file: !259, line: 7, type: !269)
  15040. !1624 = distinct !DILexicalBlock(scope: !1619, file: !259, line: 7, column: 42)
  15041. !1625 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !1626, file: !259, line: 7, type: !270)
  15042. !1626 = distinct !DILexicalBlock(scope: !1624, file: !259, line: 7, column: 56)
  15043. !1627 = !DILocalVariable(name: "n", scope: !1628, file: !259, line: 14, type: !1633)
  15044. !1628 = distinct !DILexicalBlock(scope: !1629, file: !259, line: 12, column: 5)
  15045. !1629 = distinct !DILexicalBlock(scope: !1630, file: !259, line: 11, column: 5)
  15046. !1630 = distinct !DILexicalBlock(scope: !1631, file: !259, line: 10, column: 5)
  15047. !1631 = distinct !DILexicalBlock(scope: !1632, file: !259, line: 7, column: 107)
  15048. !1632 = distinct !DILexicalBlock(scope: !1626, file: !259, line: 7, column: 70)
  15049. !1633 = !DICompositeType(tag: DW_TAG_array_type, baseType: !390, size: 64, align: 64, elements: !1634)
  15050. !1634 = !{!1635}
  15051. !1635 = !DISubrange(count: 2)
  15052. !1636 = !DILocalVariable(name: "d", scope: !1637, file: !259, line: 15, type: !1633)
  15053. !1637 = distinct !DILexicalBlock(scope: !1628, file: !259, line: 14, column: 5)
  15054. !1638 = !DILocalVariable(name: "q", scope: !1639, file: !259, line: 16, type: !1633)
  15055. !1639 = distinct !DILexicalBlock(scope: !1637, file: !259, line: 15, column: 5)
  15056. !1640 = !DILocalVariable(name: "r", scope: !1641, file: !259, line: 17, type: !1633)
  15057. !1641 = distinct !DILexicalBlock(scope: !1639, file: !259, line: 16, column: 5)
  15058. !1642 = !DILocalVariable(name: "sr", scope: !1643, file: !259, line: 18, type: !428)
  15059. !1643 = distinct !DILexicalBlock(scope: !1641, file: !259, line: 17, column: 5)
  15060. !1644 = !DILocalVariable(name: "rem", scope: !1645, file: !259, line: 25, type: !270)
  15061. !1645 = distinct !DILexicalBlock(scope: !1646, file: !259, line: 21, column: 27)
  15062. !1646 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 20, column: 23)
  15063. !1647 = distinct !DILexicalBlock(scope: !1643, file: !259, line: 18, column: 5)
  15064. !1648 = !DILocalVariable(name: "rem", scope: !1646, file: !259, line: 33, type: !270)
  15065. !1649 = !DILocalVariable(name: "rem", scope: !1650, file: !259, line: 44, type: !270)
  15066. !1650 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 40, column: 27)
  15067. !1651 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 39, column: 22)
  15068. !1652 = !DILocalVariable(name: "rem", scope: !1653, file: !259, line: 100, type: !270)
  15069. !1653 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 98, column: 47)
  15070. !1654 = distinct !DILexicalBlock(scope: !1655, file: !259, line: 94, column: 27)
  15071. !1655 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 92, column: 12)
  15072. !1656 = !DILocalVariable(name: "rem", scope: !1657, file: !259, line: 143, type: !270)
  15073. !1657 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 142, column: 47)
  15074. !1658 = distinct !DILexicalBlock(scope: !1655, file: !259, line: 136, column: 16)
  15075. !1659 = !DILocalVariable(name: "rem", scope: !1660, file: !259, line: 54, type: !270)
  15076. !1660 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 50, column: 26)
  15077. !1661 = !DILocalVariable(name: "rem", scope: !1662, file: !259, line: 66, type: !270)
  15078. !1662 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 64, column: 45)
  15079. !1663 = !DILocalVariable(name: "rem", scope: !1664, file: !259, line: 79, type: !270)
  15080. !1664 = distinct !DILexicalBlock(scope: !1651, file: !259, line: 78, column: 43)
  15081. !1665 = !DILocalVariable(name: "carry", scope: !1647, file: !259, line: 169, type: !390)
  15082. !1666 = !DILocalVariable(name: "r_all", scope: !1667, file: !259, line: 170, type: !269)
  15083. !1667 = distinct !DILexicalBlock(scope: !1647, file: !259, line: 169, column: 5)
  15084. !1668 = !DILocalVariable(name: "s", scope: !1669, file: !259, line: 184, type: !1671)
  15085. !1669 = distinct !DILexicalBlock(scope: !1670, file: !259, line: 171, column: 32)
  15086. !1670 = distinct !DILexicalBlock(scope: !1667, file: !259, line: 170, column: 5)
  15087. !1671 = !DIBasicType(name: "i64", size: 64, encoding: DW_ATE_signed)
  15088. !1672 = !DILocalVariable(name: "q_all", scope: !1670, file: !259, line: 189, type: !269)
  15089. !1673 = !DILocalVariable(name: "rem", scope: !1674, file: !259, line: 190, type: !270)
  15090. !1674 = distinct !DILexicalBlock(scope: !1670, file: !259, line: 189, column: 5)
  15091. !1675 = !DILocation(line: 7, column: 42, scope: !1619)
  15092. !1676 = !DILocation(line: 7, column: 56, scope: !1624)
  15093. !1677 = !DILocation(line: 7, column: 70, scope: !1626)
  15094. !1678 = !DILocation(line: 14, column: 16, scope: !1628)
  15095. !1679 = !DILocation(line: 14, column: 5, scope: !1628)
  15096. !1680 = !DILocation(line: 15, column: 16, scope: !1637)
  15097. !1681 = !DILocation(line: 15, column: 5, scope: !1637)
  15098. !1682 = !DILocation(line: 16, column: 5, scope: !1639)
  15099. !1683 = !DILocation(line: 17, column: 5, scope: !1641)
  15100. !1684 = !DILocation(line: 18, column: 5, scope: !1643)
  15101. !1685 = !DILocation(line: 20, column: 10, scope: !1647)
  15102. !1686 = !DILocation(line: 20, column: 17, scope: !1647)
  15103. !1687 = !DILocation(line: 21, column: 14, scope: !1646)
  15104. !1688 = !DILocation(line: 21, column: 21, scope: !1646)
  15105. !1689 = !DILocation(line: 20, column: 5, scope: !1647)
  15106. !1690 = !DILocation(line: 25, column: 13, scope: !1645)
  15107. !1691 = !DILocation(line: 21, column: 9, scope: !1646)
  15108. !1692 = !DILocation(line: 26, column: 17, scope: !1693)
  15109. !1693 = distinct !DILexicalBlock(scope: !1694, file: !259, line: 25, column: 34)
  15110. !1694 = distinct !DILexicalBlock(scope: !1645, file: !259, line: 25, column: 13)
  15111. !1695 = !DILocation(line: 26, column: 25, scope: !1693)
  15112. !1696 = !DILocation(line: 26, column: 34, scope: !1693)
  15113. !1697 = !DILocation(line: 26, column: 31, scope: !1693)
  15114. !1698 = !DILocation(line: 26, column: 22, scope: !1693)
  15115. !1699 = !DILocation(line: 28, column: 21, scope: !1645)
  15116. !1700 = !DILocation(line: 28, column: 30, scope: !1645)
  15117. !1701 = !DILocation(line: 28, column: 27, scope: !1645)
  15118. !1702 = !DILocation(line: 28, column: 13, scope: !1645)
  15119. !1703 = !DILocation(line: 33, column: 9, scope: !1646)
  15120. !1704 = !DILocation(line: 34, column: 13, scope: !1705)
  15121. !1705 = distinct !DILexicalBlock(scope: !1706, file: !259, line: 33, column: 30)
  15122. !1706 = distinct !DILexicalBlock(scope: !1646, file: !259, line: 33, column: 9)
  15123. !1707 = !DILocation(line: 34, column: 21, scope: !1705)
  15124. !1708 = !DILocation(line: 34, column: 18, scope: !1705)
  15125. !1709 = !DILocation(line: 36, column: 9, scope: !1646)
  15126. !1710 = !DILocation(line: 39, column: 10, scope: !1647)
  15127. !1711 = !DILocation(line: 39, column: 16, scope: !1647)
  15128. !1712 = !DILocation(line: 40, column: 14, scope: !1651)
  15129. !1713 = !DILocation(line: 40, column: 21, scope: !1651)
  15130. !1714 = !DILocation(line: 94, column: 14, scope: !1655)
  15131. !1715 = !DILocation(line: 94, column: 21, scope: !1655)
  15132. !1716 = !DILocation(line: 44, column: 13, scope: !1650)
  15133. !1717 = !DILocation(line: 40, column: 9, scope: !1651)
  15134. !1718 = !DILocation(line: 98, column: 19, scope: !1654)
  15135. !1719 = !DILocation(line: 98, column: 29, scope: !1654)
  15136. !1720 = !DILocation(line: 98, column: 35, scope: !1654)
  15137. !1721 = !DILocation(line: 98, column: 25, scope: !1654)
  15138. !1722 = !DILocation(line: 98, column: 41, scope: !1654)
  15139. !1723 = !DILocation(line: 140, column: 47, scope: !1658)
  15140. !1724 = !DILocation(line: 140, column: 41, scope: !1658)
  15141. !1725 = !DILocation(line: 140, column: 40, scope: !1658)
  15142. !1726 = !DILocation(line: 140, column: 70, scope: !1658)
  15143. !1727 = !DILocation(line: 140, column: 64, scope: !1658)
  15144. !1728 = !DILocation(line: 140, column: 63, scope: !1658)
  15145. !1729 = !DILocation(line: 140, column: 56, scope: !1658)
  15146. !1730 = !DILocation(line: 140, column: 16, scope: !1658)
  15147. !1731 = !DILocation(line: 142, column: 17, scope: !1658)
  15148. !1732 = !DILocation(line: 142, column: 20, scope: !1658)
  15149. !1733 = !DILocation(line: 45, column: 17, scope: !1734)
  15150. !1734 = distinct !DILexicalBlock(scope: !1735, file: !259, line: 44, column: 34)
  15151. !1735 = distinct !DILexicalBlock(scope: !1650, file: !259, line: 44, column: 13)
  15152. !1736 = !DILocation(line: 45, column: 25, scope: !1734)
  15153. !1737 = !DILocation(line: 45, column: 35, scope: !1734)
  15154. !1738 = !DILocation(line: 45, column: 32, scope: !1734)
  15155. !1739 = !DILocation(line: 45, column: 22, scope: !1734)
  15156. !1740 = !DILocation(line: 47, column: 21, scope: !1650)
  15157. !1741 = !DILocation(line: 47, column: 31, scope: !1650)
  15158. !1742 = !DILocation(line: 47, column: 28, scope: !1650)
  15159. !1743 = !DILocation(line: 47, column: 13, scope: !1650)
  15160. !1744 = !DILocation(line: 50, column: 14, scope: !1651)
  15161. !1745 = !DILocation(line: 50, column: 20, scope: !1651)
  15162. !1746 = !DILocation(line: 100, column: 17, scope: !1653)
  15163. !1747 = !DILocation(line: 98, column: 13, scope: !1654)
  15164. !1748 = !DILocation(line: 143, column: 17, scope: !1657)
  15165. !1749 = !DILocation(line: 142, column: 13, scope: !1658)
  15166. !1750 = !DILocation(line: 54, column: 13, scope: !1660)
  15167. !1751 = !DILocation(line: 50, column: 9, scope: !1651)
  15168. !1752 = !DILocation(line: 101, column: 21, scope: !1753)
  15169. !1753 = distinct !DILexicalBlock(scope: !1754, file: !259, line: 100, column: 38)
  15170. !1754 = distinct !DILexicalBlock(scope: !1653, file: !259, line: 100, column: 17)
  15171. !1755 = !DILocation(line: 101, column: 29, scope: !1753)
  15172. !1756 = !DILocation(line: 101, column: 39, scope: !1753)
  15173. !1757 = !DILocation(line: 101, column: 45, scope: !1753)
  15174. !1758 = !DILocation(line: 101, column: 35, scope: !1753)
  15175. !1759 = !DILocation(line: 101, column: 26, scope: !1753)
  15176. !1760 = !DILocation(line: 104, column: 28, scope: !1761)
  15177. !1761 = distinct !DILexicalBlock(scope: !1653, file: !259, line: 103, column: 34)
  15178. !1762 = !DILocation(line: 104, column: 21, scope: !1761)
  15179. !1763 = !DILocation(line: 103, column: 17, scope: !1653)
  15180. !1764 = !DILocation(line: 106, column: 28, scope: !1653)
  15181. !1765 = !DILocation(line: 106, column: 22, scope: !1653)
  15182. !1766 = !DILocation(line: 106, column: 20, scope: !1653)
  15183. !1767 = !DILocation(line: 107, column: 18, scope: !1653)
  15184. !1768 = !DILocation(line: 107, column: 28, scope: !1653)
  15185. !1769 = !DILocation(line: 107, column: 52, scope: !1653)
  15186. !1770 = !DILocation(line: 107, column: 51, scope: !1653)
  15187. !1771 = !DILocation(line: 107, column: 35, scope: !1653)
  15188. !1772 = !DILocation(line: 107, column: 25, scope: !1653)
  15189. !1773 = !DILocation(line: 108, column: 18, scope: !1653)
  15190. !1774 = !DILocation(line: 108, column: 28, scope: !1653)
  15191. !1775 = !DILocation(line: 108, column: 74, scope: !1653)
  15192. !1776 = !DILocation(line: 108, column: 72, scope: !1653)
  15193. !1777 = !DILocation(line: 108, column: 51, scope: !1653)
  15194. !1778 = !DILocation(line: 108, column: 35, scope: !1653)
  15195. !1779 = !DILocation(line: 108, column: 83, scope: !1653)
  15196. !1780 = !DILocation(line: 108, column: 106, scope: !1653)
  15197. !1781 = !DILocation(line: 108, column: 105, scope: !1653)
  15198. !1782 = !DILocation(line: 108, column: 89, scope: !1653)
  15199. !1783 = !DILocation(line: 108, column: 79, scope: !1653)
  15200. !1784 = !DILocation(line: 108, column: 24, scope: !1653)
  15201. !1785 = !DILocation(line: 109, column: 75, scope: !1653)
  15202. !1786 = !DILocation(line: 109, column: 25, scope: !1653)
  15203. !1787 = !DILocation(line: 109, column: 24, scope: !1653)
  15204. !1788 = !DILocation(line: 109, column: 17, scope: !1653)
  15205. !1789 = !DILocation(line: 114, column: 57, scope: !1654)
  15206. !1790 = !DILocation(line: 114, column: 51, scope: !1654)
  15207. !1791 = !DILocation(line: 114, column: 50, scope: !1654)
  15208. !1792 = !DILocation(line: 114, column: 42, scope: !1654)
  15209. !1793 = !DILocation(line: 114, column: 80, scope: !1654)
  15210. !1794 = !DILocation(line: 114, column: 74, scope: !1654)
  15211. !1795 = !DILocation(line: 114, column: 73, scope: !1654)
  15212. !1796 = !DILocation(line: 114, column: 65, scope: !1654)
  15213. !1797 = !DILocation(line: 114, column: 16, scope: !1654)
  15214. !1798 = !DILocation(line: 118, column: 17, scope: !1654)
  15215. !1799 = !DILocation(line: 118, column: 20, scope: !1654)
  15216. !1800 = !DILocation(line: 144, column: 21, scope: !1801)
  15217. !1801 = distinct !DILexicalBlock(scope: !1802, file: !259, line: 143, column: 38)
  15218. !1802 = distinct !DILexicalBlock(scope: !1657, file: !259, line: 143, column: 17)
  15219. !1803 = !DILocation(line: 144, column: 28, scope: !1801)
  15220. !1804 = !DILocation(line: 144, column: 26, scope: !1801)
  15221. !1805 = !DILocation(line: 146, column: 17, scope: !1657)
  15222. !1806 = !DILocation(line: 148, column: 13, scope: !1658)
  15223. !1807 = !DILocation(line: 148, column: 16, scope: !1658)
  15224. !1808 = !DILocation(line: 152, column: 14, scope: !1658)
  15225. !1809 = !DILocation(line: 152, column: 20, scope: !1658)
  15226. !1810 = !DILocation(line: 153, column: 17, scope: !1658)
  15227. !1811 = !DILocation(line: 153, column: 20, scope: !1658)
  15228. !1812 = !DILocation(line: 55, column: 18, scope: !1813)
  15229. !1813 = distinct !DILexicalBlock(scope: !1814, file: !259, line: 54, column: 34)
  15230. !1814 = distinct !DILexicalBlock(scope: !1660, file: !259, line: 54, column: 13)
  15231. !1815 = !DILocation(line: 55, column: 28, scope: !1813)
  15232. !1816 = !DILocation(line: 55, column: 38, scope: !1813)
  15233. !1817 = !DILocation(line: 55, column: 35, scope: !1813)
  15234. !1818 = !DILocation(line: 55, column: 25, scope: !1813)
  15235. !1819 = !DILocation(line: 56, column: 18, scope: !1813)
  15236. !1820 = !DILocation(line: 56, column: 24, scope: !1813)
  15237. !1821 = !DILocation(line: 57, column: 17, scope: !1813)
  15238. !1822 = !DILocation(line: 57, column: 75, scope: !1813)
  15239. !1823 = !DILocation(line: 57, column: 25, scope: !1813)
  15240. !1824 = !DILocation(line: 57, column: 24, scope: !1813)
  15241. !1825 = !DILocation(line: 57, column: 22, scope: !1813)
  15242. !1826 = !DILocation(line: 59, column: 21, scope: !1660)
  15243. !1827 = !DILocation(line: 59, column: 31, scope: !1660)
  15244. !1828 = !DILocation(line: 59, column: 28, scope: !1660)
  15245. !1829 = !DILocation(line: 59, column: 13, scope: !1660)
  15246. !1830 = !DILocation(line: 64, column: 15, scope: !1651)
  15247. !1831 = !DILocation(line: 64, column: 26, scope: !1651)
  15248. !1832 = !DILocation(line: 64, column: 33, scope: !1651)
  15249. !1833 = !DILocation(line: 64, column: 22, scope: !1651)
  15250. !1834 = !DILocation(line: 64, column: 39, scope: !1651)
  15251. !1835 = !DILocation(line: 103, column: 22, scope: !1653)
  15252. !1836 = !DILocation(line: 103, column: 28, scope: !1653)
  15253. !1837 = !DILocation(line: 119, column: 18, scope: !1838)
  15254. !1838 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 118, column: 44)
  15255. !1839 = !DILocation(line: 119, column: 24, scope: !1838)
  15256. !1840 = !DILocation(line: 120, column: 18, scope: !1838)
  15257. !1841 = !DILocation(line: 120, column: 28, scope: !1838)
  15258. !1842 = !DILocation(line: 120, column: 25, scope: !1838)
  15259. !1843 = !DILocation(line: 121, column: 18, scope: !1838)
  15260. !1844 = !DILocation(line: 121, column: 25, scope: !1838)
  15261. !1845 = !DILocation(line: 122, column: 18, scope: !1838)
  15262. !1846 = !DILocation(line: 122, column: 27, scope: !1838)
  15263. !1847 = !DILocation(line: 122, column: 24, scope: !1838)
  15264. !1848 = !DILocation(line: 118, column: 13, scope: !1654)
  15265. !1849 = !DILocation(line: 123, column: 24, scope: !1654)
  15266. !1850 = !DILocation(line: 123, column: 27, scope: !1654)
  15267. !1851 = !DILocation(line: 154, column: 18, scope: !1852)
  15268. !1852 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 153, column: 44)
  15269. !1853 = !DILocation(line: 154, column: 28, scope: !1852)
  15270. !1854 = !DILocation(line: 154, column: 25, scope: !1852)
  15271. !1855 = !DILocation(line: 155, column: 18, scope: !1852)
  15272. !1856 = !DILocation(line: 155, column: 25, scope: !1852)
  15273. !1857 = !DILocation(line: 156, column: 18, scope: !1852)
  15274. !1858 = !DILocation(line: 156, column: 27, scope: !1852)
  15275. !1859 = !DILocation(line: 156, column: 24, scope: !1852)
  15276. !1860 = !DILocation(line: 153, column: 13, scope: !1658)
  15277. !1861 = !DILocation(line: 158, column: 18, scope: !1862)
  15278. !1862 = distinct !DILexicalBlock(scope: !1658, file: !259, line: 157, column: 20)
  15279. !1863 = !DILocation(line: 158, column: 28, scope: !1862)
  15280. !1864 = !DILocation(line: 158, column: 52, scope: !1862)
  15281. !1865 = !DILocation(line: 158, column: 51, scope: !1862)
  15282. !1866 = !DILocation(line: 158, column: 35, scope: !1862)
  15283. !1867 = !DILocation(line: 158, column: 25, scope: !1862)
  15284. !1868 = !DILocation(line: 159, column: 18, scope: !1862)
  15285. !1869 = !DILocation(line: 159, column: 28, scope: !1862)
  15286. !1870 = !DILocation(line: 159, column: 74, scope: !1862)
  15287. !1871 = !DILocation(line: 159, column: 72, scope: !1862)
  15288. !1872 = !DILocation(line: 159, column: 51, scope: !1862)
  15289. !1873 = !DILocation(line: 159, column: 35, scope: !1862)
  15290. !1874 = !DILocation(line: 159, column: 83, scope: !1862)
  15291. !1875 = !DILocation(line: 159, column: 106, scope: !1862)
  15292. !1876 = !DILocation(line: 159, column: 105, scope: !1862)
  15293. !1877 = !DILocation(line: 159, column: 89, scope: !1862)
  15294. !1878 = !DILocation(line: 159, column: 79, scope: !1862)
  15295. !1879 = !DILocation(line: 159, column: 24, scope: !1862)
  15296. !1880 = !DILocation(line: 160, column: 18, scope: !1862)
  15297. !1881 = !DILocation(line: 160, column: 28, scope: !1862)
  15298. !1882 = !DILocation(line: 160, column: 73, scope: !1862)
  15299. !1883 = !DILocation(line: 160, column: 71, scope: !1862)
  15300. !1884 = !DILocation(line: 160, column: 50, scope: !1862)
  15301. !1885 = !DILocation(line: 160, column: 34, scope: !1862)
  15302. !1886 = !DILocation(line: 160, column: 25, scope: !1862)
  15303. !1887 = !DILocation(line: 66, column: 13, scope: !1662)
  15304. !1888 = !DILocation(line: 64, column: 9, scope: !1651)
  15305. !1889 = !DILocation(line: 125, column: 18, scope: !1890)
  15306. !1890 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 123, column: 50)
  15307. !1891 = !DILocation(line: 125, column: 24, scope: !1890)
  15308. !1892 = !DILocation(line: 126, column: 18, scope: !1890)
  15309. !1893 = !DILocation(line: 126, column: 28, scope: !1890)
  15310. !1894 = !DILocation(line: 126, column: 73, scope: !1890)
  15311. !1895 = !DILocation(line: 126, column: 71, scope: !1890)
  15312. !1896 = !DILocation(line: 126, column: 50, scope: !1890)
  15313. !1897 = !DILocation(line: 126, column: 34, scope: !1890)
  15314. !1898 = !DILocation(line: 126, column: 25, scope: !1890)
  15315. !1899 = !DILocation(line: 127, column: 18, scope: !1890)
  15316. !1900 = !DILocation(line: 127, column: 28, scope: !1890)
  15317. !1901 = !DILocation(line: 127, column: 52, scope: !1890)
  15318. !1902 = !DILocation(line: 127, column: 51, scope: !1890)
  15319. !1903 = !DILocation(line: 127, column: 35, scope: !1890)
  15320. !1904 = !DILocation(line: 127, column: 25, scope: !1890)
  15321. !1905 = !DILocation(line: 128, column: 18, scope: !1890)
  15322. !1906 = !DILocation(line: 128, column: 28, scope: !1890)
  15323. !1907 = !DILocation(line: 128, column: 74, scope: !1890)
  15324. !1908 = !DILocation(line: 128, column: 72, scope: !1890)
  15325. !1909 = !DILocation(line: 128, column: 51, scope: !1890)
  15326. !1910 = !DILocation(line: 128, column: 35, scope: !1890)
  15327. !1911 = !DILocation(line: 128, column: 83, scope: !1890)
  15328. !1912 = !DILocation(line: 128, column: 106, scope: !1890)
  15329. !1913 = !DILocation(line: 128, column: 105, scope: !1890)
  15330. !1914 = !DILocation(line: 128, column: 89, scope: !1890)
  15331. !1915 = !DILocation(line: 128, column: 79, scope: !1890)
  15332. !1916 = !DILocation(line: 128, column: 24, scope: !1890)
  15333. !1917 = !DILocation(line: 123, column: 20, scope: !1654)
  15334. !1918 = !DILocation(line: 131, column: 18, scope: !1919)
  15335. !1919 = distinct !DILexicalBlock(scope: !1654, file: !259, line: 129, column: 20)
  15336. !1920 = !DILocation(line: 131, column: 27, scope: !1919)
  15337. !1921 = !DILocation(line: 131, column: 72, scope: !1919)
  15338. !1922 = !DILocation(line: 131, column: 70, scope: !1919)
  15339. !1923 = !DILocation(line: 131, column: 49, scope: !1919)
  15340. !1924 = !DILocation(line: 131, column: 33, scope: !1919)
  15341. !1925 = !DILocation(line: 131, column: 24, scope: !1919)
  15342. !1926 = !DILocation(line: 132, column: 18, scope: !1919)
  15343. !1927 = !DILocation(line: 132, column: 29, scope: !1919)
  15344. !1928 = !DILocation(line: 132, column: 75, scope: !1919)
  15345. !1929 = !DILocation(line: 132, column: 73, scope: !1919)
  15346. !1930 = !DILocation(line: 132, column: 52, scope: !1919)
  15347. !1931 = !DILocation(line: 132, column: 36, scope: !1919)
  15348. !1932 = !DILocation(line: 132, column: 84, scope: !1919)
  15349. !1933 = !DILocation(line: 132, column: 107, scope: !1919)
  15350. !1934 = !DILocation(line: 132, column: 110, scope: !1919)
  15351. !1935 = !DILocation(line: 132, column: 106, scope: !1919)
  15352. !1936 = !DILocation(line: 132, column: 90, scope: !1919)
  15353. !1937 = !DILocation(line: 132, column: 80, scope: !1919)
  15354. !1938 = !DILocation(line: 132, column: 25, scope: !1919)
  15355. !1939 = !DILocation(line: 133, column: 18, scope: !1919)
  15356. !1940 = !DILocation(line: 133, column: 25, scope: !1919)
  15357. !1941 = !DILocation(line: 134, column: 18, scope: !1919)
  15358. !1942 = !DILocation(line: 134, column: 27, scope: !1919)
  15359. !1943 = !DILocation(line: 134, column: 51, scope: !1919)
  15360. !1944 = !DILocation(line: 134, column: 54, scope: !1919)
  15361. !1945 = !DILocation(line: 134, column: 50, scope: !1919)
  15362. !1946 = !DILocation(line: 134, column: 34, scope: !1919)
  15363. !1947 = !DILocation(line: 134, column: 24, scope: !1919)
  15364. !1948 = !DILocation(line: 94, column: 9, scope: !1655)
  15365. !1949 = !DILocation(line: 67, column: 18, scope: !1950)
  15366. !1950 = distinct !DILexicalBlock(scope: !1951, file: !259, line: 66, column: 34)
  15367. !1951 = distinct !DILexicalBlock(scope: !1662, file: !259, line: 66, column: 13)
  15368. !1952 = !DILocation(line: 67, column: 27, scope: !1950)
  15369. !1953 = !DILocation(line: 67, column: 24, scope: !1950)
  15370. !1954 = !DILocation(line: 68, column: 18, scope: !1950)
  15371. !1955 = !DILocation(line: 68, column: 28, scope: !1950)
  15372. !1956 = !DILocation(line: 68, column: 39, scope: !1950)
  15373. !1957 = !DILocation(line: 68, column: 46, scope: !1950)
  15374. !1958 = !DILocation(line: 68, column: 35, scope: !1950)
  15375. !1959 = !DILocation(line: 68, column: 25, scope: !1950)
  15376. !1960 = !DILocation(line: 69, column: 17, scope: !1950)
  15377. !1961 = !DILocation(line: 69, column: 75, scope: !1950)
  15378. !1962 = !DILocation(line: 69, column: 25, scope: !1950)
  15379. !1963 = !DILocation(line: 69, column: 24, scope: !1950)
  15380. !1964 = !DILocation(line: 69, column: 22, scope: !1950)
  15381. !1965 = !DILocation(line: 71, column: 21, scope: !1662)
  15382. !1966 = !DILocation(line: 71, column: 51, scope: !1662)
  15383. !1967 = !DILocation(line: 71, column: 45, scope: !1662)
  15384. !1968 = !DILocation(line: 71, column: 44, scope: !1662)
  15385. !1969 = !DILocation(line: 71, column: 28, scope: !1662)
  15386. !1970 = !DILocation(line: 71, column: 13, scope: !1662)
  15387. !1971 = !DILocation(line: 76, column: 43, scope: !1651)
  15388. !1972 = !DILocation(line: 76, column: 37, scope: !1651)
  15389. !1973 = !DILocation(line: 76, column: 36, scope: !1651)
  15390. !1974 = !DILocation(line: 76, column: 66, scope: !1651)
  15391. !1975 = !DILocation(line: 76, column: 60, scope: !1651)
  15392. !1976 = !DILocation(line: 76, column: 59, scope: !1651)
  15393. !1977 = !DILocation(line: 76, column: 52, scope: !1651)
  15394. !1978 = !DILocation(line: 76, column: 12, scope: !1651)
  15395. !1979 = !DILocation(line: 78, column: 13, scope: !1651)
  15396. !1980 = !DILocation(line: 78, column: 16, scope: !1651)
  15397. !1981 = !DILocation(line: 39, column: 5, scope: !1647)
  15398. !1982 = !DILocation(line: 79, column: 13, scope: !1664)
  15399. !1983 = !DILocation(line: 78, column: 9, scope: !1651)
  15400. !1984 = !DILocation(line: 80, column: 17, scope: !1985)
  15401. !1985 = distinct !DILexicalBlock(scope: !1986, file: !259, line: 79, column: 34)
  15402. !1986 = distinct !DILexicalBlock(scope: !1664, file: !259, line: 79, column: 13)
  15403. !1987 = !DILocation(line: 80, column: 24, scope: !1985)
  15404. !1988 = !DILocation(line: 80, column: 22, scope: !1985)
  15405. !1989 = !DILocation(line: 82, column: 13, scope: !1664)
  15406. !1990 = !DILocation(line: 84, column: 9, scope: !1651)
  15407. !1991 = !DILocation(line: 84, column: 12, scope: !1651)
  15408. !1992 = !DILocation(line: 87, column: 10, scope: !1651)
  15409. !1993 = !DILocation(line: 87, column: 16, scope: !1651)
  15410. !1994 = !DILocation(line: 88, column: 10, scope: !1651)
  15411. !1995 = !DILocation(line: 88, column: 20, scope: !1651)
  15412. !1996 = !DILocation(line: 88, column: 65, scope: !1651)
  15413. !1997 = !DILocation(line: 88, column: 63, scope: !1651)
  15414. !1998 = !DILocation(line: 88, column: 42, scope: !1651)
  15415. !1999 = !DILocation(line: 88, column: 26, scope: !1651)
  15416. !2000 = !DILocation(line: 88, column: 17, scope: !1651)
  15417. !2001 = !DILocation(line: 90, column: 10, scope: !1651)
  15418. !2002 = !DILocation(line: 90, column: 20, scope: !1651)
  15419. !2003 = !DILocation(line: 90, column: 44, scope: !1651)
  15420. !2004 = !DILocation(line: 90, column: 43, scope: !1651)
  15421. !2005 = !DILocation(line: 90, column: 27, scope: !1651)
  15422. !2006 = !DILocation(line: 90, column: 17, scope: !1651)
  15423. !2007 = !DILocation(line: 91, column: 10, scope: !1651)
  15424. !2008 = !DILocation(line: 91, column: 20, scope: !1651)
  15425. !2009 = !DILocation(line: 91, column: 66, scope: !1651)
  15426. !2010 = !DILocation(line: 91, column: 64, scope: !1651)
  15427. !2011 = !DILocation(line: 91, column: 43, scope: !1651)
  15428. !2012 = !DILocation(line: 91, column: 27, scope: !1651)
  15429. !2013 = !DILocation(line: 91, column: 75, scope: !1651)
  15430. !2014 = !DILocation(line: 91, column: 98, scope: !1651)
  15431. !2015 = !DILocation(line: 91, column: 97, scope: !1651)
  15432. !2016 = !DILocation(line: 91, column: 81, scope: !1651)
  15433. !2017 = !DILocation(line: 91, column: 71, scope: !1651)
  15434. !2018 = !DILocation(line: 91, column: 16, scope: !1651)
  15435. !2019 = !DILocation(line: 169, column: 5, scope: !1647)
  15436. !2020 = !DILocation(line: 170, column: 5, scope: !1667)
  15437. !2021 = !DILocation(line: 171, column: 5, scope: !1670)
  15438. !2022 = !DILocation(line: 171, column: 12, scope: !1670)
  15439. !2023 = !DILocation(line: 171, column: 15, scope: !1670)
  15440. !2024 = !DILocation(line: 173, column: 10, scope: !1669)
  15441. !2025 = !DILocation(line: 173, column: 21, scope: !1669)
  15442. !2026 = !DILocation(line: 173, column: 28, scope: !1669)
  15443. !2027 = !DILocation(line: 173, column: 38, scope: !1669)
  15444. !2028 = !DILocation(line: 173, column: 45, scope: !1669)
  15445. !2029 = !DILocation(line: 173, column: 34, scope: !1669)
  15446. !2030 = !DILocation(line: 173, column: 17, scope: !1669)
  15447. !2031 = !DILocation(line: 174, column: 10, scope: !1669)
  15448. !2032 = !DILocation(line: 174, column: 21, scope: !1669)
  15449. !2033 = !DILocation(line: 174, column: 28, scope: !1669)
  15450. !2034 = !DILocation(line: 174, column: 38, scope: !1669)
  15451. !2035 = !DILocation(line: 174, column: 45, scope: !1669)
  15452. !2036 = !DILocation(line: 174, column: 34, scope: !1669)
  15453. !2037 = !DILocation(line: 174, column: 17, scope: !1669)
  15454. !2038 = !DILocation(line: 175, column: 10, scope: !1669)
  15455. !2039 = !DILocation(line: 175, column: 21, scope: !1669)
  15456. !2040 = !DILocation(line: 175, column: 28, scope: !1669)
  15457. !2041 = !DILocation(line: 175, column: 38, scope: !1669)
  15458. !2042 = !DILocation(line: 175, column: 45, scope: !1669)
  15459. !2043 = !DILocation(line: 175, column: 34, scope: !1669)
  15460. !2044 = !DILocation(line: 175, column: 17, scope: !1669)
  15461. !2045 = !DILocation(line: 176, column: 10, scope: !1669)
  15462. !2046 = !DILocation(line: 176, column: 21, scope: !1669)
  15463. !2047 = !DILocation(line: 176, column: 28, scope: !1669)
  15464. !2048 = !DILocation(line: 176, column: 36, scope: !1669)
  15465. !2049 = !DILocation(line: 176, column: 34, scope: !1669)
  15466. !2050 = !DILocation(line: 176, column: 17, scope: !1669)
  15467. !2051 = !DILocation(line: 183, column: 68, scope: !1669)
  15468. !2052 = !DILocation(line: 183, column: 18, scope: !1669)
  15469. !2053 = !DILocation(line: 183, column: 17, scope: !1669)
  15470. !2054 = !DILocation(line: 183, column: 15, scope: !1669)
  15471. !2055 = !DILocation(line: 184, column: 52, scope: !1669)
  15472. !2056 = !DILocation(line: 184, column: 57, scope: !1669)
  15473. !2057 = !DILocation(line: 184, column: 54, scope: !1669)
  15474. !2058 = !DILocation(line: 184, column: 63, scope: !1669)
  15475. !2059 = !DILocation(line: 184, column: 69, scope: !1669)
  15476. !2060 = !DILocation(line: 184, column: 9, scope: !1669)
  15477. !2061 = !DILocation(line: 185, column: 21, scope: !2062)
  15478. !2062 = distinct !DILexicalBlock(scope: !1669, file: !259, line: 184, column: 9)
  15479. !2063 = !DILocation(line: 185, column: 23, scope: !2062)
  15480. !2064 = !DILocation(line: 185, column: 20, scope: !2062)
  15481. !2065 = !DILocation(line: 185, column: 15, scope: !2062)
  15482. !2066 = !DILocation(line: 186, column: 9, scope: !2062)
  15483. !2067 = !DILocation(line: 186, column: 18, scope: !2062)
  15484. !2068 = !DILocation(line: 186, column: 42, scope: !2062)
  15485. !2069 = !DILocation(line: 186, column: 20, scope: !2062)
  15486. !2070 = !DILocation(line: 186, column: 15, scope: !2062)
  15487. !2071 = !DILocation(line: 187, column: 14, scope: !2062)
  15488. !2072 = !DILocation(line: 187, column: 11, scope: !2062)
  15489. !2073 = !DILocation(line: 171, column: 23, scope: !1670)
  15490. !2074 = !DILocation(line: 171, column: 26, scope: !1670)
  15491. !2075 = !DILocation(line: 189, column: 72, scope: !1670)
  15492. !2076 = !DILocation(line: 189, column: 22, scope: !1670)
  15493. !2077 = !DILocation(line: 189, column: 21, scope: !1670)
  15494. !2078 = !DILocation(line: 189, column: 78, scope: !1670)
  15495. !2079 = !DILocation(line: 189, column: 86, scope: !1670)
  15496. !2080 = !DILocation(line: 189, column: 84, scope: !1670)
  15497. !2081 = !DILocation(line: 189, column: 5, scope: !1670)
  15498. !2082 = !DILocation(line: 190, column: 5, scope: !1674)
  15499. !2083 = !DILocation(line: 191, column: 9, scope: !2084)
  15500. !2084 = distinct !DILexicalBlock(scope: !2085, file: !259, line: 190, column: 26)
  15501. !2085 = distinct !DILexicalBlock(scope: !1674, file: !259, line: 190, column: 5)
  15502. !2086 = !DILocation(line: 191, column: 16, scope: !2084)
  15503. !2087 = !DILocation(line: 191, column: 14, scope: !2084)
  15504. !2088 = !DILocation(line: 193, column: 12, scope: !1674)
  15505. !2089 = !DILocation(line: 193, column: 5, scope: !1674)
  15506. !2090 = distinct !DISubprogram(name: "udivmod", scope: !259, file: !259, line: 7, type: !289, isLocal: true, isDefinition: true, scopeLine: 7, isOptimized: false, unit: !1, variables: !2091)
  15507. !2091 = !{!2092, !2097, !2099, !2101, !2108, !2110, !2112, !2114, !2116, !2120, !2121, !2124, !2128, !2131, !2133, !2135, !2137, !2138, !2140, !2143, !2144}
  15508. !2092 = !DILocalVariable(name: "a", arg: 1, scope: !2093, file: !259, line: 7, type: !181)
  15509. !2093 = distinct !DILexicalBlock(scope: !2094, file: !259, line: 7, column: 70)
  15510. !2094 = distinct !DILexicalBlock(scope: !2095, file: !259, line: 7, column: 56)
  15511. !2095 = distinct !DILexicalBlock(scope: !2096, file: !259, line: 7, column: 42)
  15512. !2096 = distinct !DILexicalBlock(scope: !2090, file: !259, line: 7, column: 16)
  15513. !2097 = !DILocalVariable(name: "b", arg: 2, scope: !2098, file: !259, line: 7, type: !181)
  15514. !2098 = distinct !DILexicalBlock(scope: !2093, file: !259, line: 7, column: 42)
  15515. !2099 = !DILocalVariable(name: "maybe_rem", arg: 3, scope: !2100, file: !259, line: 7, type: !291)
  15516. !2100 = distinct !DILexicalBlock(scope: !2098, file: !259, line: 7, column: 56)
  15517. !2101 = !DILocalVariable(name: "n", scope: !2102, file: !259, line: 14, type: !2107)
  15518. !2102 = distinct !DILexicalBlock(scope: !2103, file: !259, line: 12, column: 5)
  15519. !2103 = distinct !DILexicalBlock(scope: !2104, file: !259, line: 11, column: 5)
  15520. !2104 = distinct !DILexicalBlock(scope: !2105, file: !259, line: 10, column: 5)
  15521. !2105 = distinct !DILexicalBlock(scope: !2106, file: !259, line: 7, column: 107)
  15522. !2106 = distinct !DILexicalBlock(scope: !2100, file: !259, line: 7, column: 70)
  15523. !2107 = !DICompositeType(tag: DW_TAG_array_type, baseType: !269, size: 128, align: 128, elements: !1634)
  15524. !2108 = !DILocalVariable(name: "d", scope: !2109, file: !259, line: 15, type: !2107)
  15525. !2109 = distinct !DILexicalBlock(scope: !2102, file: !259, line: 14, column: 5)
  15526. !2110 = !DILocalVariable(name: "q", scope: !2111, file: !259, line: 16, type: !2107)
  15527. !2111 = distinct !DILexicalBlock(scope: !2109, file: !259, line: 15, column: 5)
  15528. !2112 = !DILocalVariable(name: "r", scope: !2113, file: !259, line: 17, type: !2107)
  15529. !2113 = distinct !DILexicalBlock(scope: !2111, file: !259, line: 16, column: 5)
  15530. !2114 = !DILocalVariable(name: "sr", scope: !2115, file: !259, line: 18, type: !428)
  15531. !2115 = distinct !DILexicalBlock(scope: !2113, file: !259, line: 17, column: 5)
  15532. !2116 = !DILocalVariable(name: "rem", scope: !2117, file: !259, line: 25, type: !291)
  15533. !2117 = distinct !DILexicalBlock(scope: !2118, file: !259, line: 21, column: 27)
  15534. !2118 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 20, column: 23)
  15535. !2119 = distinct !DILexicalBlock(scope: !2115, file: !259, line: 18, column: 5)
  15536. !2120 = !DILocalVariable(name: "rem", scope: !2118, file: !259, line: 33, type: !291)
  15537. !2121 = !DILocalVariable(name: "rem", scope: !2122, file: !259, line: 44, type: !291)
  15538. !2122 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 40, column: 27)
  15539. !2123 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 39, column: 22)
  15540. !2124 = !DILocalVariable(name: "rem", scope: !2125, file: !259, line: 100, type: !291)
  15541. !2125 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 98, column: 47)
  15542. !2126 = distinct !DILexicalBlock(scope: !2127, file: !259, line: 94, column: 27)
  15543. !2127 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 92, column: 12)
  15544. !2128 = !DILocalVariable(name: "rem", scope: !2129, file: !259, line: 143, type: !291)
  15545. !2129 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 142, column: 47)
  15546. !2130 = distinct !DILexicalBlock(scope: !2127, file: !259, line: 136, column: 16)
  15547. !2131 = !DILocalVariable(name: "rem", scope: !2132, file: !259, line: 54, type: !291)
  15548. !2132 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 50, column: 26)
  15549. !2133 = !DILocalVariable(name: "rem", scope: !2134, file: !259, line: 66, type: !291)
  15550. !2134 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 64, column: 45)
  15551. !2135 = !DILocalVariable(name: "rem", scope: !2136, file: !259, line: 79, type: !291)
  15552. !2136 = distinct !DILexicalBlock(scope: !2123, file: !259, line: 78, column: 43)
  15553. !2137 = !DILocalVariable(name: "carry", scope: !2119, file: !259, line: 169, type: !390)
  15554. !2138 = !DILocalVariable(name: "r_all", scope: !2139, file: !259, line: 170, type: !181)
  15555. !2139 = distinct !DILexicalBlock(scope: !2119, file: !259, line: 169, column: 5)
  15556. !2140 = !DILocalVariable(name: "s", scope: !2141, file: !259, line: 184, type: !611)
  15557. !2141 = distinct !DILexicalBlock(scope: !2142, file: !259, line: 171, column: 32)
  15558. !2142 = distinct !DILexicalBlock(scope: !2139, file: !259, line: 170, column: 5)
  15559. !2143 = !DILocalVariable(name: "q_all", scope: !2142, file: !259, line: 189, type: !181)
  15560. !2144 = !DILocalVariable(name: "rem", scope: !2145, file: !259, line: 190, type: !291)
  15561. !2145 = distinct !DILexicalBlock(scope: !2142, file: !259, line: 189, column: 5)
  15562. !2146 = !DILocation(line: 7, column: 42, scope: !2093)
  15563. !2147 = !DILocation(line: 7, column: 56, scope: !2098)
  15564. !2148 = !DILocation(line: 7, column: 70, scope: !2100)
  15565. !2149 = !DILocation(line: 14, column: 16, scope: !2102)
  15566. !2150 = !DILocation(line: 14, column: 5, scope: !2102)
  15567. !2151 = !DILocation(line: 15, column: 16, scope: !2109)
  15568. !2152 = !DILocation(line: 15, column: 5, scope: !2109)
  15569. !2153 = !DILocation(line: 16, column: 5, scope: !2111)
  15570. !2154 = !DILocation(line: 17, column: 5, scope: !2113)
  15571. !2155 = !DILocation(line: 18, column: 5, scope: !2115)
  15572. !2156 = !DILocation(line: 20, column: 10, scope: !2119)
  15573. !2157 = !DILocation(line: 20, column: 17, scope: !2119)
  15574. !2158 = !DILocation(line: 21, column: 14, scope: !2118)
  15575. !2159 = !DILocation(line: 21, column: 21, scope: !2118)
  15576. !2160 = !DILocation(line: 20, column: 5, scope: !2119)
  15577. !2161 = !DILocation(line: 25, column: 13, scope: !2117)
  15578. !2162 = !DILocation(line: 21, column: 9, scope: !2118)
  15579. !2163 = !DILocation(line: 26, column: 17, scope: !2164)
  15580. !2164 = distinct !DILexicalBlock(scope: !2165, file: !259, line: 25, column: 34)
  15581. !2165 = distinct !DILexicalBlock(scope: !2117, file: !259, line: 25, column: 13)
  15582. !2166 = !DILocation(line: 26, column: 25, scope: !2164)
  15583. !2167 = !DILocation(line: 26, column: 34, scope: !2164)
  15584. !2168 = !DILocation(line: 26, column: 31, scope: !2164)
  15585. !2169 = !DILocation(line: 26, column: 22, scope: !2164)
  15586. !2170 = !DILocation(line: 28, column: 21, scope: !2117)
  15587. !2171 = !DILocation(line: 28, column: 30, scope: !2117)
  15588. !2172 = !DILocation(line: 28, column: 27, scope: !2117)
  15589. !2173 = !DILocation(line: 28, column: 13, scope: !2117)
  15590. !2174 = !DILocation(line: 33, column: 9, scope: !2118)
  15591. !2175 = !DILocation(line: 34, column: 13, scope: !2176)
  15592. !2176 = distinct !DILexicalBlock(scope: !2177, file: !259, line: 33, column: 30)
  15593. !2177 = distinct !DILexicalBlock(scope: !2118, file: !259, line: 33, column: 9)
  15594. !2178 = !DILocation(line: 34, column: 21, scope: !2176)
  15595. !2179 = !DILocation(line: 34, column: 18, scope: !2176)
  15596. !2180 = !DILocation(line: 36, column: 9, scope: !2118)
  15597. !2181 = !DILocation(line: 39, column: 10, scope: !2119)
  15598. !2182 = !DILocation(line: 39, column: 16, scope: !2119)
  15599. !2183 = !DILocation(line: 40, column: 14, scope: !2123)
  15600. !2184 = !DILocation(line: 40, column: 21, scope: !2123)
  15601. !2185 = !DILocation(line: 94, column: 14, scope: !2127)
  15602. !2186 = !DILocation(line: 94, column: 21, scope: !2127)
  15603. !2187 = !DILocation(line: 44, column: 13, scope: !2122)
  15604. !2188 = !DILocation(line: 40, column: 9, scope: !2123)
  15605. !2189 = !DILocation(line: 98, column: 19, scope: !2126)
  15606. !2190 = !DILocation(line: 98, column: 29, scope: !2126)
  15607. !2191 = !DILocation(line: 98, column: 35, scope: !2126)
  15608. !2192 = !DILocation(line: 98, column: 25, scope: !2126)
  15609. !2193 = !DILocation(line: 98, column: 41, scope: !2126)
  15610. !2194 = !DILocation(line: 140, column: 47, scope: !2130)
  15611. !2195 = !DILocation(line: 140, column: 41, scope: !2130)
  15612. !2196 = !DILocation(line: 140, column: 40, scope: !2130)
  15613. !2197 = !DILocation(line: 140, column: 70, scope: !2130)
  15614. !2198 = !DILocation(line: 140, column: 64, scope: !2130)
  15615. !2199 = !DILocation(line: 140, column: 63, scope: !2130)
  15616. !2200 = !DILocation(line: 140, column: 56, scope: !2130)
  15617. !2201 = !DILocation(line: 140, column: 16, scope: !2130)
  15618. !2202 = !DILocation(line: 142, column: 17, scope: !2130)
  15619. !2203 = !DILocation(line: 142, column: 20, scope: !2130)
  15620. !2204 = !DILocation(line: 45, column: 17, scope: !2205)
  15621. !2205 = distinct !DILexicalBlock(scope: !2206, file: !259, line: 44, column: 34)
  15622. !2206 = distinct !DILexicalBlock(scope: !2122, file: !259, line: 44, column: 13)
  15623. !2207 = !DILocation(line: 45, column: 25, scope: !2205)
  15624. !2208 = !DILocation(line: 45, column: 35, scope: !2205)
  15625. !2209 = !DILocation(line: 45, column: 32, scope: !2205)
  15626. !2210 = !DILocation(line: 45, column: 22, scope: !2205)
  15627. !2211 = !DILocation(line: 47, column: 21, scope: !2122)
  15628. !2212 = !DILocation(line: 47, column: 31, scope: !2122)
  15629. !2213 = !DILocation(line: 47, column: 28, scope: !2122)
  15630. !2214 = !DILocation(line: 47, column: 13, scope: !2122)
  15631. !2215 = !DILocation(line: 50, column: 14, scope: !2123)
  15632. !2216 = !DILocation(line: 50, column: 20, scope: !2123)
  15633. !2217 = !DILocation(line: 100, column: 17, scope: !2125)
  15634. !2218 = !DILocation(line: 98, column: 13, scope: !2126)
  15635. !2219 = !DILocation(line: 143, column: 17, scope: !2129)
  15636. !2220 = !DILocation(line: 142, column: 13, scope: !2130)
  15637. !2221 = !DILocation(line: 54, column: 13, scope: !2132)
  15638. !2222 = !DILocation(line: 50, column: 9, scope: !2123)
  15639. !2223 = !DILocation(line: 101, column: 21, scope: !2224)
  15640. !2224 = distinct !DILexicalBlock(scope: !2225, file: !259, line: 100, column: 38)
  15641. !2225 = distinct !DILexicalBlock(scope: !2125, file: !259, line: 100, column: 17)
  15642. !2226 = !DILocation(line: 101, column: 29, scope: !2224)
  15643. !2227 = !DILocation(line: 101, column: 39, scope: !2224)
  15644. !2228 = !DILocation(line: 101, column: 45, scope: !2224)
  15645. !2229 = !DILocation(line: 101, column: 35, scope: !2224)
  15646. !2230 = !DILocation(line: 101, column: 26, scope: !2224)
  15647. !2231 = !DILocation(line: 104, column: 28, scope: !2232)
  15648. !2232 = distinct !DILexicalBlock(scope: !2125, file: !259, line: 103, column: 34)
  15649. !2233 = !DILocation(line: 104, column: 21, scope: !2232)
  15650. !2234 = !DILocation(line: 103, column: 17, scope: !2125)
  15651. !2235 = !DILocation(line: 106, column: 28, scope: !2125)
  15652. !2236 = !DILocation(line: 106, column: 22, scope: !2125)
  15653. !2237 = !DILocation(line: 106, column: 20, scope: !2125)
  15654. !2238 = !DILocation(line: 107, column: 18, scope: !2125)
  15655. !2239 = !DILocation(line: 107, column: 28, scope: !2125)
  15656. !2240 = !DILocation(line: 107, column: 52, scope: !2125)
  15657. !2241 = !DILocation(line: 107, column: 51, scope: !2125)
  15658. !2242 = !DILocation(line: 107, column: 35, scope: !2125)
  15659. !2243 = !DILocation(line: 107, column: 25, scope: !2125)
  15660. !2244 = !DILocation(line: 108, column: 18, scope: !2125)
  15661. !2245 = !DILocation(line: 108, column: 28, scope: !2125)
  15662. !2246 = !DILocation(line: 108, column: 74, scope: !2125)
  15663. !2247 = !DILocation(line: 108, column: 72, scope: !2125)
  15664. !2248 = !DILocation(line: 108, column: 51, scope: !2125)
  15665. !2249 = !DILocation(line: 108, column: 35, scope: !2125)
  15666. !2250 = !DILocation(line: 108, column: 83, scope: !2125)
  15667. !2251 = !DILocation(line: 108, column: 106, scope: !2125)
  15668. !2252 = !DILocation(line: 108, column: 105, scope: !2125)
  15669. !2253 = !DILocation(line: 108, column: 89, scope: !2125)
  15670. !2254 = !DILocation(line: 108, column: 79, scope: !2125)
  15671. !2255 = !DILocation(line: 108, column: 24, scope: !2125)
  15672. !2256 = !DILocation(line: 109, column: 75, scope: !2125)
  15673. !2257 = !DILocation(line: 109, column: 25, scope: !2125)
  15674. !2258 = !DILocation(line: 109, column: 24, scope: !2125)
  15675. !2259 = !DILocation(line: 109, column: 17, scope: !2125)
  15676. !2260 = !DILocation(line: 114, column: 57, scope: !2126)
  15677. !2261 = !DILocation(line: 114, column: 51, scope: !2126)
  15678. !2262 = !DILocation(line: 114, column: 50, scope: !2126)
  15679. !2263 = !DILocation(line: 114, column: 42, scope: !2126)
  15680. !2264 = !DILocation(line: 114, column: 80, scope: !2126)
  15681. !2265 = !DILocation(line: 114, column: 74, scope: !2126)
  15682. !2266 = !DILocation(line: 114, column: 73, scope: !2126)
  15683. !2267 = !DILocation(line: 114, column: 65, scope: !2126)
  15684. !2268 = !DILocation(line: 114, column: 16, scope: !2126)
  15685. !2269 = !DILocation(line: 118, column: 17, scope: !2126)
  15686. !2270 = !DILocation(line: 118, column: 20, scope: !2126)
  15687. !2271 = !DILocation(line: 144, column: 21, scope: !2272)
  15688. !2272 = distinct !DILexicalBlock(scope: !2273, file: !259, line: 143, column: 38)
  15689. !2273 = distinct !DILexicalBlock(scope: !2129, file: !259, line: 143, column: 17)
  15690. !2274 = !DILocation(line: 144, column: 28, scope: !2272)
  15691. !2275 = !DILocation(line: 144, column: 26, scope: !2272)
  15692. !2276 = !DILocation(line: 146, column: 17, scope: !2129)
  15693. !2277 = !DILocation(line: 148, column: 13, scope: !2130)
  15694. !2278 = !DILocation(line: 148, column: 16, scope: !2130)
  15695. !2279 = !DILocation(line: 152, column: 14, scope: !2130)
  15696. !2280 = !DILocation(line: 152, column: 20, scope: !2130)
  15697. !2281 = !DILocation(line: 153, column: 17, scope: !2130)
  15698. !2282 = !DILocation(line: 153, column: 20, scope: !2130)
  15699. !2283 = !DILocation(line: 55, column: 18, scope: !2284)
  15700. !2284 = distinct !DILexicalBlock(scope: !2285, file: !259, line: 54, column: 34)
  15701. !2285 = distinct !DILexicalBlock(scope: !2132, file: !259, line: 54, column: 13)
  15702. !2286 = !DILocation(line: 55, column: 28, scope: !2284)
  15703. !2287 = !DILocation(line: 55, column: 38, scope: !2284)
  15704. !2288 = !DILocation(line: 55, column: 35, scope: !2284)
  15705. !2289 = !DILocation(line: 55, column: 25, scope: !2284)
  15706. !2290 = !DILocation(line: 56, column: 18, scope: !2284)
  15707. !2291 = !DILocation(line: 56, column: 24, scope: !2284)
  15708. !2292 = !DILocation(line: 57, column: 17, scope: !2284)
  15709. !2293 = !DILocation(line: 57, column: 75, scope: !2284)
  15710. !2294 = !DILocation(line: 57, column: 25, scope: !2284)
  15711. !2295 = !DILocation(line: 57, column: 24, scope: !2284)
  15712. !2296 = !DILocation(line: 57, column: 22, scope: !2284)
  15713. !2297 = !DILocation(line: 59, column: 21, scope: !2132)
  15714. !2298 = !DILocation(line: 59, column: 31, scope: !2132)
  15715. !2299 = !DILocation(line: 59, column: 28, scope: !2132)
  15716. !2300 = !DILocation(line: 59, column: 13, scope: !2132)
  15717. !2301 = !DILocation(line: 64, column: 15, scope: !2123)
  15718. !2302 = !DILocation(line: 64, column: 26, scope: !2123)
  15719. !2303 = !DILocation(line: 64, column: 33, scope: !2123)
  15720. !2304 = !DILocation(line: 64, column: 22, scope: !2123)
  15721. !2305 = !DILocation(line: 64, column: 39, scope: !2123)
  15722. !2306 = !DILocation(line: 103, column: 22, scope: !2125)
  15723. !2307 = !DILocation(line: 103, column: 28, scope: !2125)
  15724. !2308 = !DILocation(line: 119, column: 18, scope: !2309)
  15725. !2309 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 118, column: 44)
  15726. !2310 = !DILocation(line: 119, column: 24, scope: !2309)
  15727. !2311 = !DILocation(line: 120, column: 18, scope: !2309)
  15728. !2312 = !DILocation(line: 120, column: 28, scope: !2309)
  15729. !2313 = !DILocation(line: 120, column: 25, scope: !2309)
  15730. !2314 = !DILocation(line: 121, column: 18, scope: !2309)
  15731. !2315 = !DILocation(line: 121, column: 25, scope: !2309)
  15732. !2316 = !DILocation(line: 122, column: 18, scope: !2309)
  15733. !2317 = !DILocation(line: 122, column: 27, scope: !2309)
  15734. !2318 = !DILocation(line: 122, column: 24, scope: !2309)
  15735. !2319 = !DILocation(line: 118, column: 13, scope: !2126)
  15736. !2320 = !DILocation(line: 123, column: 24, scope: !2126)
  15737. !2321 = !DILocation(line: 123, column: 27, scope: !2126)
  15738. !2322 = !DILocation(line: 154, column: 18, scope: !2323)
  15739. !2323 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 153, column: 44)
  15740. !2324 = !DILocation(line: 154, column: 28, scope: !2323)
  15741. !2325 = !DILocation(line: 154, column: 25, scope: !2323)
  15742. !2326 = !DILocation(line: 155, column: 18, scope: !2323)
  15743. !2327 = !DILocation(line: 155, column: 25, scope: !2323)
  15744. !2328 = !DILocation(line: 156, column: 18, scope: !2323)
  15745. !2329 = !DILocation(line: 156, column: 27, scope: !2323)
  15746. !2330 = !DILocation(line: 156, column: 24, scope: !2323)
  15747. !2331 = !DILocation(line: 153, column: 13, scope: !2130)
  15748. !2332 = !DILocation(line: 158, column: 18, scope: !2333)
  15749. !2333 = distinct !DILexicalBlock(scope: !2130, file: !259, line: 157, column: 20)
  15750. !2334 = !DILocation(line: 158, column: 28, scope: !2333)
  15751. !2335 = !DILocation(line: 158, column: 52, scope: !2333)
  15752. !2336 = !DILocation(line: 158, column: 51, scope: !2333)
  15753. !2337 = !DILocation(line: 158, column: 35, scope: !2333)
  15754. !2338 = !DILocation(line: 158, column: 25, scope: !2333)
  15755. !2339 = !DILocation(line: 159, column: 18, scope: !2333)
  15756. !2340 = !DILocation(line: 159, column: 28, scope: !2333)
  15757. !2341 = !DILocation(line: 159, column: 74, scope: !2333)
  15758. !2342 = !DILocation(line: 159, column: 72, scope: !2333)
  15759. !2343 = !DILocation(line: 159, column: 51, scope: !2333)
  15760. !2344 = !DILocation(line: 159, column: 35, scope: !2333)
  15761. !2345 = !DILocation(line: 159, column: 83, scope: !2333)
  15762. !2346 = !DILocation(line: 159, column: 106, scope: !2333)
  15763. !2347 = !DILocation(line: 159, column: 105, scope: !2333)
  15764. !2348 = !DILocation(line: 159, column: 89, scope: !2333)
  15765. !2349 = !DILocation(line: 159, column: 79, scope: !2333)
  15766. !2350 = !DILocation(line: 159, column: 24, scope: !2333)
  15767. !2351 = !DILocation(line: 160, column: 18, scope: !2333)
  15768. !2352 = !DILocation(line: 160, column: 28, scope: !2333)
  15769. !2353 = !DILocation(line: 160, column: 73, scope: !2333)
  15770. !2354 = !DILocation(line: 160, column: 71, scope: !2333)
  15771. !2355 = !DILocation(line: 160, column: 50, scope: !2333)
  15772. !2356 = !DILocation(line: 160, column: 34, scope: !2333)
  15773. !2357 = !DILocation(line: 160, column: 25, scope: !2333)
  15774. !2358 = !DILocation(line: 66, column: 13, scope: !2134)
  15775. !2359 = !DILocation(line: 64, column: 9, scope: !2123)
  15776. !2360 = !DILocation(line: 125, column: 18, scope: !2361)
  15777. !2361 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 123, column: 50)
  15778. !2362 = !DILocation(line: 125, column: 24, scope: !2361)
  15779. !2363 = !DILocation(line: 126, column: 18, scope: !2361)
  15780. !2364 = !DILocation(line: 126, column: 28, scope: !2361)
  15781. !2365 = !DILocation(line: 126, column: 73, scope: !2361)
  15782. !2366 = !DILocation(line: 126, column: 71, scope: !2361)
  15783. !2367 = !DILocation(line: 126, column: 50, scope: !2361)
  15784. !2368 = !DILocation(line: 126, column: 34, scope: !2361)
  15785. !2369 = !DILocation(line: 126, column: 25, scope: !2361)
  15786. !2370 = !DILocation(line: 127, column: 18, scope: !2361)
  15787. !2371 = !DILocation(line: 127, column: 28, scope: !2361)
  15788. !2372 = !DILocation(line: 127, column: 52, scope: !2361)
  15789. !2373 = !DILocation(line: 127, column: 51, scope: !2361)
  15790. !2374 = !DILocation(line: 127, column: 35, scope: !2361)
  15791. !2375 = !DILocation(line: 127, column: 25, scope: !2361)
  15792. !2376 = !DILocation(line: 128, column: 18, scope: !2361)
  15793. !2377 = !DILocation(line: 128, column: 28, scope: !2361)
  15794. !2378 = !DILocation(line: 128, column: 74, scope: !2361)
  15795. !2379 = !DILocation(line: 128, column: 72, scope: !2361)
  15796. !2380 = !DILocation(line: 128, column: 51, scope: !2361)
  15797. !2381 = !DILocation(line: 128, column: 35, scope: !2361)
  15798. !2382 = !DILocation(line: 128, column: 83, scope: !2361)
  15799. !2383 = !DILocation(line: 128, column: 106, scope: !2361)
  15800. !2384 = !DILocation(line: 128, column: 105, scope: !2361)
  15801. !2385 = !DILocation(line: 128, column: 89, scope: !2361)
  15802. !2386 = !DILocation(line: 128, column: 79, scope: !2361)
  15803. !2387 = !DILocation(line: 128, column: 24, scope: !2361)
  15804. !2388 = !DILocation(line: 123, column: 20, scope: !2126)
  15805. !2389 = !DILocation(line: 131, column: 18, scope: !2390)
  15806. !2390 = distinct !DILexicalBlock(scope: !2126, file: !259, line: 129, column: 20)
  15807. !2391 = !DILocation(line: 131, column: 27, scope: !2390)
  15808. !2392 = !DILocation(line: 131, column: 72, scope: !2390)
  15809. !2393 = !DILocation(line: 131, column: 70, scope: !2390)
  15810. !2394 = !DILocation(line: 131, column: 49, scope: !2390)
  15811. !2395 = !DILocation(line: 131, column: 33, scope: !2390)
  15812. !2396 = !DILocation(line: 131, column: 24, scope: !2390)
  15813. !2397 = !DILocation(line: 132, column: 18, scope: !2390)
  15814. !2398 = !DILocation(line: 132, column: 29, scope: !2390)
  15815. !2399 = !DILocation(line: 132, column: 75, scope: !2390)
  15816. !2400 = !DILocation(line: 132, column: 73, scope: !2390)
  15817. !2401 = !DILocation(line: 132, column: 52, scope: !2390)
  15818. !2402 = !DILocation(line: 132, column: 36, scope: !2390)
  15819. !2403 = !DILocation(line: 132, column: 84, scope: !2390)
  15820. !2404 = !DILocation(line: 132, column: 107, scope: !2390)
  15821. !2405 = !DILocation(line: 132, column: 110, scope: !2390)
  15822. !2406 = !DILocation(line: 132, column: 106, scope: !2390)
  15823. !2407 = !DILocation(line: 132, column: 90, scope: !2390)
  15824. !2408 = !DILocation(line: 132, column: 80, scope: !2390)
  15825. !2409 = !DILocation(line: 132, column: 25, scope: !2390)
  15826. !2410 = !DILocation(line: 133, column: 18, scope: !2390)
  15827. !2411 = !DILocation(line: 133, column: 25, scope: !2390)
  15828. !2412 = !DILocation(line: 134, column: 18, scope: !2390)
  15829. !2413 = !DILocation(line: 134, column: 27, scope: !2390)
  15830. !2414 = !DILocation(line: 134, column: 51, scope: !2390)
  15831. !2415 = !DILocation(line: 134, column: 54, scope: !2390)
  15832. !2416 = !DILocation(line: 134, column: 50, scope: !2390)
  15833. !2417 = !DILocation(line: 134, column: 34, scope: !2390)
  15834. !2418 = !DILocation(line: 134, column: 24, scope: !2390)
  15835. !2419 = !DILocation(line: 94, column: 9, scope: !2127)
  15836. !2420 = !DILocation(line: 67, column: 18, scope: !2421)
  15837. !2421 = distinct !DILexicalBlock(scope: !2422, file: !259, line: 66, column: 34)
  15838. !2422 = distinct !DILexicalBlock(scope: !2134, file: !259, line: 66, column: 13)
  15839. !2423 = !DILocation(line: 67, column: 27, scope: !2421)
  15840. !2424 = !DILocation(line: 67, column: 24, scope: !2421)
  15841. !2425 = !DILocation(line: 68, column: 18, scope: !2421)
  15842. !2426 = !DILocation(line: 68, column: 28, scope: !2421)
  15843. !2427 = !DILocation(line: 68, column: 39, scope: !2421)
  15844. !2428 = !DILocation(line: 68, column: 46, scope: !2421)
  15845. !2429 = !DILocation(line: 68, column: 35, scope: !2421)
  15846. !2430 = !DILocation(line: 68, column: 25, scope: !2421)
  15847. !2431 = !DILocation(line: 69, column: 17, scope: !2421)
  15848. !2432 = !DILocation(line: 69, column: 75, scope: !2421)
  15849. !2433 = !DILocation(line: 69, column: 25, scope: !2421)
  15850. !2434 = !DILocation(line: 69, column: 24, scope: !2421)
  15851. !2435 = !DILocation(line: 69, column: 22, scope: !2421)
  15852. !2436 = !DILocation(line: 71, column: 21, scope: !2134)
  15853. !2437 = !DILocation(line: 71, column: 51, scope: !2134)
  15854. !2438 = !DILocation(line: 71, column: 45, scope: !2134)
  15855. !2439 = !DILocation(line: 71, column: 44, scope: !2134)
  15856. !2440 = !DILocation(line: 71, column: 28, scope: !2134)
  15857. !2441 = !DILocation(line: 71, column: 13, scope: !2134)
  15858. !2442 = !DILocation(line: 76, column: 43, scope: !2123)
  15859. !2443 = !DILocation(line: 76, column: 37, scope: !2123)
  15860. !2444 = !DILocation(line: 76, column: 36, scope: !2123)
  15861. !2445 = !DILocation(line: 76, column: 66, scope: !2123)
  15862. !2446 = !DILocation(line: 76, column: 60, scope: !2123)
  15863. !2447 = !DILocation(line: 76, column: 59, scope: !2123)
  15864. !2448 = !DILocation(line: 76, column: 52, scope: !2123)
  15865. !2449 = !DILocation(line: 76, column: 12, scope: !2123)
  15866. !2450 = !DILocation(line: 78, column: 13, scope: !2123)
  15867. !2451 = !DILocation(line: 78, column: 16, scope: !2123)
  15868. !2452 = !DILocation(line: 39, column: 5, scope: !2119)
  15869. !2453 = !DILocation(line: 79, column: 13, scope: !2136)
  15870. !2454 = !DILocation(line: 78, column: 9, scope: !2123)
  15871. !2455 = !DILocation(line: 80, column: 17, scope: !2456)
  15872. !2456 = distinct !DILexicalBlock(scope: !2457, file: !259, line: 79, column: 34)
  15873. !2457 = distinct !DILexicalBlock(scope: !2136, file: !259, line: 79, column: 13)
  15874. !2458 = !DILocation(line: 80, column: 24, scope: !2456)
  15875. !2459 = !DILocation(line: 80, column: 22, scope: !2456)
  15876. !2460 = !DILocation(line: 82, column: 13, scope: !2136)
  15877. !2461 = !DILocation(line: 84, column: 9, scope: !2123)
  15878. !2462 = !DILocation(line: 84, column: 12, scope: !2123)
  15879. !2463 = !DILocation(line: 87, column: 10, scope: !2123)
  15880. !2464 = !DILocation(line: 87, column: 16, scope: !2123)
  15881. !2465 = !DILocation(line: 88, column: 10, scope: !2123)
  15882. !2466 = !DILocation(line: 88, column: 20, scope: !2123)
  15883. !2467 = !DILocation(line: 88, column: 65, scope: !2123)
  15884. !2468 = !DILocation(line: 88, column: 63, scope: !2123)
  15885. !2469 = !DILocation(line: 88, column: 42, scope: !2123)
  15886. !2470 = !DILocation(line: 88, column: 26, scope: !2123)
  15887. !2471 = !DILocation(line: 88, column: 17, scope: !2123)
  15888. !2472 = !DILocation(line: 90, column: 10, scope: !2123)
  15889. !2473 = !DILocation(line: 90, column: 20, scope: !2123)
  15890. !2474 = !DILocation(line: 90, column: 44, scope: !2123)
  15891. !2475 = !DILocation(line: 90, column: 43, scope: !2123)
  15892. !2476 = !DILocation(line: 90, column: 27, scope: !2123)
  15893. !2477 = !DILocation(line: 90, column: 17, scope: !2123)
  15894. !2478 = !DILocation(line: 91, column: 10, scope: !2123)
  15895. !2479 = !DILocation(line: 91, column: 20, scope: !2123)
  15896. !2480 = !DILocation(line: 91, column: 66, scope: !2123)
  15897. !2481 = !DILocation(line: 91, column: 64, scope: !2123)
  15898. !2482 = !DILocation(line: 91, column: 43, scope: !2123)
  15899. !2483 = !DILocation(line: 91, column: 27, scope: !2123)
  15900. !2484 = !DILocation(line: 91, column: 75, scope: !2123)
  15901. !2485 = !DILocation(line: 91, column: 98, scope: !2123)
  15902. !2486 = !DILocation(line: 91, column: 97, scope: !2123)
  15903. !2487 = !DILocation(line: 91, column: 81, scope: !2123)
  15904. !2488 = !DILocation(line: 91, column: 71, scope: !2123)
  15905. !2489 = !DILocation(line: 91, column: 16, scope: !2123)
  15906. !2490 = !DILocation(line: 169, column: 5, scope: !2119)
  15907. !2491 = !DILocation(line: 170, column: 5, scope: !2139)
  15908. !2492 = !DILocation(line: 171, column: 5, scope: !2142)
  15909. !2493 = !DILocation(line: 171, column: 12, scope: !2142)
  15910. !2494 = !DILocation(line: 171, column: 15, scope: !2142)
  15911. !2495 = !DILocation(line: 173, column: 10, scope: !2141)
  15912. !2496 = !DILocation(line: 173, column: 21, scope: !2141)
  15913. !2497 = !DILocation(line: 173, column: 28, scope: !2141)
  15914. !2498 = !DILocation(line: 173, column: 38, scope: !2141)
  15915. !2499 = !DILocation(line: 173, column: 45, scope: !2141)
  15916. !2500 = !DILocation(line: 173, column: 34, scope: !2141)
  15917. !2501 = !DILocation(line: 173, column: 17, scope: !2141)
  15918. !2502 = !DILocation(line: 174, column: 10, scope: !2141)
  15919. !2503 = !DILocation(line: 174, column: 21, scope: !2141)
  15920. !2504 = !DILocation(line: 174, column: 28, scope: !2141)
  15921. !2505 = !DILocation(line: 174, column: 38, scope: !2141)
  15922. !2506 = !DILocation(line: 174, column: 45, scope: !2141)
  15923. !2507 = !DILocation(line: 174, column: 34, scope: !2141)
  15924. !2508 = !DILocation(line: 174, column: 17, scope: !2141)
  15925. !2509 = !DILocation(line: 175, column: 10, scope: !2141)
  15926. !2510 = !DILocation(line: 175, column: 21, scope: !2141)
  15927. !2511 = !DILocation(line: 175, column: 28, scope: !2141)
  15928. !2512 = !DILocation(line: 175, column: 38, scope: !2141)
  15929. !2513 = !DILocation(line: 175, column: 45, scope: !2141)
  15930. !2514 = !DILocation(line: 175, column: 34, scope: !2141)
  15931. !2515 = !DILocation(line: 175, column: 17, scope: !2141)
  15932. !2516 = !DILocation(line: 176, column: 10, scope: !2141)
  15933. !2517 = !DILocation(line: 176, column: 21, scope: !2141)
  15934. !2518 = !DILocation(line: 176, column: 28, scope: !2141)
  15935. !2519 = !DILocation(line: 176, column: 36, scope: !2141)
  15936. !2520 = !DILocation(line: 176, column: 34, scope: !2141)
  15937. !2521 = !DILocation(line: 176, column: 17, scope: !2141)
  15938. !2522 = !DILocation(line: 183, column: 68, scope: !2141)
  15939. !2523 = !DILocation(line: 183, column: 18, scope: !2141)
  15940. !2524 = !DILocation(line: 183, column: 17, scope: !2141)
  15941. !2525 = !DILocation(line: 183, column: 15, scope: !2141)
  15942. !2526 = !DILocation(line: 184, column: 52, scope: !2141)
  15943. !2527 = !DILocation(line: 184, column: 57, scope: !2141)
  15944. !2528 = !DILocation(line: 184, column: 54, scope: !2141)
  15945. !2529 = !DILocation(line: 184, column: 63, scope: !2141)
  15946. !2530 = !DILocation(line: 184, column: 69, scope: !2141)
  15947. !2531 = !DILocation(line: 184, column: 9, scope: !2141)
  15948. !2532 = !DILocation(line: 185, column: 21, scope: !2533)
  15949. !2533 = distinct !DILexicalBlock(scope: !2141, file: !259, line: 184, column: 9)
  15950. !2534 = !DILocation(line: 185, column: 23, scope: !2533)
  15951. !2535 = !DILocation(line: 185, column: 20, scope: !2533)
  15952. !2536 = !DILocation(line: 185, column: 15, scope: !2533)
  15953. !2537 = !DILocation(line: 186, column: 9, scope: !2533)
  15954. !2538 = !DILocation(line: 186, column: 18, scope: !2533)
  15955. !2539 = !DILocation(line: 186, column: 42, scope: !2533)
  15956. !2540 = !DILocation(line: 186, column: 20, scope: !2533)
  15957. !2541 = !DILocation(line: 186, column: 15, scope: !2533)
  15958. !2542 = !DILocation(line: 187, column: 14, scope: !2533)
  15959. !2543 = !DILocation(line: 187, column: 11, scope: !2533)
  15960. !2544 = !DILocation(line: 171, column: 23, scope: !2142)
  15961. !2545 = !DILocation(line: 171, column: 26, scope: !2142)
  15962. !2546 = !DILocation(line: 189, column: 72, scope: !2142)
  15963. !2547 = !DILocation(line: 189, column: 22, scope: !2142)
  15964. !2548 = !DILocation(line: 189, column: 21, scope: !2142)
  15965. !2549 = !DILocation(line: 189, column: 78, scope: !2142)
  15966. !2550 = !DILocation(line: 189, column: 86, scope: !2142)
  15967. !2551 = !DILocation(line: 189, column: 84, scope: !2142)
  15968. !2552 = !DILocation(line: 189, column: 5, scope: !2142)
  15969. !2553 = !DILocation(line: 190, column: 5, scope: !2145)
  15970. !2554 = !DILocation(line: 191, column: 9, scope: !2555)
  15971. !2555 = distinct !DILexicalBlock(scope: !2556, file: !259, line: 190, column: 26)
  15972. !2556 = distinct !DILexicalBlock(scope: !2145, file: !259, line: 190, column: 5)
  15973. !2557 = !DILocation(line: 191, column: 16, scope: !2555)
  15974. !2558 = !DILocation(line: 191, column: 14, scope: !2555)
  15975. !2559 = !DILocation(line: 193, column: 12, scope: !2145)
  15976. !2560 = !DILocation(line: 193, column: 5, scope: !2145)
  15977. !2561 = distinct !DISubprogram(name: "__udivti3", scope: !244, file: !244, line: 5, type: !2562, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !2564)
  15978. !2562 = !DISubroutineType(types: !2563)
  15979. !2563 = !{!181, !181, !181}
  15980. !2564 = !{!2565, !2566}
  15981. !2565 = !DILocalVariable(name: "a", arg: 1, scope: !2561, file: !244, line: 5, type: !181)
  15982. !2566 = !DILocalVariable(name: "b", arg: 2, scope: !2567, file: !244, line: 5, type: !181)
  15983. !2567 = distinct !DILexicalBlock(scope: !2561, file: !244, line: 5, column: 21)
  15984. !2568 = !DILocation(line: 5, column: 21, scope: !2561)
  15985. !2569 = !DILocation(line: 5, column: 30, scope: !2567)
  15986. !2570 = !DILocation(line: 8, column: 25, scope: !2571)
  15987. !2571 = distinct !DILexicalBlock(scope: !2572, file: !244, line: 5, column: 47)
  15988. !2572 = distinct !DILexicalBlock(scope: !2567, file: !244, line: 5, column: 30)
  15989. !2573 = !DILocation(line: 8, column: 28, scope: !2571)
  15990. !2574 = !DILocation(line: 8, column: 24, scope: !2571)
  15991. !2575 = !DILocation(line: 8, column: 5, scope: !2571)
  15992. !2576 = distinct !DISubprogram(name: "__umodti3", scope: !247, file: !247, line: 5, type: !2562, isLocal: false, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !2577)
  15993. !2577 = !{!2578, !2579, !2581}
  15994. !2578 = !DILocalVariable(name: "a", arg: 1, scope: !2576, file: !247, line: 5, type: !181)
  15995. !2579 = !DILocalVariable(name: "b", arg: 2, scope: !2580, file: !247, line: 5, type: !181)
  15996. !2580 = distinct !DILexicalBlock(scope: !2576, file: !247, line: 5, column: 21)
  15997. !2581 = !DILocalVariable(name: "r", scope: !2582, file: !247, line: 8, type: !181)
  15998. !2582 = distinct !DILexicalBlock(scope: !2583, file: !247, line: 5, column: 47)
  15999. !2583 = distinct !DILexicalBlock(scope: !2580, file: !247, line: 5, column: 30)
  16000. !2584 = !DILocation(line: 5, column: 21, scope: !2576)
  16001. !2585 = !DILocation(line: 5, column: 30, scope: !2580)
  16002. !2586 = !DILocation(line: 8, column: 5, scope: !2582)
  16003. !2587 = !DILocation(line: 9, column: 22, scope: !2588)
  16004. !2588 = distinct !DILexicalBlock(scope: !2582, file: !247, line: 8, column: 5)
  16005. !2589 = !DILocation(line: 9, column: 25, scope: !2588)
  16006. !2590 = !DILocation(line: 9, column: 21, scope: !2588)
  16007. !2591 = !DILocation(line: 10, column: 12, scope: !2588)
  16008. !2592 = !DILocation(line: 10, column: 5, scope: !2588)
  16009. !2593 = distinct !DISubprogram(name: "_aulldiv", scope: !250, file: !250, line: 5, type: !375, isLocal: true, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !377)
  16010. !2594 = !DILocation(line: 65, column: 5, scope: !2595)
  16011. !2595 = distinct !DILexicalBlock(scope: !2593, file: !250, line: 5, column: 30)
  16012. !2596 = distinct !DISubprogram(name: "_aullrem", scope: !253, file: !253, line: 5, type: !375, isLocal: true, isDefinition: true, scopeLine: 5, isOptimized: false, unit: !1, variables: !377)
  16013. !2597 = !DILocation(line: 66, column: 5, scope: !2598)
  16014. !2598 = distinct !DILexicalBlock(scope: !2596, file: !253, line: 5, column: 30)
  16015. !2599 = distinct !DISubprogram(name: "isArmArch", scope: !152, file: !152, line: 76, type: !2600, isLocal: true, isDefinition: true, scopeLine: 76, isOptimized: false, unit: !1, variables: !377)
  16016. !2600 = !DISubroutineType(types: !2601)
  16017. !2601 = !{!149}
  16018. !2602 = !DILocation(line: 77, column: 5, scope: !2603)
  16019. !2603 = distinct !DILexicalBlock(scope: !2599, file: !152, line: 76, column: 24)
Add Comment
Please, Sign In to add comment