sebikul

Untitled

May 25th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.74 KB | None | 0 0
  1. gb.jit: using LLVM 3.1.
  2. ------------------------------------------------------------------------
  3. gb.jit: dumping function Main.Main:
  4. ------------------------------------------------------------------------
  5. ; ModuleID = 'jit_mod'
  6. target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
  7. target triple = "i386-unknown-linux-gnu"
  8.  
  9. %Class = type { i32, i8* }
  10. %Value = type { i32, i32, i32, i32 }
  11. %ValueObject = type { i8*, i8*, i8* }
  12. %Null = type { i32 }
  13. %Object = type { i8*, i8* }
  14. %OBJECT = type { i8*, i32 }
  15. %String = type { i32, i8*, i32, i32 }
  16. %Void = type { i32, i32, i32, i32 }
  17.  
  18. define void @func_0_Main_0() {
  19. entry:
  20. store i8 0, i8* inttoptr (i32 147667500 to i8*)
  21. %0 = load %Class** inttoptr (i32 134824624 to %Class**)
  22. %1 = getelementptr %Class* %0, i32 0, i32 0
  23. store i32 14, i32* %1
  24. %2 = getelementptr %Class* %0, i32 0, i32 1
  25. store i8* inttoptr (i32 145644220 to i8*), i8** %2
  26. %3 = load %Value** inttoptr (i32 134824624 to %Value**)
  27. %4 = getelementptr %Value* %3, i32 1
  28. store %Value* %4, %Value** inttoptr (i32 134824624 to %Value**)
  29. store i32 147630522, i32* inttoptr (i32 134824656 to i32*)
  30. tail call void @EXEC_new()
  31. %5 = load %Value** inttoptr (i32 134824624 to %Value**)
  32. %6 = getelementptr %Value* %5, i32 -1
  33. %7 = bitcast %Value* %6 to %ValueObject*
  34. %8 = bitcast %Value* %6 to %Null*
  35. %9 = getelementptr %Null* %8, i32 0, i32 0
  36. %10 = load i32* %9
  37. %11 = icmp eq i32 %10, 15
  38. %12 = getelementptr %ValueObject* %7, i32 0, i32 1
  39. %13 = load i8** %12
  40. %14 = getelementptr %ValueObject* %7, i32 0, i32 0
  41. %15 = load i8** %14
  42. %16 = insertvalue %Object undef, i8* %15, 0
  43. %17 = insertvalue %Object %16, i8* %13, 1
  44. %18 = select i1 %11, %Object { i8* inttoptr (i32 145644220 to i8*), i8* null }, %Object %17
  45. %19 = load i8** inttoptr (i32 147667504 to i8**)
  46. %20 = icmp eq i8* %19, null
  47. br i1 %20, label %unref_done, label %obj_not_null
  48.  
  49. obj_not_null: ; preds = %entry
  50. %21 = bitcast i8* %19 to %OBJECT*
  51. %22 = getelementptr %OBJECT* %21, i32 0, i32 1
  52. %23 = load i32* %22
  53. %24 = add i32 %23, -1
  54. store i32 %24, i32* %22
  55. %25 = icmp slt i32 %24, 1
  56. br i1 %25, label %release_obj, label %unref_done
  57.  
  58. release_obj: ; preds = %obj_not_null
  59. tail call void @CLASS_free(i8* %19)
  60. br label %unref_done
  61.  
  62. unref_done: ; preds = %entry, %release_obj, %obj_not_null
  63. %26 = extractvalue %Object %18, 1
  64. store i8* %26, i8** inttoptr (i32 147667504 to i8**)
  65. %27 = load %Value** inttoptr (i32 134824624 to %Value**)
  66. %28 = getelementptr %Value* %27, i32 -1
  67. store %Value* %28, %Value** inttoptr (i32 134824624 to %Value**)
  68. %29 = load %Class** inttoptr (i32 134824624 to %Class**)
  69. %30 = getelementptr %Class* %29, i32 0, i32 0
  70. store i32 14, i32* %30
  71. %31 = getelementptr %Class* %29, i32 0, i32 1
  72. store i8* inttoptr (i32 145657404 to i8*), i8** %31
  73. %32 = load %Value** inttoptr (i32 134824624 to %Value**)
  74. %33 = getelementptr %Value* %32, i32 1
  75. store %Value* %33, %Value** inttoptr (i32 134824624 to %Value**)
  76. store i32 147630528, i32* inttoptr (i32 134824656 to i32*)
  77. tail call void @EXEC_new()
  78. %34 = load %Value** inttoptr (i32 134824624 to %Value**)
  79. %35 = getelementptr %Value* %34, i32 -1
  80. %36 = bitcast %Value* %35 to %ValueObject*
  81. %37 = bitcast %Value* %35 to %Null*
  82. %38 = getelementptr %Null* %37, i32 0, i32 0
  83. %39 = load i32* %38
  84. %40 = icmp eq i32 %39, 15
  85. %41 = getelementptr %ValueObject* %36, i32 0, i32 1
  86. %42 = load i8** %41
  87. %43 = getelementptr %ValueObject* %36, i32 0, i32 0
  88. %44 = load i8** %43
  89. %45 = insertvalue %Object undef, i8* %44, 0
  90. %46 = insertvalue %Object %45, i8* %42, 1
  91. %47 = select i1 %40, %Object { i8* inttoptr (i32 145657404 to i8*), i8* null }, %Object %46
  92. %48 = load i8** inttoptr (i32 147667508 to i8**)
  93. %49 = icmp eq i8* %48, null
  94. br i1 %49, label %unref_done4, label %obj_not_null1
  95.  
  96. obj_not_null1: ; preds = %unref_done
  97. %50 = bitcast i8* %48 to %OBJECT*
  98. %51 = getelementptr %OBJECT* %50, i32 0, i32 1
  99. %52 = load i32* %51
  100. %53 = add i32 %52, -1
  101. store i32 %53, i32* %51
  102. %54 = icmp slt i32 %53, 1
  103. br i1 %54, label %release_obj2, label %unref_done4
  104.  
  105. release_obj2: ; preds = %obj_not_null1
  106. tail call void @CLASS_free(i8* %48)
  107. br label %unref_done4
  108.  
  109. unref_done4: ; preds = %unref_done, %release_obj2, %obj_not_null1
  110. %55 = extractvalue %Object %47, 1
  111. store i8* %55, i8** inttoptr (i32 147667508 to i8**)
  112. %56 = load %Value** inttoptr (i32 134824624 to %Value**)
  113. %57 = getelementptr %Value* %56, i32 -1
  114. store %Value* %57, %Value** inttoptr (i32 134824624 to %Value**)
  115. %58 = load i8** inttoptr (i32 147667512 to i8**)
  116. %59 = icmp eq i8* %58, null
  117. br i1 %59, label %if.then7, label %str_not_null
  118.  
  119. str_not_null: ; preds = %unref_done4
  120. %60 = bitcast i8* %58 to i32*
  121. %61 = getelementptr i32* %60, i32 -2
  122. %62 = load i32* %61
  123. %63 = add i32 %62, -1
  124. store i32 %63, i32* %61
  125. %64 = icmp slt i32 %63, 1
  126. br i1 %64, label %release_str, label %if.then7
  127.  
  128. release_str: ; preds = %str_not_null
  129. tail call void @STRING_free_real(i8* %58)
  130. br label %if.then7
  131.  
  132. if.then7: ; preds = %str_not_null, %release_str, %unref_done4
  133. %65 = tail call i8* @STRING_new(i8* inttoptr (i32 147635962 to i8*), i32 28)
  134. %66 = tail call i8* @STRING_free_later(i8* %65)
  135. %67 = bitcast i8* %66 to i32*
  136. %68 = getelementptr i32* %67, i32 -2
  137. %69 = load i32* %68
  138. %70 = add i32 %69, 1
  139. store i32 %70, i32* %68
  140. store i8* %66, i8** inttoptr (i32 147667512 to i8**)
  141. %71 = load i8** inttoptr (i32 147667516 to i8**)
  142. %72 = icmp eq i8* %71, null
  143. br i1 %72, label %if.then20, label %str_not_null13
  144.  
  145. str_not_null13: ; preds = %if.then7
  146. %73 = bitcast i8* %71 to i32*
  147. %74 = getelementptr i32* %73, i32 -2
  148. %75 = load i32* %74
  149. %76 = add i32 %75, -1
  150. store i32 %76, i32* %74
  151. %77 = icmp slt i32 %76, 1
  152. br i1 %77, label %release_str14, label %if.then20
  153.  
  154. release_str14: ; preds = %str_not_null13
  155. tail call void @STRING_free_real(i8* %71)
  156. br label %if.then20
  157.  
  158. if.then20: ; preds = %str_not_null13, %release_str14, %if.then7
  159. %78 = tail call i8* @STRING_new(i8* inttoptr (i32 147635991 to i8*), i32 25)
  160. %79 = tail call i8* @STRING_free_later(i8* %78)
  161. %80 = bitcast i8* %79 to i32*
  162. %81 = getelementptr i32* %80, i32 -2
  163. %82 = load i32* %81
  164. %83 = add i32 %82, 1
  165. store i32 %83, i32* %81
  166. store i8* %79, i8** inttoptr (i32 147667516 to i8**)
  167. %84 = load i8** inttoptr (i32 147667520 to i8**)
  168. %85 = icmp eq i8* %84, null
  169. br i1 %85, label %if.then34, label %str_not_null27
  170.  
  171. str_not_null27: ; preds = %if.then20
  172. %86 = bitcast i8* %84 to i32*
  173. %87 = getelementptr i32* %86, i32 -2
  174. %88 = load i32* %87
  175. %89 = add i32 %88, -1
  176. store i32 %89, i32* %87
  177. %90 = icmp slt i32 %89, 1
  178. br i1 %90, label %release_str28, label %if.then34
  179.  
  180. release_str28: ; preds = %str_not_null27
  181. tail call void @STRING_free_real(i8* %84)
  182. br label %if.then34
  183.  
  184. if.then34: ; preds = %str_not_null27, %release_str28, %if.then20
  185. %91 = tail call i8* @STRING_new(i8* inttoptr (i32 147636017 to i8*), i32 30)
  186. %92 = tail call i8* @STRING_free_later(i8* %91)
  187. %93 = bitcast i8* %92 to i32*
  188. %94 = getelementptr i32* %93, i32 -2
  189. %95 = load i32* %94
  190. %96 = add i32 %95, 1
  191. store i32 %96, i32* %94
  192. store i8* %92, i8** inttoptr (i32 147667520 to i8**)
  193. %97 = tail call i8 @EXEC_call_native(i8* inttoptr (i32 134675000 to i8*), i8* null, i32 9, i8* null)
  194. %98 = icmp eq i8 %97, 0
  195. br i1 %98, label %if.cont42, label %if.then41
  196.  
  197. if.then41: ; preds = %if.then34
  198. tail call void @ERROR_propagate()
  199. unreachable
  200.  
  201. if.cont42: ; preds = %if.then34
  202. %99 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 0)
  203. %100 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 3)
  204. %101 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 2)
  205. %102 = load i8** getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 1)
  206. switch i32 %99, label %str_borrow_done [
  207. i32 12, label %bb1
  208. i32 9, label %borrow_T_STRING
  209. ]
  210.  
  211. bb1: ; preds = %if.cont42
  212. tail call void @abort()
  213. unreachable
  214.  
  215. borrow_T_STRING: ; preds = %if.cont42
  216. %103 = icmp eq i8* %102, null
  217. br i1 %103, label %str_borrow_done, label %str_not_null43
  218.  
  219. str_not_null43: ; preds = %borrow_T_STRING
  220. %104 = bitcast i8* %102 to i32*
  221. %105 = getelementptr i32* %104, i32 -2
  222. %106 = load i32* %105
  223. %107 = add i32 %106, 1
  224. store i32 %107, i32* %105
  225. br label %str_borrow_done
  226.  
  227. str_borrow_done: ; preds = %if.cont42, %borrow_T_STRING, %str_not_null43
  228. %108 = load %Value** inttoptr (i32 134824624 to %Value**)
  229. %109 = bitcast %Value* %108 to %String*
  230. %110 = getelementptr %String* %109, i32 0, i32 0
  231. store i32 %99, i32* %110
  232. %111 = getelementptr %String* %109, i32 0, i32 1
  233. store i8* %102, i8** %111
  234. %112 = getelementptr %String* %109, i32 0, i32 2
  235. store i32 %101, i32* %112
  236. %113 = getelementptr %String* %109, i32 0, i32 3
  237. store i32 %100, i32* %113
  238. %114 = getelementptr %Value* %108, i32 1
  239. %115 = bitcast %Value* %114 to %String*
  240. %116 = getelementptr %String* %115, i32 0, i32 0
  241. store i32 10, i32* %116
  242. %117 = getelementptr %String* %115, i32 0, i32 1
  243. store i8* inttoptr (i32 147636048 to i8*), i8** %117
  244. %118 = getelementptr %String* %115, i32 0, i32 2
  245. store i32 0, i32* %118
  246. %119 = getelementptr %String* %115, i32 0, i32 3
  247. store i32 7, i32* %119
  248. %120 = getelementptr %Value* %108, i32 2
  249. store %Value* %120, %Value** inttoptr (i32 134824624 to %Value**)
  250. tail call void @SUBR_file(i16 2)
  251. %121 = load %Value** inttoptr (i32 134824624 to %Value**)
  252. %122 = getelementptr %Value* %121, i32 -1
  253. %123 = bitcast %Value* %122 to %String*
  254. %124 = getelementptr %String* %123, i32 0, i32 0
  255. %125 = load i32* %124
  256. %126 = getelementptr %String* %123, i32 0, i32 3
  257. %127 = load i32* %126
  258. %128 = getelementptr %String* %123, i32 0, i32 2
  259. %129 = load i32* %128
  260. %130 = getelementptr %String* %123, i32 0, i32 1
  261. %131 = load i8** %130
  262. %132 = icmp eq i32 %125, 12
  263. br i1 %132, label %bb144, label %bb245
  264.  
  265. bb144: ; preds = %str_borrow_done
  266. tail call void @abort()
  267. unreachable
  268.  
  269. bb245: ; preds = %str_borrow_done
  270. %133 = load i8** inttoptr (i32 147667524 to i8**)
  271. %134 = icmp eq i8* %133, null
  272. br i1 %134, label %unref_done49, label %str_not_null46
  273.  
  274. str_not_null46: ; preds = %bb245
  275. %135 = bitcast i8* %133 to i32*
  276. %136 = getelementptr i32* %135, i32 -2
  277. %137 = load i32* %136
  278. %138 = add i32 %137, -1
  279. store i32 %138, i32* %136
  280. %139 = icmp slt i32 %138, 1
  281. br i1 %139, label %release_str47, label %unref_done49
  282.  
  283. release_str47: ; preds = %str_not_null46
  284. tail call void @STRING_free_real(i8* %133)
  285. br label %unref_done49
  286.  
  287. unref_done49: ; preds = %bb245, %release_str47, %str_not_null46
  288. %140 = icmp eq i32 %127, 0
  289. br i1 %140, label %if.cont59, label %if.then50
  290.  
  291. if.then50: ; preds = %unref_done49
  292. %141 = icmp eq i32 %125, 9
  293. %142 = icmp eq i32 %129, 0
  294. %143 = and i1 %141, %142
  295. br i1 %143, label %and_if51, label %if.then53
  296.  
  297. and_if51: ; preds = %if.then50
  298. %144 = getelementptr i8* %131, i32 -4
  299. %145 = bitcast i8* %144 to i32*
  300. %146 = load i32* %145
  301. %phitmp196 = icmp eq i32 %146, %127
  302. br i1 %phitmp196, label %if.cont59, label %if.then53
  303.  
  304. if.then53: ; preds = %and_if51, %if.then50
  305. %147 = getelementptr i8* %131, i32 %129
  306. %148 = tail call i8* @STRING_new(i8* %147, i32 %127)
  307. %149 = tail call i8* @STRING_free_later(i8* %148)
  308. br i1 %141, label %if.then54, label %if.cont57
  309.  
  310. if.then54: ; preds = %if.then53
  311. %150 = bitcast i8* %131 to i32*
  312. %151 = getelementptr i32* %150, i32 -2
  313. %152 = load i32* %151
  314. %153 = add i32 %152, -1
  315. store i32 %153, i32* %151
  316. %154 = icmp slt i32 %153, 1
  317. br i1 %154, label %release_str55, label %if.cont57
  318.  
  319. release_str55: ; preds = %if.then54
  320. tail call void @STRING_free_real(i8* %131)
  321. br label %if.cont57
  322.  
  323. if.cont57: ; preds = %release_str55, %if.then54, %if.then53
  324. %155 = bitcast i8* %149 to i32*
  325. %156 = getelementptr i32* %155, i32 -2
  326. %157 = load i32* %156
  327. %158 = add i32 %157, 1
  328. store i32 %158, i32* %156
  329. br label %if.cont59
  330.  
  331. if.cont59: ; preds = %and_if51, %unref_done49, %if.cont57
  332. %159 = phi i8* [ null, %unref_done49 ], [ %149, %if.cont57 ], [ %131, %and_if51 ]
  333. store i8* %159, i8** inttoptr (i32 147667524 to i8**)
  334. %160 = load %Value** inttoptr (i32 134824624 to %Value**)
  335. %161 = getelementptr %Value* %160, i32 -1
  336. store %Value* %161, %Value** inttoptr (i32 134824624 to %Value**)
  337. %162 = tail call i8 @EXEC_call_native(i8* inttoptr (i32 134675000 to i8*), i8* null, i32 9, i8* null)
  338. %163 = icmp eq i8 %162, 0
  339. br i1 %163, label %if.cont61, label %if.then60
  340.  
  341. if.then60: ; preds = %if.cont59
  342. tail call void @ERROR_propagate()
  343. unreachable
  344.  
  345. if.cont61: ; preds = %if.cont59
  346. %164 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 0)
  347. %165 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 3)
  348. %166 = load i32* getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 2)
  349. %167 = load i8** getelementptr (%String* inttoptr (i32 134831588 to %String*), i32 0, i32 1)
  350. switch i32 %164, label %str_borrow_done67 [
  351. i32 12, label %bb162
  352. i32 9, label %borrow_T_STRING64
  353. ]
  354.  
  355. bb162: ; preds = %if.cont61
  356. tail call void @abort()
  357. unreachable
  358.  
  359. borrow_T_STRING64: ; preds = %if.cont61
  360. %168 = icmp eq i8* %167, null
  361. br i1 %168, label %str_borrow_done67, label %str_not_null65
  362.  
  363. str_not_null65: ; preds = %borrow_T_STRING64
  364. %169 = bitcast i8* %167 to i32*
  365. %170 = getelementptr i32* %169, i32 -2
  366. %171 = load i32* %170
  367. %172 = add i32 %171, 1
  368. store i32 %172, i32* %170
  369. br label %str_borrow_done67
  370.  
  371. str_borrow_done67: ; preds = %if.cont61, %borrow_T_STRING64, %str_not_null65
  372. %173 = load %Value** inttoptr (i32 134824624 to %Value**)
  373. %174 = bitcast %Value* %173 to %String*
  374. %175 = getelementptr %String* %174, i32 0, i32 0
  375. store i32 %164, i32* %175
  376. %176 = getelementptr %String* %174, i32 0, i32 1
  377. store i8* %167, i8** %176
  378. %177 = getelementptr %String* %174, i32 0, i32 2
  379. store i32 %166, i32* %177
  380. %178 = getelementptr %String* %174, i32 0, i32 3
  381. store i32 %165, i32* %178
  382. %179 = getelementptr %Value* %173, i32 1
  383. %180 = bitcast %Value* %179 to %String*
  384. %181 = getelementptr %String* %180, i32 0, i32 0
  385. store i32 10, i32* %181
  386. %182 = getelementptr %String* %180, i32 0, i32 1
  387. store i8* inttoptr (i32 147636056 to i8*), i8** %182
  388. %183 = getelementptr %String* %180, i32 0, i32 2
  389. store i32 0, i32* %183
  390. %184 = getelementptr %String* %180, i32 0, i32 3
  391. store i32 14, i32* %184
  392. %185 = getelementptr %Value* %173, i32 2
  393. store %Value* %185, %Value** inttoptr (i32 134824624 to %Value**)
  394. tail call void @SUBR_file(i16 2)
  395. %186 = load %Value** inttoptr (i32 134824624 to %Value**)
  396. %187 = getelementptr %Value* %186, i32 -1
  397. %188 = bitcast %Value* %187 to %String*
  398. %189 = getelementptr %String* %188, i32 0, i32 0
  399. %190 = load i32* %189
  400. %191 = getelementptr %String* %188, i32 0, i32 3
  401. %192 = load i32* %191
  402. %193 = getelementptr %String* %188, i32 0, i32 2
  403. %194 = load i32* %193
  404. %195 = getelementptr %String* %188, i32 0, i32 1
  405. %196 = load i8** %195
  406. %197 = icmp eq i32 %190, 12
  407. br i1 %197, label %bb168, label %bb269
  408.  
  409. bb168: ; preds = %str_borrow_done67
  410. tail call void @abort()
  411. unreachable
  412.  
  413. bb269: ; preds = %str_borrow_done67
  414. %198 = load i8** inttoptr (i32 147667528 to i8**)
  415. %199 = icmp eq i8* %198, null
  416. br i1 %199, label %unref_done73, label %str_not_null70
  417.  
  418. str_not_null70: ; preds = %bb269
  419. %200 = bitcast i8* %198 to i32*
  420. %201 = getelementptr i32* %200, i32 -2
  421. %202 = load i32* %201
  422. %203 = add i32 %202, -1
  423. store i32 %203, i32* %201
  424. %204 = icmp slt i32 %203, 1
  425. br i1 %204, label %release_str71, label %unref_done73
  426.  
  427. release_str71: ; preds = %str_not_null70
  428. tail call void @STRING_free_real(i8* %198)
  429. br label %unref_done73
  430.  
  431. unref_done73: ; preds = %bb269, %release_str71, %str_not_null70
  432. %205 = icmp eq i32 %192, 0
  433. br i1 %205, label %if.cont83, label %if.then74
  434.  
  435. if.then74: ; preds = %unref_done73
  436. %206 = icmp eq i32 %190, 9
  437. %207 = icmp eq i32 %194, 0
  438. %208 = and i1 %206, %207
  439. br i1 %208, label %and_if75, label %if.then77
  440.  
  441. and_if75: ; preds = %if.then74
  442. %209 = getelementptr i8* %196, i32 -4
  443. %210 = bitcast i8* %209 to i32*
  444. %211 = load i32* %210
  445. %phitmp = icmp eq i32 %211, %192
  446. br i1 %phitmp, label %if.cont83, label %if.then77
  447.  
  448. if.then77: ; preds = %and_if75, %if.then74
  449. %212 = getelementptr i8* %196, i32 %194
  450. %213 = tail call i8* @STRING_new(i8* %212, i32 %192)
  451. %214 = tail call i8* @STRING_free_later(i8* %213)
  452. br i1 %206, label %if.then78, label %if.cont81
  453.  
  454. if.then78: ; preds = %if.then77
  455. %215 = bitcast i8* %196 to i32*
  456. %216 = getelementptr i32* %215, i32 -2
  457. %217 = load i32* %216
  458. %218 = add i32 %217, -1
  459. store i32 %218, i32* %216
  460. %219 = icmp slt i32 %218, 1
  461. br i1 %219, label %release_str79, label %if.cont81
  462.  
  463. release_str79: ; preds = %if.then78
  464. tail call void @STRING_free_real(i8* %196)
  465. br label %if.cont81
  466.  
  467. if.cont81: ; preds = %release_str79, %if.then78, %if.then77
  468. %220 = bitcast i8* %214 to i32*
  469. %221 = getelementptr i32* %220, i32 -2
  470. %222 = load i32* %221
  471. %223 = add i32 %222, 1
  472. store i32 %223, i32* %221
  473. br label %if.cont83
  474.  
  475. if.cont83: ; preds = %and_if75, %unref_done73, %if.cont81
  476. %224 = phi i8* [ null, %unref_done73 ], [ %214, %if.cont81 ], [ %196, %and_if75 ]
  477. store i8* %224, i8** inttoptr (i32 147667528 to i8**)
  478. %225 = load %Value** inttoptr (i32 134824624 to %Value**)
  479. %226 = getelementptr %Value* %225, i32 -1
  480. store %Value* %226, %Value** inttoptr (i32 134824624 to %Value**)
  481. %227 = load i8** inttoptr (i32 147667532 to i8**)
  482. %228 = icmp eq i8* %227, null
  483. br i1 %228, label %if.then91, label %str_not_null84
  484.  
  485. str_not_null84: ; preds = %if.cont83
  486. %229 = bitcast i8* %227 to i32*
  487. %230 = getelementptr i32* %229, i32 -2
  488. %231 = load i32* %230
  489. %232 = add i32 %231, -1
  490. store i32 %232, i32* %230
  491. %233 = icmp slt i32 %232, 1
  492. br i1 %233, label %release_str85, label %if.then91
  493.  
  494. release_str85: ; preds = %str_not_null84
  495. tail call void @STRING_free_real(i8* %227)
  496. br label %if.then91
  497.  
  498. if.then91: ; preds = %str_not_null84, %release_str85, %if.cont83
  499. %234 = tail call i8* @STRING_new(i8* inttoptr (i32 147636071 to i8*), i32 7)
  500. %235 = tail call i8* @STRING_free_later(i8* %234)
  501. %236 = bitcast i8* %235 to i32*
  502. %237 = getelementptr i32* %236, i32 -2
  503. %238 = load i32* %237
  504. %239 = add i32 %238, 1
  505. store i32 %239, i32* %237
  506. store i8* %235, i8** inttoptr (i32 147667532 to i8**)
  507. %240 = load i8** inttoptr (i32 147667536 to i8**)
  508. %241 = icmp eq i8* %240, null
  509. br i1 %241, label %if.then105, label %str_not_null98
  510.  
  511. str_not_null98: ; preds = %if.then91
  512. %242 = bitcast i8* %240 to i32*
  513. %243 = getelementptr i32* %242, i32 -2
  514. %244 = load i32* %243
  515. %245 = add i32 %244, -1
  516. store i32 %245, i32* %243
  517. %246 = icmp slt i32 %245, 1
  518. br i1 %246, label %release_str99, label %if.then105
  519.  
  520. release_str99: ; preds = %str_not_null98
  521. tail call void @STRING_free_real(i8* %240)
  522. br label %if.then105
  523.  
  524. if.then105: ; preds = %str_not_null98, %release_str99, %if.then91
  525. %247 = tail call i8* @STRING_new(i8* inttoptr (i32 147636079 to i8*), i32 7)
  526. %248 = tail call i8* @STRING_free_later(i8* %247)
  527. %249 = bitcast i8* %248 to i32*
  528. %250 = getelementptr i32* %249, i32 -2
  529. %251 = load i32* %250
  530. %252 = add i32 %251, 1
  531. store i32 %252, i32* %250
  532. store i8* %248, i8** inttoptr (i32 147667536 to i8**)
  533. %253 = load i8** inttoptr (i32 147667540 to i8**)
  534. %254 = icmp eq i8* %253, null
  535. br i1 %254, label %if.then119, label %str_not_null112
  536.  
  537. str_not_null112: ; preds = %if.then105
  538. %255 = bitcast i8* %253 to i32*
  539. %256 = getelementptr i32* %255, i32 -2
  540. %257 = load i32* %256
  541. %258 = add i32 %257, -1
  542. store i32 %258, i32* %256
  543. %259 = icmp slt i32 %258, 1
  544. br i1 %259, label %release_str113, label %if.then119
  545.  
  546. release_str113: ; preds = %str_not_null112
  547. tail call void @STRING_free_real(i8* %253)
  548. br label %if.then119
  549.  
  550. if.then119: ; preds = %str_not_null112, %release_str113, %if.then105
  551. %260 = tail call i8* @STRING_new(i8* inttoptr (i32 147636087 to i8*), i32 7)
  552. %261 = tail call i8* @STRING_free_later(i8* %260)
  553. %262 = bitcast i8* %261 to i32*
  554. %263 = getelementptr i32* %262, i32 -2
  555. %264 = load i32* %263
  556. %265 = add i32 %264, 1
  557. store i32 %265, i32* %263
  558. store i8* %261, i8** inttoptr (i32 147667540 to i8**)
  559. %266 = load i8** inttoptr (i32 147667544 to i8**)
  560. %267 = icmp eq i8* %266, null
  561. br i1 %267, label %if.then133, label %str_not_null126
  562.  
  563. str_not_null126: ; preds = %if.then119
  564. %268 = bitcast i8* %266 to i32*
  565. %269 = getelementptr i32* %268, i32 -2
  566. %270 = load i32* %269
  567. %271 = add i32 %270, -1
  568. store i32 %271, i32* %269
  569. %272 = icmp slt i32 %271, 1
  570. br i1 %272, label %release_str127, label %if.then133
  571.  
  572. release_str127: ; preds = %str_not_null126
  573. tail call void @STRING_free_real(i8* %266)
  574. br label %if.then133
  575.  
  576. if.then133: ; preds = %str_not_null126, %release_str127, %if.then119
  577. %273 = tail call i8* @STRING_new(i8* inttoptr (i32 147636095 to i8*), i32 11)
  578. %274 = tail call i8* @STRING_free_later(i8* %273)
  579. %275 = bitcast i8* %274 to i32*
  580. %276 = getelementptr i32* %275, i32 -2
  581. %277 = load i32* %276
  582. %278 = add i32 %277, 1
  583. store i32 %278, i32* %276
  584. store i8* %274, i8** inttoptr (i32 147667544 to i8**)
  585. %279 = load i8** inttoptr (i32 147667552 to i8**)
  586. %280 = icmp eq i8* %279, null
  587. br i1 %280, label %if.then147, label %str_not_null140
  588.  
  589. str_not_null140: ; preds = %if.then133
  590. %281 = bitcast i8* %279 to i32*
  591. %282 = getelementptr i32* %281, i32 -2
  592. %283 = load i32* %282
  593. %284 = add i32 %283, -1
  594. store i32 %284, i32* %282
  595. %285 = icmp slt i32 %284, 1
  596. br i1 %285, label %release_str141, label %if.then147
  597.  
  598. release_str141: ; preds = %str_not_null140
  599. tail call void @STRING_free_real(i8* %279)
  600. br label %if.then147
  601.  
  602. if.then147: ; preds = %str_not_null140, %release_str141, %if.then133
  603. %286 = tail call i8* @STRING_new(i8* inttoptr (i32 147636107 to i8*), i32 45)
  604. %287 = tail call i8* @STRING_free_later(i8* %286)
  605. %288 = bitcast i8* %287 to i32*
  606. %289 = getelementptr i32* %288, i32 -2
  607. %290 = load i32* %289
  608. %291 = add i32 %290, 1
  609. store i32 %291, i32* %289
  610. store i8* %287, i8** inttoptr (i32 147667552 to i8**)
  611. %292 = load i8** inttoptr (i32 147667556 to i8**)
  612. %293 = icmp eq i8* %292, null
  613. br i1 %293, label %if.then161, label %str_not_null154
  614.  
  615. str_not_null154: ; preds = %if.then147
  616. %294 = bitcast i8* %292 to i32*
  617. %295 = getelementptr i32* %294, i32 -2
  618. %296 = load i32* %295
  619. %297 = add i32 %296, -1
  620. store i32 %297, i32* %295
  621. %298 = icmp slt i32 %297, 1
  622. br i1 %298, label %release_str155, label %if.then161
  623.  
  624. release_str155: ; preds = %str_not_null154
  625. tail call void @STRING_free_real(i8* %292)
  626. br label %if.then161
  627.  
  628. if.then161: ; preds = %str_not_null154, %release_str155, %if.then147
  629. %299 = tail call i8* @STRING_new(i8* inttoptr (i32 147636153 to i8*), i32 46)
  630. %300 = tail call i8* @STRING_free_later(i8* %299)
  631. %301 = bitcast i8* %300 to i32*
  632. %302 = getelementptr i32* %301, i32 -2
  633. %303 = load i32* %302
  634. %304 = add i32 %303, 1
  635. store i32 %304, i32* %302
  636. store i8* %300, i8** inttoptr (i32 147667556 to i8**)
  637. %305 = load i8** inttoptr (i32 147667560 to i8**)
  638. %306 = icmp eq i8* %305, null
  639. br i1 %306, label %if.then175, label %str_not_null168
  640.  
  641. str_not_null168: ; preds = %if.then161
  642. %307 = bitcast i8* %305 to i32*
  643. %308 = getelementptr i32* %307, i32 -2
  644. %309 = load i32* %308
  645. %310 = add i32 %309, -1
  646. store i32 %310, i32* %308
  647. %311 = icmp slt i32 %310, 1
  648. br i1 %311, label %release_str169, label %if.then175
  649.  
  650. release_str169: ; preds = %str_not_null168
  651. tail call void @STRING_free_real(i8* %305)
  652. br label %if.then175
  653.  
  654. if.then175: ; preds = %str_not_null168, %release_str169, %if.then161
  655. %312 = tail call i8* @STRING_new(i8* inttoptr (i32 147636200 to i8*), i32 46)
  656. %313 = tail call i8* @STRING_free_later(i8* %312)
  657. %314 = bitcast i8* %313 to i32*
  658. %315 = getelementptr i32* %314, i32 -2
  659. %316 = load i32* %315
  660. %317 = add i32 %316, 1
  661. store i32 %317, i32* %315
  662. store i8* %313, i8** inttoptr (i32 147667560 to i8**)
  663. %318 = load i8** inttoptr (i32 147667564 to i8**)
  664. %319 = icmp eq i8* %318, null
  665. br i1 %319, label %if.then189, label %str_not_null182
  666.  
  667. str_not_null182: ; preds = %if.then175
  668. %320 = bitcast i8* %318 to i32*
  669. %321 = getelementptr i32* %320, i32 -2
  670. %322 = load i32* %321
  671. %323 = add i32 %322, -1
  672. store i32 %323, i32* %321
  673. %324 = icmp slt i32 %323, 1
  674. br i1 %324, label %release_str183, label %if.then189
  675.  
  676. release_str183: ; preds = %str_not_null182
  677. tail call void @STRING_free_real(i8* %318)
  678. br label %if.then189
  679.  
  680. if.then189: ; preds = %str_not_null182, %release_str183, %if.then175
  681. %325 = tail call i8* @STRING_new(i8* inttoptr (i32 147636247 to i8*), i32 42)
  682. %326 = tail call i8* @STRING_free_later(i8* %325)
  683. %327 = bitcast i8* %326 to i32*
  684. %328 = getelementptr i32* %327, i32 -2
  685. %329 = load i32* %328
  686. %330 = add i32 %329, 1
  687. store i32 %330, i32* %328
  688. store i8* %326, i8** inttoptr (i32 147667564 to i8**)
  689. store i8 0, i8* inttoptr (i32 147667568 to i8*)
  690. store i32 0, i32* getelementptr (%Void* inttoptr (i32 134831564 to %Void*), i32 0, i32 0)
  691. tail call void @EXEC_leave_keep()
  692. ret void
  693. }
  694.  
  695. declare void @EXEC_new()
  696.  
  697. declare void @CLASS_free(i8*)
  698.  
  699. declare void @STRING_free_real(i8*)
  700.  
  701. declare i8* @STRING_new(i8*, i32)
  702.  
  703. declare i8* @STRING_free_later(i8*)
  704.  
  705. declare i8 @EXEC_call_native(i8*, i8*, i32, i8*)
  706.  
  707. declare void @ERROR_propagate()
  708.  
  709. declare void @abort()
  710.  
  711. declare void @SUBR_file(i16)
  712.  
  713. declare void @EXEC_leave_keep()
  714. ------------------------------------------------------------------------
  715.  
  716. gb.qt4: warning: unable to load Qt translation: es_ES.utf8
  717. 19PushClassExpression
  718. gbx3: jit.h:145: virtual llvm::Value* Expression::codegen_get_value(): Assertion `false && "codegen_get_value not done yet for this type"' failed.
Advertisement
Add Comment
Please, Sign In to add comment