Advertisement
Guest User

from clang+llvm

a guest
Nov 27th, 2014
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 90.08 KB | None | 0 0
  1. .section __TEXT,__text,regular,pure_instructions
  2. .macosx_version_min 10, 10
  3. .globl __Z8dyn_testv
  4. .align 4, 0x90
  5. __Z8dyn_testv: ## @_Z8dyn_testv
  6. .cfi_startproc
  7. .cfi_personality 155, ___gxx_personality_v0
  8. Leh_func_begin0:
  9. .cfi_lsda 16, Lexception0
  10. ## BB#0: ## %entry
  11. pushq %rbp
  12. Ltmp12:
  13. .cfi_def_cfa_offset 16
  14. Ltmp13:
  15. .cfi_offset %rbp, -16
  16. movq %rsp, %rbp
  17. Ltmp14:
  18. .cfi_def_cfa_register %rbp
  19. pushq %r15
  20. pushq %r14
  21. pushq %r13
  22. pushq %r12
  23. pushq %rbx
  24. subq $40, %rsp
  25. Ltmp15:
  26. .cfi_offset %rbx, -56
  27. Ltmp16:
  28. .cfi_offset %r12, -48
  29. Ltmp17:
  30. .cfi_offset %r13, -40
  31. Ltmp18:
  32. .cfi_offset %r14, -32
  33. Ltmp19:
  34. .cfi_offset %r15, -24
  35. xorps %xmm0, %xmm0
  36. movaps %xmm0, -64(%rbp)
  37. movq $0, -48(%rbp)
  38. xorl %ebx, %ebx
  39. movq __ZTV8int_type@GOTPCREL(%rip), %r13
  40. addq $16, %r13
  41. leaq -64(%rbp), %r12
  42. movq __ZTV10float_type@GOTPCREL(%rip), %r14
  43. addq $16, %r14
  44. leaq -80(%rbp), %r15
  45. .align 4, 0x90
  46. LBB0_1: ## %for.body
  47. ## =>This Inner Loop Header: Depth=1
  48. testb $1, %bl
  49. je LBB0_2
  50. ## BB#8: ## %if.else
  51. ## in Loop: Header=BB0_1 Depth=1
  52. Ltmp0:
  53. movl $16, %edi
  54. callq __Znwm
  55. Ltmp1:
  56. ## BB#9: ## %invoke.cont9
  57. ## in Loop: Header=BB0_1 Depth=1
  58. movq %r14, (%rax)
  59. movl $0, 8(%rax)
  60. movq %rax, -80(%rbp)
  61. movq -56(%rbp), %rcx
  62. cmpq -48(%rbp), %rcx
  63. jb LBB0_4
  64. ## BB#10: ## %if.else.i59
  65. ## in Loop: Header=BB0_1 Depth=1
  66. Ltmp2:
  67. movq %r12, %rdi
  68. movq %r15, %rsi
  69. callq __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP10float_typeEEEvDpOT_
  70. Ltmp3:
  71. jmp LBB0_11
  72. .align 4, 0x90
  73. LBB0_2: ## %if.then
  74. ## in Loop: Header=BB0_1 Depth=1
  75. Ltmp4:
  76. movl $16, %edi
  77. callq __Znwm
  78. Ltmp5:
  79. ## BB#3: ## %invoke.cont3
  80. ## in Loop: Header=BB0_1 Depth=1
  81. movq %r13, (%rax)
  82. movl $0, 8(%rax)
  83. movq %rax, -72(%rbp)
  84. movq -56(%rbp), %rcx
  85. cmpq -48(%rbp), %rcx
  86. jae LBB0_7
  87. LBB0_4: ## %if.then.i
  88. ## in Loop: Header=BB0_1 Depth=1
  89. testq %rcx, %rcx
  90. je LBB0_6
  91. ## BB#5: ## %new.notnull.i.i.i.i
  92. ## in Loop: Header=BB0_1 Depth=1
  93. movq %rax, (%rcx)
  94. LBB0_6: ## %_ZNSt3__116allocator_traitsINS_9allocatorINS_10unique_ptrI10value_typeNS_14default_deleteIS3_EEEEEEE9constructIS6_JP8int_typeEEEvRS7_PT_DpOT0_.exit.i
  95. ## in Loop: Header=BB0_1 Depth=1
  96. addq $8, %rcx
  97. movq %rcx, -56(%rbp)
  98. jmp LBB0_11
  99. LBB0_7: ## %if.else.i
  100. ## in Loop: Header=BB0_1 Depth=1
  101. Ltmp6:
  102. movq %r12, %rdi
  103. leaq -72(%rbp), %rsi
  104. callq __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP8int_typeEEEvDpOT_
  105. Ltmp7:
  106. .align 4, 0x90
  107. LBB0_11: ## %for.inc
  108. ## in Loop: Header=BB0_1 Depth=1
  109. incl %ebx
  110. cmpl $1024, %ebx ## imm = 0x400
  111. jl LBB0_1
  112. ## BB#12: ## %for.cond12.preheader
  113. xorl %r14d, %r14d
  114. movq -64(%rbp), %rbx
  115. LBB0_13: ## %for.body14
  116. ## =>This Loop Header: Depth=1
  117. ## Child Loop BB0_14 Depth 2
  118. movq -56(%rbp), %r15
  119. cmpq %r15, %rbx
  120. je LBB0_17
  121. .align 4, 0x90
  122. LBB0_14: ## %for.body.i
  123. ## Parent Loop BB0_13 Depth=1
  124. ## => This Inner Loop Header: Depth=2
  125. movq (%rbx), %rdi
  126. movq (%rdi), %rax
  127. movq 16(%rax), %rax
  128. Ltmp9:
  129. callq *%rax
  130. Ltmp10:
  131. ## BB#15: ## %.noexc62
  132. ## in Loop: Header=BB0_14 Depth=2
  133. addq $8, %rbx
  134. cmpq %rbx, %r15
  135. jne LBB0_14
  136. ## BB#16: ## %for.inc23.loopexit
  137. ## in Loop: Header=BB0_13 Depth=1
  138. movq -64(%rbp), %rbx
  139. LBB0_17: ## %for.inc23
  140. ## in Loop: Header=BB0_13 Depth=1
  141. incl %r14d
  142. cmpl $900000, %r14d ## imm = 0xDBBA0
  143. jl LBB0_13
  144. ## BB#18: ## %for.end25
  145. testq %rbx, %rbx
  146. je LBB0_24
  147. ## BB#19: ## %if.then.i.i.i36
  148. movq -56(%rbp), %rax
  149. cmpq %rbx, %rax
  150. je LBB0_23
  151. .align 4, 0x90
  152. LBB0_20: ## %while.body.i.i.i.i.i40
  153. ## =>This Inner Loop Header: Depth=1
  154. leaq -8(%rax), %rcx
  155. movq %rcx, -56(%rbp)
  156. movq -8(%rax), %rdi
  157. movq $0, -8(%rax)
  158. testq %rdi, %rdi
  159. je LBB0_21
  160. ## BB#34: ## %_ZNKSt3__114default_deleteI10value_typeEclEPS1_.exit.i.i.i.i.i.i.i.i.i.i.i45
  161. ## in Loop: Header=BB0_20 Depth=1
  162. movq (%rdi), %rax
  163. callq *8(%rax)
  164. LBB0_21: ## %while.cond.backedge.i.i.i.i.i42
  165. ## in Loop: Header=BB0_20 Depth=1
  166. movq -56(%rbp), %rax
  167. cmpq %rbx, %rax
  168. jne LBB0_20
  169. ## BB#22: ## %_ZNSt3__113__vector_baseINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE5clearEv.exit.loopexit.i.i.i48
  170. movq -64(%rbp), %rbx
  171. LBB0_23: ## %_ZNSt3__113__vector_baseINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE5clearEv.exit.i.i.i49
  172. movq %rbx, %rdi
  173. callq __ZdlPv
  174. LBB0_24: ## %_ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEED1Ev.exit50
  175. addq $40, %rsp
  176. popq %rbx
  177. popq %r12
  178. popq %r13
  179. popq %r14
  180. popq %r15
  181. popq %rbp
  182. retq
  183. LBB0_26: ## %ehcleanup.nonloopexit
  184. Ltmp8:
  185. jmp LBB0_27
  186. LBB0_25: ## %ehcleanup.loopexit
  187. Ltmp11:
  188. LBB0_27: ## %ehcleanup
  189. movq %rax, %r14
  190. movq -64(%rbp), %rbx
  191. testq %rbx, %rbx
  192. je LBB0_33
  193. ## BB#28: ## %if.then.i.i.i
  194. movq -56(%rbp), %rax
  195. cmpq %rbx, %rax
  196. je LBB0_32
  197. .align 4, 0x90
  198. LBB0_29: ## %while.body.i.i.i.i.i
  199. ## =>This Inner Loop Header: Depth=1
  200. leaq -8(%rax), %rcx
  201. movq %rcx, -56(%rbp)
  202. movq -8(%rax), %rdi
  203. movq $0, -8(%rax)
  204. testq %rdi, %rdi
  205. je LBB0_30
  206. ## BB#35: ## %_ZNKSt3__114default_deleteI10value_typeEclEPS1_.exit.i.i.i.i.i.i.i.i.i.i.i
  207. ## in Loop: Header=BB0_29 Depth=1
  208. movq (%rdi), %rax
  209. callq *8(%rax)
  210. LBB0_30: ## %while.cond.backedge.i.i.i.i.i
  211. ## in Loop: Header=BB0_29 Depth=1
  212. movq -56(%rbp), %rax
  213. cmpq %rbx, %rax
  214. jne LBB0_29
  215. ## BB#31: ## %_ZNSt3__113__vector_baseINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE5clearEv.exit.loopexit.i.i.i
  216. movq -64(%rbp), %rbx
  217. LBB0_32: ## %_ZNSt3__113__vector_baseINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE5clearEv.exit.i.i.i
  218. movq %rbx, %rdi
  219. callq __ZdlPv
  220. LBB0_33: ## %_ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEED1Ev.exit
  221. movq %r14, %rdi
  222. callq __Unwind_Resume
  223. .cfi_endproc
  224. Leh_func_end0:
  225. .section __TEXT,__gcc_except_tab
  226. .align 2
  227. GCC_except_table0:
  228. Lexception0:
  229. .byte 255 ## @LPStart Encoding = omit
  230. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  231. .byte 41 ## @TType base offset
  232. .byte 3 ## Call site Encoding = udata4
  233. .byte 39 ## Call site table length
  234. Lset0 = Ltmp0-Leh_func_begin0 ## >> Call Site 1 <<
  235. .long Lset0
  236. Lset1 = Ltmp7-Ltmp0 ## Call between Ltmp0 and Ltmp7
  237. .long Lset1
  238. Lset2 = Ltmp8-Leh_func_begin0 ## jumps to Ltmp8
  239. .long Lset2
  240. .byte 0 ## On action: cleanup
  241. Lset3 = Ltmp9-Leh_func_begin0 ## >> Call Site 2 <<
  242. .long Lset3
  243. Lset4 = Ltmp10-Ltmp9 ## Call between Ltmp9 and Ltmp10
  244. .long Lset4
  245. Lset5 = Ltmp11-Leh_func_begin0 ## jumps to Ltmp11
  246. .long Lset5
  247. .byte 0 ## On action: cleanup
  248. Lset6 = Ltmp10-Leh_func_begin0 ## >> Call Site 3 <<
  249. .long Lset6
  250. Lset7 = Leh_func_end0-Ltmp10 ## Call between Ltmp10 and Leh_func_end0
  251. .long Lset7
  252. .long 0 ## has no landing pad
  253. .byte 0 ## On action: cleanup
  254. .align 2
  255.  
  256. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  257. .globl __ZdlPvm
  258. .weak_definition __ZdlPvm
  259. .align 4, 0x90
  260. __ZdlPvm: ## @_ZdlPvm
  261. .cfi_startproc
  262. ## BB#0: ## %entry
  263. pushq %rbp
  264. Ltmp20:
  265. .cfi_def_cfa_offset 16
  266. Ltmp21:
  267. .cfi_offset %rbp, -16
  268. movq %rsp, %rbp
  269. Ltmp22:
  270. .cfi_def_cfa_register %rbp
  271. popq %rbp
  272. jmp __ZdlPv ## TAILCALL
  273. .cfi_endproc
  274.  
  275. .section __TEXT,__text,regular,pure_instructions
  276. .globl __Z11static_testv
  277. .align 4, 0x90
  278. __Z11static_testv: ## @_Z11static_testv
  279. .cfi_startproc
  280. .cfi_personality 155, ___gxx_personality_v0
  281. Leh_func_begin2:
  282. .cfi_lsda 16, Lexception2
  283. ## BB#0: ## %entry
  284. pushq %rbp
  285. Ltmp37:
  286. .cfi_def_cfa_offset 16
  287. Ltmp38:
  288. .cfi_offset %rbp, -16
  289. movq %rsp, %rbp
  290. Ltmp39:
  291. .cfi_def_cfa_register %rbp
  292. pushq %r15
  293. pushq %r14
  294. pushq %r12
  295. pushq %rbx
  296. subq $64, %rsp
  297. Ltmp40:
  298. .cfi_offset %rbx, -48
  299. Ltmp41:
  300. .cfi_offset %r12, -40
  301. Ltmp42:
  302. .cfi_offset %r14, -32
  303. Ltmp43:
  304. .cfi_offset %r15, -24
  305. xorps %xmm0, %xmm0
  306. movaps %xmm0, -80(%rbp)
  307. movq $0, -64(%rbp)
  308. xorl %ebx, %ebx
  309. leaq -80(%rbp), %r12
  310. leaq -84(%rbp), %r14
  311. leaq -88(%rbp), %r15
  312. .align 4, 0x90
  313. LBB2_1: ## %for.body
  314. ## =>This Inner Loop Header: Depth=1
  315. testb $1, %bl
  316. je LBB2_2
  317. ## BB#16: ## %if.else
  318. ## in Loop: Header=BB2_1 Depth=1
  319. movl $0, -88(%rbp)
  320. movq -72(%rbp), %rax
  321. cmpq -64(%rbp), %rax
  322. jae LBB2_19
  323. ## BB#17: ## %if.then.i53
  324. ## in Loop: Header=BB2_1 Depth=1
  325. testq %rax, %rax
  326. je LBB2_5
  327. ## BB#18: ## %new.notnull.i.i.i.i55
  328. ## in Loop: Header=BB2_1 Depth=1
  329. movq $1, (%rax)
  330. jmp LBB2_5
  331. .align 4, 0x90
  332. LBB2_2: ## %if.then
  333. ## in Loop: Header=BB2_1 Depth=1
  334. movl $0, -84(%rbp)
  335. movq -72(%rbp), %rax
  336. cmpq -64(%rbp), %rax
  337. jae LBB2_6
  338. ## BB#3: ## %if.then.i
  339. ## in Loop: Header=BB2_1 Depth=1
  340. testq %rax, %rax
  341. je LBB2_5
  342. ## BB#4: ## %new.notnull.i.i.i.i
  343. ## in Loop: Header=BB2_1 Depth=1
  344. movq $0, (%rax)
  345. LBB2_5: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE9constructIS7_JiEEEvRS8_PT_DpOT0_.exit.i
  346. ## in Loop: Header=BB2_1 Depth=1
  347. addq $8, %rax
  348. movq %rax, -72(%rbp)
  349. jmp LBB2_20
  350. .align 4, 0x90
  351. LBB2_19: ## %if.else.i57
  352. ## in Loop: Header=BB2_1 Depth=1
  353. Ltmp23:
  354. movq %r12, %rdi
  355. movq %r15, %rsi
  356. callq __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJfEEEvDpOT_
  357. Ltmp24:
  358. jmp LBB2_20
  359. LBB2_6: ## %if.else.i
  360. ## in Loop: Header=BB2_1 Depth=1
  361. Ltmp25:
  362. movq %r12, %rdi
  363. movq %r14, %rsi
  364. callq __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJiEEEvDpOT_
  365. Ltmp26:
  366. .align 4, 0x90
  367. LBB2_20: ## %for.inc
  368. ## in Loop: Header=BB2_1 Depth=1
  369. incl %ebx
  370. cmpl $1024, %ebx ## imm = 0x400
  371. jl LBB2_1
  372. ## BB#21: ## %for.cond5.preheader
  373. xorl %r15d, %r15d
  374. movq -80(%rbp), %rbx
  375. leaq -40(%rbp), %r14
  376. LBB2_22: ## %for.body7
  377. ## =>This Loop Header: Depth=1
  378. ## Child Loop BB2_23 Depth 2
  379. movq -72(%rbp), %r12
  380. cmpq %r12, %rbx
  381. je LBB2_26
  382. .align 4, 0x90
  383. LBB2_23: ## %for.body.i
  384. ## Parent Loop BB2_22 Depth=1
  385. ## => This Inner Loop Header: Depth=2
  386. movl (%rbx), %edi
  387. movl %edi, %esi
  388. sarl $31, %esi
  389. xorl %edi, %esi
  390. addq $4, %rbx
  391. Ltmp28:
  392. xorl %r8d, %r8d
  393. xorl %r9d, %r9d
  394. movq %r14, %rdx
  395. movq %rbx, %rcx
  396. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_E18has_fallback_type_EEENT1_11result_typeEiiRSR_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  397. Ltmp29:
  398. ## BB#24: ## %.noexc60
  399. ## in Loop: Header=BB2_23 Depth=2
  400. addq $4, %rbx
  401. cmpq %r12, %rbx
  402. jne LBB2_23
  403. ## BB#25: ## %invoke.cont18.loopexit
  404. ## in Loop: Header=BB2_22 Depth=1
  405. movq -80(%rbp), %rbx
  406. LBB2_26: ## %invoke.cont18
  407. ## in Loop: Header=BB2_22 Depth=1
  408. incl %r15d
  409. cmpl $900000, %r15d ## imm = 0xDBBA0
  410. jl LBB2_22
  411. ## BB#27: ## %for.end23
  412. testq %rbx, %rbx
  413. je LBB2_34
  414. ## BB#28: ## %if.then.i.i.i
  415. movq -72(%rbp), %rcx
  416. cmpq %rbx, %rcx
  417. je LBB2_33
  418. ## BB#29: ## %while.body.lr.ph.i.i.i.i.i
  419. leaq -48(%rbp), %r14
  420. .align 4, 0x90
  421. LBB2_30: ## %while.body.i.i.i.i.i
  422. ## =>This Inner Loop Header: Depth=1
  423. leaq -8(%rcx), %rax
  424. movq %rax, -72(%rbp)
  425. movl -8(%rcx), %edi
  426. movl %edi, %esi
  427. sarl $31, %esi
  428. xorl %edi, %esi
  429. addq $-4, %rcx
  430. Ltmp34:
  431. xorl %r8d, %r8d
  432. xorl %r9d, %r9d
  433. movq %r14, %rdx
  434. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  435. Ltmp35:
  436. ## BB#31: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE7destroyIS7_EEvRS8_PT_.exit.i.i.i.i.i
  437. ## in Loop: Header=BB2_30 Depth=1
  438. movq -72(%rbp), %rcx
  439. cmpq %rbx, %rcx
  440. jne LBB2_30
  441. ## BB#32: ## %_ZNSt3__113__vector_baseIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE5clearEv.exit.loopexit.i.i.i
  442. movq -80(%rbp), %rbx
  443. LBB2_33: ## %_ZNSt3__113__vector_baseIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE5clearEv.exit.i.i.i
  444. movq %rbx, %rdi
  445. callq __ZdlPv
  446. LBB2_34: ## %_ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEED1Ev.exit
  447. addq $64, %rsp
  448. popq %rbx
  449. popq %r12
  450. popq %r14
  451. popq %r15
  452. popq %rbp
  453. retq
  454. LBB2_35: ## %lpad.loopexit
  455. Ltmp30:
  456. jmp LBB2_8
  457. LBB2_7: ## %lpad.nonloopexit
  458. Ltmp27:
  459. LBB2_8: ## %lpad
  460. movq %rax, %r14
  461. movq -80(%rbp), %rbx
  462. testq %rbx, %rbx
  463. je LBB2_15
  464. ## BB#9: ## %if.then.i.i.i34
  465. movq -72(%rbp), %rcx
  466. cmpq %rbx, %rcx
  467. je LBB2_14
  468. ## BB#10: ## %while.body.lr.ph.i.i.i.i.i35
  469. leaq -48(%rbp), %r15
  470. .align 4, 0x90
  471. LBB2_11: ## %while.body.i.i.i.i.i40
  472. ## =>This Inner Loop Header: Depth=1
  473. leaq -8(%rcx), %rax
  474. movq %rax, -72(%rbp)
  475. movl -8(%rcx), %edi
  476. movl %edi, %esi
  477. sarl $31, %esi
  478. xorl %edi, %esi
  479. addq $-4, %rcx
  480. Ltmp31:
  481. xorl %r8d, %r8d
  482. xorl %r9d, %r9d
  483. movq %r15, %rdx
  484. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  485. Ltmp32:
  486. ## BB#12: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE7destroyIS7_EEvRS8_PT_.exit.i.i.i.i.i43
  487. ## in Loop: Header=BB2_11 Depth=1
  488. movq -72(%rbp), %rcx
  489. cmpq %rbx, %rcx
  490. jne LBB2_11
  491. ## BB#13: ## %_ZNSt3__113__vector_baseIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE5clearEv.exit.loopexit.i.i.i46
  492. movq -80(%rbp), %rbx
  493. LBB2_14: ## %_ZNSt3__113__vector_baseIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE5clearEv.exit.i.i.i47
  494. movq %rbx, %rdi
  495. callq __ZdlPv
  496. LBB2_15: ## %_ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEED1Ev.exit48
  497. movq %r14, %rdi
  498. callq __Unwind_Resume
  499. LBB2_36: ## %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i41
  500. Ltmp33:
  501. movq %rax, %rdi
  502. callq ___clang_call_terminate
  503. LBB2_37: ## %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i
  504. Ltmp36:
  505. movq %rax, %rdi
  506. callq ___clang_call_terminate
  507. .cfi_endproc
  508. Leh_func_end2:
  509. .section __TEXT,__gcc_except_tab
  510. .align 2
  511. GCC_except_table2:
  512. Lexception2:
  513. .byte 255 ## @LPStart Encoding = omit
  514. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  515. .byte 73 ## @TType base offset
  516. .byte 3 ## Call site Encoding = udata4
  517. .byte 65 ## Call site table length
  518. Lset8 = Ltmp23-Leh_func_begin2 ## >> Call Site 1 <<
  519. .long Lset8
  520. Lset9 = Ltmp26-Ltmp23 ## Call between Ltmp23 and Ltmp26
  521. .long Lset9
  522. Lset10 = Ltmp27-Leh_func_begin2 ## jumps to Ltmp27
  523. .long Lset10
  524. .byte 0 ## On action: cleanup
  525. Lset11 = Ltmp28-Leh_func_begin2 ## >> Call Site 2 <<
  526. .long Lset11
  527. Lset12 = Ltmp29-Ltmp28 ## Call between Ltmp28 and Ltmp29
  528. .long Lset12
  529. Lset13 = Ltmp30-Leh_func_begin2 ## jumps to Ltmp30
  530. .long Lset13
  531. .byte 0 ## On action: cleanup
  532. Lset14 = Ltmp34-Leh_func_begin2 ## >> Call Site 3 <<
  533. .long Lset14
  534. Lset15 = Ltmp35-Ltmp34 ## Call between Ltmp34 and Ltmp35
  535. .long Lset15
  536. Lset16 = Ltmp36-Leh_func_begin2 ## jumps to Ltmp36
  537. .long Lset16
  538. .byte 1 ## On action: 1
  539. Lset17 = Ltmp31-Leh_func_begin2 ## >> Call Site 4 <<
  540. .long Lset17
  541. Lset18 = Ltmp32-Ltmp31 ## Call between Ltmp31 and Ltmp32
  542. .long Lset18
  543. Lset19 = Ltmp33-Leh_func_begin2 ## jumps to Ltmp33
  544. .long Lset19
  545. .byte 1 ## On action: 1
  546. Lset20 = Ltmp32-Leh_func_begin2 ## >> Call Site 5 <<
  547. .long Lset20
  548. Lset21 = Leh_func_end2-Ltmp32 ## Call between Ltmp32 and Leh_func_end2
  549. .long Lset21
  550. .long 0 ## has no landing pad
  551. .byte 0 ## On action: cleanup
  552. .byte 1 ## >> Action Record 1 <<
  553. ## Catch TypeInfo 1
  554. .byte 0 ## No further actions
  555. ## >> Catch TypeInfos <<
  556. .long 0 ## TypeInfo 1
  557. .align 2
  558.  
  559. .section __TEXT,__literal4,4byte_literals
  560. .align 2
  561. LCPI3_0:
  562. .long 1232348160 ## float 1.0E+6
  563. .section __TEXT,__text,regular,pure_instructions
  564. .globl _main
  565. .align 4, 0x90
  566. _main: ## @main
  567. .cfi_startproc
  568. .cfi_personality 155, ___gxx_personality_v0
  569. Leh_func_begin3:
  570. .cfi_lsda 16, Lexception3
  571. ## BB#0: ## %entry
  572. pushq %rbp
  573. Ltmp54:
  574. .cfi_def_cfa_offset 16
  575. Ltmp55:
  576. .cfi_offset %rbp, -16
  577. movq %rsp, %rbp
  578. Ltmp56:
  579. .cfi_def_cfa_register %rbp
  580. pushq %r14
  581. pushq %rbx
  582. subq $16, %rsp
  583. Ltmp57:
  584. .cfi_offset %rbx, -32
  585. Ltmp58:
  586. .cfi_offset %r14, -24
  587. movq __ZNSt3__14coutE@GOTPCREL(%rip), %rdi
  588. leaq L_.str(%rip), %rsi
  589. movl $14, %edx
  590. callq __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m
  591. movq %rax, %r14
  592. callq _clock
  593. movq %rax, %rbx
  594. callq __Z8dyn_testv
  595. callq _clock
  596. movq %rax, %rcx
  597. subq %rbx, %rcx
  598. subq %rbx, %rax
  599. js LBB3_1
  600. ## BB#2: ## %entry
  601. cvtsi2ssq %rax, %xmm0
  602. jmp LBB3_3
  603. LBB3_1:
  604. movq %rcx, %rax
  605. shrq %rax
  606. andq $1, %rcx
  607. orq %rax, %rcx
  608. cvtsi2ssq %rcx, %xmm0
  609. addss %xmm0, %xmm0
  610. LBB3_3: ## %entry
  611. divss LCPI3_0(%rip), %xmm0
  612. cvtss2sd %xmm0, %xmm0
  613. movq %r14, %rdi
  614. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEd
  615. movq %rax, %rbx
  616. movq (%rbx), %rax
  617. movq -24(%rax), %rsi
  618. addq %rbx, %rsi
  619. leaq -32(%rbp), %r14
  620. movq %r14, %rdi
  621. callq __ZNKSt3__18ios_base6getlocEv
  622. Ltmp44:
  623. movq __ZNSt3__15ctypeIcE2idE@GOTPCREL(%rip), %rsi
  624. movq %r14, %rdi
  625. callq __ZNKSt3__16locale9use_facetERNS0_2idE
  626. Ltmp45:
  627. ## BB#4: ## %invoke.cont.i
  628. movq (%rax), %rcx
  629. movq 56(%rcx), %rcx
  630. Ltmp46:
  631. movl $10, %esi
  632. movq %rax, %rdi
  633. callq *%rcx
  634. movb %al, %r14b
  635. Ltmp47:
  636. ## BB#5: ## %_ZNKSt3__19basic_iosIcNS_11char_traitsIcEEE5widenEc.exit
  637. leaq -32(%rbp), %rdi
  638. callq __ZNSt3__16localeD1Ev
  639. movsbl %r14b, %esi
  640. movq %rbx, %rdi
  641. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE3putEc
  642. movq %rbx, %rdi
  643. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv
  644. movq __ZNSt3__14coutE@GOTPCREL(%rip), %rdi
  645. leaq L_.str1(%rip), %rsi
  646. movl $16, %edx
  647. callq __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m
  648. movq %rax, %r14
  649. callq _clock
  650. movq %rax, %rbx
  651. callq __Z11static_testv
  652. callq _clock
  653. movq %rax, %rcx
  654. subq %rbx, %rcx
  655. subq %rbx, %rax
  656. js LBB3_6
  657. ## BB#7: ## %_ZNKSt3__19basic_iosIcNS_11char_traitsIcEEE5widenEc.exit
  658. cvtsi2ssq %rax, %xmm0
  659. jmp LBB3_8
  660. LBB3_6:
  661. movq %rcx, %rax
  662. shrq %rax
  663. andq $1, %rcx
  664. orq %rax, %rcx
  665. cvtsi2ssq %rcx, %xmm0
  666. addss %xmm0, %xmm0
  667. LBB3_8: ## %_ZNKSt3__19basic_iosIcNS_11char_traitsIcEEE5widenEc.exit
  668. divss LCPI3_0(%rip), %xmm0
  669. cvtss2sd %xmm0, %xmm0
  670. movq %r14, %rdi
  671. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEd
  672. movq %rax, %rbx
  673. movq (%rbx), %rax
  674. movq -24(%rax), %rsi
  675. addq %rbx, %rsi
  676. leaq -24(%rbp), %r14
  677. movq %r14, %rdi
  678. callq __ZNKSt3__18ios_base6getlocEv
  679. Ltmp49:
  680. movq __ZNSt3__15ctypeIcE2idE@GOTPCREL(%rip), %rsi
  681. movq %r14, %rdi
  682. callq __ZNKSt3__16locale9use_facetERNS0_2idE
  683. Ltmp50:
  684. ## BB#9: ## %invoke.cont.i34
  685. movq (%rax), %rcx
  686. movq 56(%rcx), %rcx
  687. Ltmp51:
  688. movl $10, %esi
  689. movq %rax, %rdi
  690. callq *%rcx
  691. movb %al, %r14b
  692. Ltmp52:
  693. ## BB#10: ## %_ZNKSt3__19basic_iosIcNS_11char_traitsIcEEE5widenEc.exit36
  694. leaq -24(%rbp), %rdi
  695. callq __ZNSt3__16localeD1Ev
  696. movsbl %r14b, %esi
  697. movq %rbx, %rdi
  698. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE3putEc
  699. movq %rbx, %rdi
  700. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv
  701. xorl %eax, %eax
  702. addq $16, %rsp
  703. popq %rbx
  704. popq %r14
  705. popq %rbp
  706. retq
  707. LBB3_11: ## %lpad.i
  708. Ltmp48:
  709. movq %rax, %rbx
  710. leaq -32(%rbp), %rdi
  711. jmp LBB3_12
  712. LBB3_13: ## %lpad.i35
  713. Ltmp53:
  714. movq %rax, %rbx
  715. leaq -24(%rbp), %rdi
  716. LBB3_12: ## %unwind_resume
  717. callq __ZNSt3__16localeD1Ev
  718. movq %rbx, %rdi
  719. callq __Unwind_Resume
  720. .cfi_endproc
  721. Leh_func_end3:
  722. .section __TEXT,__gcc_except_tab
  723. .align 2
  724. GCC_except_table3:
  725. Lexception3:
  726. .byte 255 ## @LPStart Encoding = omit
  727. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  728. .asciz "\303\200" ## @TType base offset
  729. .byte 3 ## Call site Encoding = udata4
  730. .byte 65 ## Call site table length
  731. Lset22 = Leh_func_begin3-Leh_func_begin3 ## >> Call Site 1 <<
  732. .long Lset22
  733. Lset23 = Ltmp44-Leh_func_begin3 ## Call between Leh_func_begin3 and Ltmp44
  734. .long Lset23
  735. .long 0 ## has no landing pad
  736. .byte 0 ## On action: cleanup
  737. Lset24 = Ltmp44-Leh_func_begin3 ## >> Call Site 2 <<
  738. .long Lset24
  739. Lset25 = Ltmp47-Ltmp44 ## Call between Ltmp44 and Ltmp47
  740. .long Lset25
  741. Lset26 = Ltmp48-Leh_func_begin3 ## jumps to Ltmp48
  742. .long Lset26
  743. .byte 0 ## On action: cleanup
  744. Lset27 = Ltmp47-Leh_func_begin3 ## >> Call Site 3 <<
  745. .long Lset27
  746. Lset28 = Ltmp49-Ltmp47 ## Call between Ltmp47 and Ltmp49
  747. .long Lset28
  748. .long 0 ## has no landing pad
  749. .byte 0 ## On action: cleanup
  750. Lset29 = Ltmp49-Leh_func_begin3 ## >> Call Site 4 <<
  751. .long Lset29
  752. Lset30 = Ltmp52-Ltmp49 ## Call between Ltmp49 and Ltmp52
  753. .long Lset30
  754. Lset31 = Ltmp53-Leh_func_begin3 ## jumps to Ltmp53
  755. .long Lset31
  756. .byte 0 ## On action: cleanup
  757. Lset32 = Ltmp52-Leh_func_begin3 ## >> Call Site 5 <<
  758. .long Lset32
  759. Lset33 = Leh_func_end3-Ltmp52 ## Call between Ltmp52 and Leh_func_end3
  760. .long Lset33
  761. .long 0 ## has no landing pad
  762. .byte 0 ## On action: cleanup
  763. .align 2
  764.  
  765. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  766. .globl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m
  767. .weak_def_can_be_hidden __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m
  768. .align 4, 0x90
  769. __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m: ## @_ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m
  770. .cfi_startproc
  771. .cfi_personality 155, ___gxx_personality_v0
  772. Leh_func_begin4:
  773. .cfi_lsda 16, Lexception4
  774. ## BB#0: ## %entry
  775. pushq %rbp
  776. Ltmp80:
  777. .cfi_def_cfa_offset 16
  778. Ltmp81:
  779. .cfi_offset %rbp, -16
  780. movq %rsp, %rbp
  781. Ltmp82:
  782. .cfi_def_cfa_register %rbp
  783. pushq %r15
  784. pushq %r14
  785. pushq %r13
  786. pushq %r12
  787. pushq %rbx
  788. subq $56, %rsp
  789. Ltmp83:
  790. .cfi_offset %rbx, -56
  791. Ltmp84:
  792. .cfi_offset %r12, -48
  793. Ltmp85:
  794. .cfi_offset %r13, -40
  795. Ltmp86:
  796. .cfi_offset %r14, -32
  797. Ltmp87:
  798. .cfi_offset %r15, -24
  799. movq %rdx, %r14
  800. movq %rsi, %r15
  801. movq %rdi, %rbx
  802. Ltmp59:
  803. leaq -64(%rbp), %rdi
  804. movq %rbx, %rsi
  805. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_
  806. Ltmp60:
  807. ## BB#1: ## %invoke.cont
  808. cmpb $0, -64(%rbp)
  809. je LBB4_12
  810. ## BB#2: ## %if.then
  811. movq (%rbx), %rax
  812. movq -24(%rax), %r12
  813. movq 40(%r12,%rbx), %rdi
  814. movl $176, %eax
  815. andl 8(%r12,%rbx), %eax
  816. cmpl $32, %eax
  817. movq %r15, %r13
  818. jne LBB4_4
  819. ## BB#3: ## %cond.true
  820. leaq (%r15,%r14), %r13
  821. LBB4_4: ## %cond.end
  822. leaq (%rbx,%r12), %r8
  823. movl 144(%rbx,%r12), %eax
  824. cmpl $-1, %eax
  825. jne LBB4_9
  826. ## BB#5: ## %if.then.i
  827. Ltmp62:
  828. movq %rdi, -72(%rbp) ## 8-byte Spill
  829. leaq -48(%rbp), %rdi
  830. movq %r8, %rsi
  831. movq %r8, -80(%rbp) ## 8-byte Spill
  832. callq __ZNKSt3__18ios_base6getlocEv
  833. Ltmp63:
  834. ## BB#6: ## %.noexc
  835. Ltmp64:
  836. movq __ZNSt3__15ctypeIcE2idE@GOTPCREL(%rip), %rsi
  837. leaq -48(%rbp), %rdi
  838. callq __ZNKSt3__16locale9use_facetERNS0_2idE
  839. Ltmp65:
  840. ## BB#7: ## %invoke.cont.i.i
  841. movq (%rax), %rcx
  842. movq 56(%rcx), %rcx
  843. Ltmp66:
  844. movl $32, %esi
  845. movq %rax, %rdi
  846. callq *%rcx
  847. movb %al, -81(%rbp) ## 1-byte Spill
  848. Ltmp67:
  849. ## BB#8: ## %_ZNKSt3__19basic_iosIcNS_11char_traitsIcEEE5widenEc.exit.i
  850. leaq -48(%rbp), %rdi
  851. callq __ZNSt3__16localeD1Ev
  852. movsbl -81(%rbp), %eax ## 1-byte Folded Reload
  853. movl %eax, 144(%rbx,%r12)
  854. movq -72(%rbp), %rdi ## 8-byte Reload
  855. movq -80(%rbp), %r8 ## 8-byte Reload
  856. LBB4_9: ## %invoke.cont15
  857. addq %r15, %r14
  858. Ltmp69:
  859. movsbl %al, %r9d
  860. movq %r15, %rsi
  861. movq %r13, %rdx
  862. movq %r14, %rcx
  863. callq __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_
  864. Ltmp70:
  865. ## BB#10: ## %invoke.cont17
  866. testq %rax, %rax
  867. jne LBB4_12
  868. ## BB#11: ## %if.then21
  869. movq (%rbx), %rax
  870. movq -24(%rax), %rax
  871. leaq (%rbx,%rax), %rdi
  872. movl 32(%rbx,%rax), %esi
  873. orl $5, %esi
  874. Ltmp71:
  875. callq __ZNSt3__18ios_base5clearEj
  876. Ltmp72:
  877. LBB4_12: ## %if.end27
  878. leaq -64(%rbp), %rdi
  879. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev
  880. LBB4_17: ## %try.cont
  881. movq %rbx, %rax
  882. addq $56, %rsp
  883. popq %rbx
  884. popq %r12
  885. popq %r13
  886. popq %r14
  887. popq %r15
  888. popq %rbp
  889. retq
  890. LBB4_13: ## %lpad1
  891. Ltmp73:
  892. movq %rax, %r14
  893. jmp LBB4_14
  894. LBB4_22: ## %lpad
  895. Ltmp61:
  896. movq %rax, %r14
  897. jmp LBB4_15
  898. LBB4_21: ## %lpad.i.i
  899. Ltmp68:
  900. movq %rax, %r14
  901. leaq -48(%rbp), %rdi
  902. callq __ZNSt3__16localeD1Ev
  903. LBB4_14: ## %lpad1.body
  904. leaq -64(%rbp), %rdi
  905. callq __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev
  906. LBB4_15: ## %catch
  907. movq %rbx, %r15
  908. movq %r14, %rdi
  909. callq ___cxa_begin_catch
  910. movq (%rbx), %rax
  911. addq -24(%rax), %r15
  912. Ltmp74:
  913. movq %r15, %rdi
  914. callq __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv
  915. Ltmp75:
  916. ## BB#16: ## %invoke.cont33
  917. callq ___cxa_end_catch
  918. jmp LBB4_17
  919. LBB4_18: ## %lpad32
  920. Ltmp76:
  921. movq %rax, %rbx
  922. Ltmp77:
  923. callq ___cxa_end_catch
  924. Ltmp78:
  925. ## BB#19: ## %eh.resume
  926. movq %rbx, %rdi
  927. callq __Unwind_Resume
  928. LBB4_20: ## %terminate.lpad
  929. Ltmp79:
  930. movq %rax, %rdi
  931. callq ___clang_call_terminate
  932. .cfi_endproc
  933. Leh_func_end4:
  934. .section __TEXT,__gcc_except_tab
  935. .align 2
  936. GCC_except_table4:
  937. Lexception4:
  938. .byte 255 ## @LPStart Encoding = omit
  939. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  940. .byte 125 ## @TType base offset
  941. .byte 3 ## Call site Encoding = udata4
  942. .byte 117 ## Call site table length
  943. Lset34 = Ltmp59-Leh_func_begin4 ## >> Call Site 1 <<
  944. .long Lset34
  945. Lset35 = Ltmp60-Ltmp59 ## Call between Ltmp59 and Ltmp60
  946. .long Lset35
  947. Lset36 = Ltmp61-Leh_func_begin4 ## jumps to Ltmp61
  948. .long Lset36
  949. .byte 1 ## On action: 1
  950. Lset37 = Ltmp62-Leh_func_begin4 ## >> Call Site 2 <<
  951. .long Lset37
  952. Lset38 = Ltmp63-Ltmp62 ## Call between Ltmp62 and Ltmp63
  953. .long Lset38
  954. Lset39 = Ltmp73-Leh_func_begin4 ## jumps to Ltmp73
  955. .long Lset39
  956. .byte 1 ## On action: 1
  957. Lset40 = Ltmp64-Leh_func_begin4 ## >> Call Site 3 <<
  958. .long Lset40
  959. Lset41 = Ltmp67-Ltmp64 ## Call between Ltmp64 and Ltmp67
  960. .long Lset41
  961. Lset42 = Ltmp68-Leh_func_begin4 ## jumps to Ltmp68
  962. .long Lset42
  963. .byte 1 ## On action: 1
  964. Lset43 = Ltmp69-Leh_func_begin4 ## >> Call Site 4 <<
  965. .long Lset43
  966. Lset44 = Ltmp72-Ltmp69 ## Call between Ltmp69 and Ltmp72
  967. .long Lset44
  968. Lset45 = Ltmp73-Leh_func_begin4 ## jumps to Ltmp73
  969. .long Lset45
  970. .byte 1 ## On action: 1
  971. Lset46 = Ltmp72-Leh_func_begin4 ## >> Call Site 5 <<
  972. .long Lset46
  973. Lset47 = Ltmp74-Ltmp72 ## Call between Ltmp72 and Ltmp74
  974. .long Lset47
  975. .long 0 ## has no landing pad
  976. .byte 0 ## On action: cleanup
  977. Lset48 = Ltmp74-Leh_func_begin4 ## >> Call Site 6 <<
  978. .long Lset48
  979. Lset49 = Ltmp75-Ltmp74 ## Call between Ltmp74 and Ltmp75
  980. .long Lset49
  981. Lset50 = Ltmp76-Leh_func_begin4 ## jumps to Ltmp76
  982. .long Lset50
  983. .byte 0 ## On action: cleanup
  984. Lset51 = Ltmp75-Leh_func_begin4 ## >> Call Site 7 <<
  985. .long Lset51
  986. Lset52 = Ltmp77-Ltmp75 ## Call between Ltmp75 and Ltmp77
  987. .long Lset52
  988. .long 0 ## has no landing pad
  989. .byte 0 ## On action: cleanup
  990. Lset53 = Ltmp77-Leh_func_begin4 ## >> Call Site 8 <<
  991. .long Lset53
  992. Lset54 = Ltmp78-Ltmp77 ## Call between Ltmp77 and Ltmp78
  993. .long Lset54
  994. Lset55 = Ltmp79-Leh_func_begin4 ## jumps to Ltmp79
  995. .long Lset55
  996. .byte 1 ## On action: 1
  997. Lset56 = Ltmp78-Leh_func_begin4 ## >> Call Site 9 <<
  998. .long Lset56
  999. Lset57 = Leh_func_end4-Ltmp78 ## Call between Ltmp78 and Leh_func_end4
  1000. .long Lset57
  1001. .long 0 ## has no landing pad
  1002. .byte 0 ## On action: cleanup
  1003. .byte 1 ## >> Action Record 1 <<
  1004. ## Catch TypeInfo 1
  1005. .byte 0 ## No further actions
  1006. ## >> Catch TypeInfos <<
  1007. .long 0 ## TypeInfo 1
  1008. .align 2
  1009.  
  1010. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1011. .private_extern __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_
  1012. .globl __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_
  1013. .weak_def_can_be_hidden __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_
  1014. .align 4, 0x90
  1015. __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_: ## @_ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_
  1016. .cfi_startproc
  1017. .cfi_personality 155, ___gxx_personality_v0
  1018. Leh_func_begin5:
  1019. .cfi_lsda 16, Lexception5
  1020. ## BB#0: ## %entry
  1021. pushq %rbp
  1022. Ltmp91:
  1023. .cfi_def_cfa_offset 16
  1024. Ltmp92:
  1025. .cfi_offset %rbp, -16
  1026. movq %rsp, %rbp
  1027. Ltmp93:
  1028. .cfi_def_cfa_register %rbp
  1029. pushq %r15
  1030. pushq %r14
  1031. pushq %r13
  1032. pushq %r12
  1033. pushq %rbx
  1034. subq $40, %rsp
  1035. Ltmp94:
  1036. .cfi_offset %rbx, -56
  1037. Ltmp95:
  1038. .cfi_offset %r12, -48
  1039. Ltmp96:
  1040. .cfi_offset %r13, -40
  1041. Ltmp97:
  1042. .cfi_offset %r14, -32
  1043. Ltmp98:
  1044. .cfi_offset %r15, -24
  1045. movq %rcx, %r14
  1046. movq %rdx, %rbx
  1047. movq %rdi, %r13
  1048. xorl %eax, %eax
  1049. testq %r13, %r13
  1050. je LBB5_12
  1051. ## BB#1: ## %if.end
  1052. movq %r14, %rax
  1053. subq %rsi, %rax
  1054. movq 24(%r8), %rcx
  1055. xorl %r15d, %r15d
  1056. subq %rax, %rcx
  1057. cmovgq %rcx, %r15
  1058. movq %rbx, %r12
  1059. subq %rsi, %r12
  1060. testq %r12, %r12
  1061. jle LBB5_3
  1062. ## BB#2: ## %if.then8
  1063. movq (%r13), %rax
  1064. movq %r13, %rdi
  1065. movq %r12, %rdx
  1066. movq %rbx, -80(%rbp) ## 8-byte Spill
  1067. movq %r14, -72(%rbp) ## 8-byte Spill
  1068. movq %r8, %rbx
  1069. movl %r9d, %r14d
  1070. callq *96(%rax)
  1071. movl %r14d, %r9d
  1072. movq %rbx, %r8
  1073. movq -72(%rbp), %r14 ## 8-byte Reload
  1074. movq -80(%rbp), %rbx ## 8-byte Reload
  1075. movq %rax, %rcx
  1076. xorl %eax, %eax
  1077. cmpq %r12, %rcx
  1078. jne LBB5_12
  1079. LBB5_3: ## %if.end15
  1080. testq %r15, %r15
  1081. jle LBB5_9
  1082. ## BB#4: ## %if.then17
  1083. movq %r8, -72(%rbp) ## 8-byte Spill
  1084. movsbl %r9b, %edx
  1085. leaq -64(%rbp), %rdi
  1086. movq %r15, %rsi
  1087. callq __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc
  1088. testb $1, -64(%rbp)
  1089. je LBB5_6
  1090. ## BB#5: ## %cond.true.i.i
  1091. movq %r14, %r12
  1092. movq -48(%rbp), %rsi
  1093. jmp LBB5_7
  1094. LBB5_6: ## %cond.false.i.i
  1095. movq %r14, %r12
  1096. leaq -63(%rbp), %rsi
  1097. LBB5_7: ## %_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv.exit
  1098. movq (%r13), %rax
  1099. movq 96(%rax), %rax
  1100. Ltmp88:
  1101. movq %r13, %rdi
  1102. movq %r15, %rdx
  1103. callq *%rax
  1104. movq %rax, %r14
  1105. Ltmp89:
  1106. ## BB#8: ## %invoke.cont
  1107. leaq -64(%rbp), %rdi
  1108. callq __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev
  1109. xorl %eax, %eax
  1110. cmpq %r15, %r14
  1111. cmovneq %rax, %r13
  1112. movq -72(%rbp), %r8 ## 8-byte Reload
  1113. movq %r12, %r14
  1114. jne LBB5_12
  1115. LBB5_9: ## %if.end25
  1116. subq %rbx, %r14
  1117. testq %r14, %r14
  1118. jle LBB5_11
  1119. ## BB#10: ## %if.then30
  1120. movq (%r13), %rax
  1121. movq %r13, %rdi
  1122. movq %rbx, %rsi
  1123. movq %r14, %rdx
  1124. movq %r8, %rbx
  1125. callq *96(%rax)
  1126. movq %rbx, %r8
  1127. movq %rax, %rcx
  1128. xorl %eax, %eax
  1129. cmpq %r14, %rcx
  1130. jne LBB5_12
  1131. LBB5_11: ## %if.end37
  1132. movq $0, 24(%r8)
  1133. movq %r13, %rax
  1134. LBB5_12: ## %return
  1135. addq $40, %rsp
  1136. popq %rbx
  1137. popq %r12
  1138. popq %r13
  1139. popq %r14
  1140. popq %r15
  1141. popq %rbp
  1142. retq
  1143. LBB5_13: ## %lpad
  1144. Ltmp90:
  1145. movq %rax, %rbx
  1146. leaq -64(%rbp), %rdi
  1147. callq __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev
  1148. movq %rbx, %rdi
  1149. callq __Unwind_Resume
  1150. .cfi_endproc
  1151. Leh_func_end5:
  1152. .section __TEXT,__gcc_except_tab
  1153. .align 2
  1154. GCC_except_table5:
  1155. Lexception5:
  1156. .byte 255 ## @LPStart Encoding = omit
  1157. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  1158. .byte 41 ## @TType base offset
  1159. .byte 3 ## Call site Encoding = udata4
  1160. .byte 39 ## Call site table length
  1161. Lset58 = Leh_func_begin5-Leh_func_begin5 ## >> Call Site 1 <<
  1162. .long Lset58
  1163. Lset59 = Ltmp88-Leh_func_begin5 ## Call between Leh_func_begin5 and Ltmp88
  1164. .long Lset59
  1165. .long 0 ## has no landing pad
  1166. .byte 0 ## On action: cleanup
  1167. Lset60 = Ltmp88-Leh_func_begin5 ## >> Call Site 2 <<
  1168. .long Lset60
  1169. Lset61 = Ltmp89-Ltmp88 ## Call between Ltmp88 and Ltmp89
  1170. .long Lset61
  1171. Lset62 = Ltmp90-Leh_func_begin5 ## jumps to Ltmp90
  1172. .long Lset62
  1173. .byte 0 ## On action: cleanup
  1174. Lset63 = Ltmp89-Leh_func_begin5 ## >> Call Site 3 <<
  1175. .long Lset63
  1176. Lset64 = Leh_func_end5-Ltmp89 ## Call between Ltmp89 and Leh_func_end5
  1177. .long Lset64
  1178. .long 0 ## has no landing pad
  1179. .byte 0 ## On action: cleanup
  1180. .align 2
  1181.  
  1182. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1183. .private_extern ___clang_call_terminate
  1184. .globl ___clang_call_terminate
  1185. .weak_def_can_be_hidden ___clang_call_terminate
  1186. .align 4, 0x90
  1187. ___clang_call_terminate: ## @__clang_call_terminate
  1188. ## BB#0:
  1189. pushq %rbp
  1190. movq %rsp, %rbp
  1191. callq ___cxa_begin_catch
  1192. callq __ZSt9terminatev
  1193.  
  1194. .section __TEXT,__literal4,4byte_literals
  1195. .align 2
  1196. LCPI7_0:
  1197. .long 1065353216 ## float 1
  1198. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1199. .globl __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_E18has_fallback_type_EEENT1_11result_typeEiiRSR_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1200. .weak_def_can_be_hidden __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_E18has_fallback_type_EEENT1_11result_typeEiiRSR_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1201. .align 4, 0x90
  1202. __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_E18has_fallback_type_EEENT1_11result_typeEiiRSR_T2_NS3_5bool_ILb0EEET3_PT_PT0_: ## @_ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ESO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_SO_E18has_fallback_type_EEENT1_11result_typeEiiRSR_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1203. .cfi_startproc
  1204. ## BB#0: ## %entry
  1205. pushq %rbp
  1206. Ltmp99:
  1207. .cfi_def_cfa_offset 16
  1208. Ltmp100:
  1209. .cfi_offset %rbp, -16
  1210. movq %rsp, %rbp
  1211. Ltmp101:
  1212. .cfi_def_cfa_register %rbp
  1213. movq %rcx, %rax
  1214. movl %esi, %ecx
  1215. cmpl $19, %esi
  1216. ja LBB7_4
  1217. ## BB#1: ## %entry
  1218. leaq LJTI7_0(%rip), %rsi
  1219. movslq (%rsi,%rcx,4), %rcx
  1220. addq %rsi, %rcx
  1221. jmpq *%rcx
  1222. LBB7_5: ## %sw.bb
  1223. incl (%rax)
  1224. popq %rbp
  1225. retq
  1226. LBB7_2: ## %sw.bb3
  1227. movss (%rax), %xmm0
  1228. addss LCPI7_0(%rip), %xmm0
  1229. movss %xmm0, (%rax)
  1230. popq %rbp
  1231. retq
  1232. LBB7_4: ## %sw.epilog
  1233. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1234. LBB7_3: ## %sw.bb5
  1235. xorl %ecx, %ecx
  1236. movl $1, %r8d
  1237. movq %rdx, %rsi
  1238. movq %rax, %rdx
  1239. callq __ZN5boost6detail7variant22visitation_impl_invokeINS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ES8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_E18has_fallback_type_EEENT_11result_typeEiRSB_T0_PNS1_22apply_visitor_unrolledET1_l
  1240. .cfi_endproc
  1241. .align 2, 0x90
  1242. L7_0_set_5 = LBB7_5-LJTI7_0
  1243. L7_0_set_2 = LBB7_2-LJTI7_0
  1244. L7_0_set_3 = LBB7_3-LJTI7_0
  1245. LJTI7_0:
  1246. .long L7_0_set_5
  1247. .long L7_0_set_2
  1248. .long L7_0_set_3
  1249. .long L7_0_set_3
  1250. .long L7_0_set_3
  1251. .long L7_0_set_3
  1252. .long L7_0_set_3
  1253. .long L7_0_set_3
  1254. .long L7_0_set_3
  1255. .long L7_0_set_3
  1256. .long L7_0_set_3
  1257. .long L7_0_set_3
  1258. .long L7_0_set_3
  1259. .long L7_0_set_3
  1260. .long L7_0_set_3
  1261. .long L7_0_set_3
  1262. .long L7_0_set_3
  1263. .long L7_0_set_3
  1264. .long L7_0_set_3
  1265. .long L7_0_set_3
  1266.  
  1267. .globl __ZN5boost6detail7variant22visitation_impl_invokeINS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ES8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_E18has_fallback_type_EEENT_11result_typeEiRSB_T0_PNS1_22apply_visitor_unrolledET1_l
  1268. .weak_def_can_be_hidden __ZN5boost6detail7variant22visitation_impl_invokeINS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ES8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_E18has_fallback_type_EEENT_11result_typeEiRSB_T0_PNS1_22apply_visitor_unrolledET1_l
  1269. .align 4, 0x90
  1270. __ZN5boost6detail7variant22visitation_impl_invokeINS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ES8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_E18has_fallback_type_EEENT_11result_typeEiRSB_T0_PNS1_22apply_visitor_unrolledET1_l: ## @_ZN5boost6detail7variant22visitation_impl_invokeINS1_14invoke_visitorI7visitorEEPvNS_7variantIifNS1_5void_ES8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_S8_E18has_fallback_type_EEENT_11result_typeEiRSB_T0_PNS1_22apply_visitor_unrolledET1_l
  1271. .cfi_startproc
  1272. ## BB#0: ## %entry
  1273. pushq %rbp
  1274. Ltmp102:
  1275. .cfi_def_cfa_offset 16
  1276. Ltmp103:
  1277. .cfi_offset %rbp, -16
  1278. movq %rsp, %rbp
  1279. Ltmp104:
  1280. .cfi_def_cfa_register %rbp
  1281. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1282. .cfi_endproc
  1283.  
  1284. .globl __ZN5boost6detail7variant13forced_returnIvEET_v
  1285. .weak_def_can_be_hidden __ZN5boost6detail7variant13forced_returnIvEET_v
  1286. .align 4, 0x90
  1287. __ZN5boost6detail7variant13forced_returnIvEET_v: ## @_ZN5boost6detail7variant13forced_returnIvEET_v
  1288. .cfi_startproc
  1289. ## BB#0: ## %entry
  1290. pushq %rbp
  1291. Ltmp105:
  1292. .cfi_def_cfa_offset 16
  1293. Ltmp106:
  1294. .cfi_offset %rbp, -16
  1295. movq %rsp, %rbp
  1296. Ltmp107:
  1297. .cfi_def_cfa_register %rbp
  1298. leaq L___func__._ZN5boost6detail7variant13forced_returnIvEET_v(%rip), %rdi
  1299. leaq L_.str2(%rip), %rsi
  1300. leaq L_.str3(%rip), %rcx
  1301. movl $49, %edx
  1302. callq ___assert_rtn
  1303. .cfi_endproc
  1304.  
  1305. .globl __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJfEEEvDpOT_
  1306. .weak_def_can_be_hidden __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJfEEEvDpOT_
  1307. .align 4, 0x90
  1308. __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJfEEEvDpOT_: ## @_ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJfEEEvDpOT_
  1309. .cfi_startproc
  1310. .cfi_personality 155, ___gxx_personality_v0
  1311. Leh_func_begin10:
  1312. .cfi_lsda 16, Lexception10
  1313. ## BB#0: ## %entry
  1314. pushq %rbp
  1315. Ltmp114:
  1316. .cfi_def_cfa_offset 16
  1317. Ltmp115:
  1318. .cfi_offset %rbp, -16
  1319. movq %rsp, %rbp
  1320. Ltmp116:
  1321. .cfi_def_cfa_register %rbp
  1322. pushq %r15
  1323. pushq %r14
  1324. pushq %r13
  1325. pushq %r12
  1326. pushq %rbx
  1327. subq $40, %rsp
  1328. Ltmp117:
  1329. .cfi_offset %rbx, -56
  1330. Ltmp118:
  1331. .cfi_offset %r12, -48
  1332. Ltmp119:
  1333. .cfi_offset %r13, -40
  1334. Ltmp120:
  1335. .cfi_offset %r14, -32
  1336. Ltmp121:
  1337. .cfi_offset %r15, -24
  1338. movq %rsi, %r13
  1339. movq %rdi, %r14
  1340. movq (%r14), %r12
  1341. movq 8(%r14), %rbx
  1342. subq %r12, %rbx
  1343. sarq $3, %rbx
  1344. incq %rbx
  1345. movq %rbx, %rax
  1346. shrq $61, %rax
  1347. je LBB10_2
  1348. ## BB#1: ## %if.then.i
  1349. movq %r14, %rdi
  1350. callq __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
  1351. movq (%r14), %r12
  1352. LBB10_2: ## %if.end.i
  1353. movq 16(%r14), %r15
  1354. subq %r12, %r15
  1355. movq %r15, %rax
  1356. sarq $3, %rax
  1357. movabsq $1152921504606846975, %rcx ## imm = 0xFFFFFFFFFFFFFFF
  1358. cmpq %rcx, %rax
  1359. jae LBB10_3
  1360. ## BB#4: ## %_ZNKSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE11__recommendEm.exit
  1361. sarq $2, %r15
  1362. cmpq %rbx, %r15
  1363. cmovbq %rbx, %r15
  1364. movq %r14, -64(%rbp) ## 8-byte Spill
  1365. movq 8(%r14), %r14
  1366. movq %r14, %rbx
  1367. subq %r12, %rbx
  1368. sarq $3, %rbx
  1369. xorl %ecx, %ecx
  1370. testq %r15, %r15
  1371. movl $0, %eax
  1372. jne LBB10_5
  1373. jmp LBB10_6
  1374. LBB10_3: ## %_ZNKSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE11__recommendEm.exit.thread
  1375. movabsq $2305843009213693951, %r15 ## imm = 0x1FFFFFFFFFFFFFFF
  1376. movq %r14, -64(%rbp) ## 8-byte Spill
  1377. movq 8(%r14), %r14
  1378. movq %r14, %rbx
  1379. subq %r12, %rbx
  1380. sarq $3, %rbx
  1381. LBB10_5: ## %cond.true.i.i
  1382. leaq (,%r15,8), %rdi
  1383. callq __Znwm
  1384. movq %r15, %rcx
  1385. LBB10_6: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEEC1EmmS9_.exit
  1386. leaq (,%rbx,8), %rdx
  1387. addq %rax, %rdx
  1388. je LBB10_8
  1389. ## BB#7: ## %new.notnull.i.i.i
  1390. movss (%r13), %xmm0
  1391. movss %xmm0, 4(%rax,%rbx,8)
  1392. movl $1, (%rax,%rbx,8)
  1393. LBB10_8: ## %invoke.cont
  1394. leaq (%rax,%rcx,8), %rcx
  1395. leaq 8(%rax,%rbx,8), %rsi
  1396. movq %r14, %r13
  1397. subq %r12, %r13
  1398. je LBB10_9
  1399. ## BB#10: ## %while.body.lr.ph.i.i
  1400. movq %rsi, -80(%rbp) ## 8-byte Spill
  1401. movq %rcx, -72(%rbp) ## 8-byte Spill
  1402. leaq (%rax,%rbx,8), %r12
  1403. xorl %eax, %eax
  1404. leaq -48(%rbp), %r15
  1405. .align 4, 0x90
  1406. LBB10_11: ## %while.body.i.i
  1407. ## =>This Inner Loop Header: Depth=1
  1408. movq %rax, %rbx
  1409. leaq -4(%r12,%rbx), %rax
  1410. movq %rax, -48(%rbp)
  1411. movl -8(%r14,%rbx), %edi
  1412. movl %edi, %esi
  1413. sarl $31, %esi
  1414. xorl %edi, %esi
  1415. leaq -4(%r14,%rbx), %rcx
  1416. Ltmp108:
  1417. xorl %r8d, %r8d
  1418. xorl %r9d, %r9d
  1419. movq %r15, %rdx
  1420. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1421. Ltmp109:
  1422. ## BB#12: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE9constructIS7_JS7_EEEvRS8_PT_DpOT0_.exit.i.i
  1423. ## in Loop: Header=BB10_11 Depth=1
  1424. movl -8(%r14,%rbx), %eax
  1425. movl %eax, %ecx
  1426. sarl $31, %ecx
  1427. xorl %eax, %ecx
  1428. movl %ecx, -8(%r12,%rbx)
  1429. leaq -8(%rbx), %rax
  1430. movq %r13, %rcx
  1431. addq %rax, %rcx
  1432. jne LBB10_11
  1433. ## BB#13: ## %invoke.cont8
  1434. leaq -8(%r12,%rbx), %rax
  1435. movq -64(%rbp), %rcx ## 8-byte Reload
  1436. movq (%rcx), %r12
  1437. movq 8(%rcx), %rbx
  1438. movq %rax, (%rcx)
  1439. movq -80(%rbp), %rax ## 8-byte Reload
  1440. movq %rax, 8(%rcx)
  1441. movq -72(%rbp), %rax ## 8-byte Reload
  1442. movq %rax, 16(%rcx)
  1443. cmpq %r12, %rbx
  1444. je LBB10_17
  1445. ## BB#14: ## %while.body.lr.ph.i.i.i.i.i
  1446. leaq -56(%rbp), %r14
  1447. .align 4, 0x90
  1448. LBB10_15: ## %while.body.i.i.i.i.i
  1449. ## =>This Inner Loop Header: Depth=1
  1450. movl -8(%rbx), %edi
  1451. movl %edi, %esi
  1452. sarl $31, %esi
  1453. xorl %edi, %esi
  1454. leaq -4(%rbx), %rcx
  1455. Ltmp111:
  1456. xorl %r8d, %r8d
  1457. xorl %r9d, %r9d
  1458. movq %r14, %rdx
  1459. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1460. Ltmp112:
  1461. ## BB#16: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE7destroyIS7_EEvRS8_PT_.exit.i.i.i.i.i
  1462. ## in Loop: Header=BB10_15 Depth=1
  1463. addq $-8, %rbx
  1464. cmpq %rbx, %r12
  1465. jne LBB10_15
  1466. jmp LBB10_17
  1467. LBB10_9: ## %invoke.cont8.thread
  1468. movq -64(%rbp), %rax ## 8-byte Reload
  1469. movq %rdx, (%rax)
  1470. movq %rsi, 8(%rax)
  1471. movq %rcx, 16(%rax)
  1472. LBB10_17: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEE5clearEv.exit.i.i
  1473. testq %r12, %r12
  1474. je LBB10_18
  1475. ## BB#21: ## %if.then.i.i
  1476. movq %r12, %rdi
  1477. addq $40, %rsp
  1478. popq %rbx
  1479. popq %r12
  1480. popq %r13
  1481. popq %r14
  1482. popq %r15
  1483. popq %rbp
  1484. jmp __ZdlPv ## TAILCALL
  1485. LBB10_18: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEED1Ev.exit
  1486. addq $40, %rsp
  1487. popq %rbx
  1488. popq %r12
  1489. popq %r13
  1490. popq %r14
  1491. popq %r15
  1492. popq %rbp
  1493. retq
  1494. LBB10_19: ## %lpad.i.i.i.i.i.i.i
  1495. Ltmp110:
  1496. movq %rax, %rdi
  1497. callq ___clang_call_terminate
  1498. LBB10_20: ## %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i
  1499. Ltmp113:
  1500. movq %rax, %rdi
  1501. callq ___clang_call_terminate
  1502. .cfi_endproc
  1503. Leh_func_end10:
  1504. .section __TEXT,__gcc_except_tab
  1505. .align 2
  1506. GCC_except_table10:
  1507. Lexception10:
  1508. .byte 255 ## @LPStart Encoding = omit
  1509. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  1510. .asciz "\257\200" ## @TType base offset
  1511. .byte 3 ## Call site Encoding = udata4
  1512. .byte 39 ## Call site table length
  1513. Lset65 = Leh_func_begin10-Leh_func_begin10 ## >> Call Site 1 <<
  1514. .long Lset65
  1515. Lset66 = Ltmp108-Leh_func_begin10 ## Call between Leh_func_begin10 and Ltmp108
  1516. .long Lset66
  1517. .long 0 ## has no landing pad
  1518. .byte 0 ## On action: cleanup
  1519. Lset67 = Ltmp108-Leh_func_begin10 ## >> Call Site 2 <<
  1520. .long Lset67
  1521. Lset68 = Ltmp109-Ltmp108 ## Call between Ltmp108 and Ltmp109
  1522. .long Lset68
  1523. Lset69 = Ltmp110-Leh_func_begin10 ## jumps to Ltmp110
  1524. .long Lset69
  1525. .byte 1 ## On action: 1
  1526. Lset70 = Ltmp111-Leh_func_begin10 ## >> Call Site 3 <<
  1527. .long Lset70
  1528. Lset71 = Ltmp112-Ltmp111 ## Call between Ltmp111 and Ltmp112
  1529. .long Lset71
  1530. Lset72 = Ltmp113-Leh_func_begin10 ## jumps to Ltmp113
  1531. .long Lset72
  1532. .byte 1 ## On action: 1
  1533. .byte 1 ## >> Action Record 1 <<
  1534. ## Catch TypeInfo 1
  1535. .byte 0 ## No further actions
  1536. ## >> Catch TypeInfos <<
  1537. .long 0 ## TypeInfo 1
  1538. .align 2
  1539.  
  1540. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1541. .globl __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1542. .weak_def_can_be_hidden __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1543. .align 4, 0x90
  1544. __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_: ## @_ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1545. .cfi_startproc
  1546. ## BB#0: ## %entry
  1547. pushq %rbp
  1548. Ltmp122:
  1549. .cfi_def_cfa_offset 16
  1550. Ltmp123:
  1551. .cfi_offset %rbp, -16
  1552. movq %rsp, %rbp
  1553. Ltmp124:
  1554. .cfi_def_cfa_register %rbp
  1555. movq %rcx, %rax
  1556. movl %esi, %ecx
  1557. cmpl $19, %esi
  1558. ja LBB11_3
  1559. ## BB#1: ## %entry
  1560. leaq LJTI11_0(%rip), %rsi
  1561. movslq (%rsi,%rcx,4), %rcx
  1562. addq %rsi, %rcx
  1563. jmpq *%rcx
  1564. LBB11_4: ## %return
  1565. popq %rbp
  1566. retq
  1567. LBB11_3: ## %sw.epilog
  1568. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1569. LBB11_2: ## %sw.bb5
  1570. xorl %ecx, %ecx
  1571. movl $1, %r8d
  1572. movq %rdx, %rsi
  1573. movq %rax, %rdx
  1574. callq __ZN5boost6detail7variant22visitation_impl_invokeINS1_9destroyerEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1575. .cfi_endproc
  1576. .align 2, 0x90
  1577. L11_0_set_4 = LBB11_4-LJTI11_0
  1578. L11_0_set_2 = LBB11_2-LJTI11_0
  1579. LJTI11_0:
  1580. .long L11_0_set_4
  1581. .long L11_0_set_4
  1582. .long L11_0_set_2
  1583. .long L11_0_set_2
  1584. .long L11_0_set_2
  1585. .long L11_0_set_2
  1586. .long L11_0_set_2
  1587. .long L11_0_set_2
  1588. .long L11_0_set_2
  1589. .long L11_0_set_2
  1590. .long L11_0_set_2
  1591. .long L11_0_set_2
  1592. .long L11_0_set_2
  1593. .long L11_0_set_2
  1594. .long L11_0_set_2
  1595. .long L11_0_set_2
  1596. .long L11_0_set_2
  1597. .long L11_0_set_2
  1598. .long L11_0_set_2
  1599. .long L11_0_set_2
  1600.  
  1601. .globl __ZN5boost6detail7variant22visitation_impl_invokeINS1_9destroyerEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1602. .weak_def_can_be_hidden __ZN5boost6detail7variant22visitation_impl_invokeINS1_9destroyerEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1603. .align 4, 0x90
  1604. __ZN5boost6detail7variant22visitation_impl_invokeINS1_9destroyerEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l: ## @_ZN5boost6detail7variant22visitation_impl_invokeINS1_9destroyerEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1605. .cfi_startproc
  1606. ## BB#0: ## %entry
  1607. pushq %rbp
  1608. Ltmp125:
  1609. .cfi_def_cfa_offset 16
  1610. Ltmp126:
  1611. .cfi_offset %rbp, -16
  1612. movq %rsp, %rbp
  1613. Ltmp127:
  1614. .cfi_def_cfa_register %rbp
  1615. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1616. .cfi_endproc
  1617.  
  1618. .globl __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1619. .weak_def_can_be_hidden __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1620. .align 4, 0x90
  1621. __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_: ## @_ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1622. .cfi_startproc
  1623. ## BB#0: ## %entry
  1624. pushq %rbp
  1625. Ltmp128:
  1626. .cfi_def_cfa_offset 16
  1627. Ltmp129:
  1628. .cfi_offset %rbp, -16
  1629. movq %rsp, %rbp
  1630. Ltmp130:
  1631. .cfi_def_cfa_register %rbp
  1632. movq %rcx, %rax
  1633. movl %esi, %ecx
  1634. cmpl $19, %esi
  1635. ja LBB13_8
  1636. ## BB#1: ## %entry
  1637. leaq LJTI13_0(%rip), %rsi
  1638. movslq (%rsi,%rcx,4), %rcx
  1639. addq %rsi, %rcx
  1640. jmpq *%rcx
  1641. LBB13_2: ## %sw.bb
  1642. movq (%rdx), %rcx
  1643. testq %rcx, %rcx
  1644. je LBB13_6
  1645. ## BB#3: ## %new.notnull.i.i.i
  1646. movl (%rax), %eax
  1647. movl %eax, (%rcx)
  1648. popq %rbp
  1649. retq
  1650. LBB13_4: ## %sw.bb3
  1651. movq (%rdx), %rcx
  1652. testq %rcx, %rcx
  1653. je LBB13_6
  1654. ## BB#5: ## %new.notnull.i.i.i106
  1655. movss (%rax), %xmm0
  1656. movss %xmm0, (%rcx)
  1657. LBB13_6: ## %return
  1658. popq %rbp
  1659. retq
  1660. LBB13_8: ## %sw.epilog
  1661. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1662. LBB13_7: ## %sw.bb5
  1663. xorl %ecx, %ecx
  1664. movl $1, %r8d
  1665. movq %rdx, %rsi
  1666. movq %rax, %rdx
  1667. callq __ZN5boost6detail7variant22visitation_impl_invokeINS1_9move_intoEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1668. .cfi_endproc
  1669. .align 2, 0x90
  1670. L13_0_set_2 = LBB13_2-LJTI13_0
  1671. L13_0_set_4 = LBB13_4-LJTI13_0
  1672. L13_0_set_7 = LBB13_7-LJTI13_0
  1673. LJTI13_0:
  1674. .long L13_0_set_2
  1675. .long L13_0_set_4
  1676. .long L13_0_set_7
  1677. .long L13_0_set_7
  1678. .long L13_0_set_7
  1679. .long L13_0_set_7
  1680. .long L13_0_set_7
  1681. .long L13_0_set_7
  1682. .long L13_0_set_7
  1683. .long L13_0_set_7
  1684. .long L13_0_set_7
  1685. .long L13_0_set_7
  1686. .long L13_0_set_7
  1687. .long L13_0_set_7
  1688. .long L13_0_set_7
  1689. .long L13_0_set_7
  1690. .long L13_0_set_7
  1691. .long L13_0_set_7
  1692. .long L13_0_set_7
  1693. .long L13_0_set_7
  1694.  
  1695. .globl __ZN5boost6detail7variant22visitation_impl_invokeINS1_9move_intoEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1696. .weak_def_can_be_hidden __ZN5boost6detail7variant22visitation_impl_invokeINS1_9move_intoEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1697. .align 4, 0x90
  1698. __ZN5boost6detail7variant22visitation_impl_invokeINS1_9move_intoEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l: ## @_ZN5boost6detail7variant22visitation_impl_invokeINS1_9move_intoEPvNS_7variantIifNS1_5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_E18has_fallback_type_EEENT_11result_typeEiRS9_T0_PNS1_22apply_visitor_unrolledET1_l
  1699. .cfi_startproc
  1700. ## BB#0: ## %entry
  1701. pushq %rbp
  1702. Ltmp131:
  1703. .cfi_def_cfa_offset 16
  1704. Ltmp132:
  1705. .cfi_offset %rbp, -16
  1706. movq %rsp, %rbp
  1707. Ltmp133:
  1708. .cfi_def_cfa_register %rbp
  1709. callq __ZN5boost6detail7variant13forced_returnIvEET_v
  1710. .cfi_endproc
  1711.  
  1712. .globl __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJiEEEvDpOT_
  1713. .weak_def_can_be_hidden __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJiEEEvDpOT_
  1714. .align 4, 0x90
  1715. __ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJiEEEvDpOT_: ## @_ZNSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE24__emplace_back_slow_pathIJiEEEvDpOT_
  1716. .cfi_startproc
  1717. .cfi_personality 155, ___gxx_personality_v0
  1718. Leh_func_begin15:
  1719. .cfi_lsda 16, Lexception15
  1720. ## BB#0: ## %entry
  1721. pushq %rbp
  1722. Ltmp140:
  1723. .cfi_def_cfa_offset 16
  1724. Ltmp141:
  1725. .cfi_offset %rbp, -16
  1726. movq %rsp, %rbp
  1727. Ltmp142:
  1728. .cfi_def_cfa_register %rbp
  1729. pushq %r15
  1730. pushq %r14
  1731. pushq %r13
  1732. pushq %r12
  1733. pushq %rbx
  1734. subq $40, %rsp
  1735. Ltmp143:
  1736. .cfi_offset %rbx, -56
  1737. Ltmp144:
  1738. .cfi_offset %r12, -48
  1739. Ltmp145:
  1740. .cfi_offset %r13, -40
  1741. Ltmp146:
  1742. .cfi_offset %r14, -32
  1743. Ltmp147:
  1744. .cfi_offset %r15, -24
  1745. movq %rsi, %r13
  1746. movq %rdi, %r14
  1747. movq (%r14), %r12
  1748. movq 8(%r14), %rbx
  1749. subq %r12, %rbx
  1750. sarq $3, %rbx
  1751. incq %rbx
  1752. movq %rbx, %rax
  1753. shrq $61, %rax
  1754. je LBB15_2
  1755. ## BB#1: ## %if.then.i
  1756. movq %r14, %rdi
  1757. callq __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
  1758. movq (%r14), %r12
  1759. LBB15_2: ## %if.end.i
  1760. movq 16(%r14), %r15
  1761. subq %r12, %r15
  1762. movq %r15, %rax
  1763. sarq $3, %rax
  1764. movabsq $1152921504606846975, %rcx ## imm = 0xFFFFFFFFFFFFFFF
  1765. cmpq %rcx, %rax
  1766. jae LBB15_3
  1767. ## BB#4: ## %_ZNKSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE11__recommendEm.exit
  1768. sarq $2, %r15
  1769. cmpq %rbx, %r15
  1770. cmovbq %rbx, %r15
  1771. movq %r14, -64(%rbp) ## 8-byte Spill
  1772. movq 8(%r14), %r14
  1773. movq %r14, %rbx
  1774. subq %r12, %rbx
  1775. sarq $3, %rbx
  1776. xorl %ecx, %ecx
  1777. testq %r15, %r15
  1778. movl $0, %eax
  1779. jne LBB15_5
  1780. jmp LBB15_6
  1781. LBB15_3: ## %_ZNKSt3__16vectorIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EENS_9allocatorIS6_EEE11__recommendEm.exit.thread
  1782. movabsq $2305843009213693951, %r15 ## imm = 0x1FFFFFFFFFFFFFFF
  1783. movq %r14, -64(%rbp) ## 8-byte Spill
  1784. movq 8(%r14), %r14
  1785. movq %r14, %rbx
  1786. subq %r12, %rbx
  1787. sarq $3, %rbx
  1788. LBB15_5: ## %cond.true.i.i
  1789. leaq (,%r15,8), %rdi
  1790. callq __Znwm
  1791. movq %r15, %rcx
  1792. LBB15_6: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEEC1EmmS9_.exit
  1793. leaq (,%rbx,8), %rdx
  1794. addq %rax, %rdx
  1795. je LBB15_8
  1796. ## BB#7: ## %new.notnull.i.i.i
  1797. movl (%r13), %esi
  1798. movl %esi, 4(%rax,%rbx,8)
  1799. movl $0, (%rax,%rbx,8)
  1800. LBB15_8: ## %invoke.cont
  1801. leaq (%rax,%rcx,8), %rcx
  1802. leaq 8(%rax,%rbx,8), %rsi
  1803. movq %r14, %r13
  1804. subq %r12, %r13
  1805. je LBB15_9
  1806. ## BB#10: ## %while.body.lr.ph.i.i
  1807. movq %rsi, -80(%rbp) ## 8-byte Spill
  1808. movq %rcx, -72(%rbp) ## 8-byte Spill
  1809. leaq (%rax,%rbx,8), %r12
  1810. xorl %eax, %eax
  1811. leaq -48(%rbp), %r15
  1812. .align 4, 0x90
  1813. LBB15_11: ## %while.body.i.i
  1814. ## =>This Inner Loop Header: Depth=1
  1815. movq %rax, %rbx
  1816. leaq -4(%r12,%rbx), %rax
  1817. movq %rax, -48(%rbp)
  1818. movl -8(%r14,%rbx), %edi
  1819. movl %edi, %esi
  1820. sarl $31, %esi
  1821. xorl %edi, %esi
  1822. leaq -4(%r14,%rbx), %rcx
  1823. Ltmp134:
  1824. xorl %r8d, %r8d
  1825. xorl %r9d, %r9d
  1826. movq %r15, %rdx
  1827. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9move_intoEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1828. Ltmp135:
  1829. ## BB#12: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE9constructIS7_JS7_EEEvRS8_PT_DpOT0_.exit.i.i
  1830. ## in Loop: Header=BB15_11 Depth=1
  1831. movl -8(%r14,%rbx), %eax
  1832. movl %eax, %ecx
  1833. sarl $31, %ecx
  1834. xorl %eax, %ecx
  1835. movl %ecx, -8(%r12,%rbx)
  1836. leaq -8(%rbx), %rax
  1837. movq %r13, %rcx
  1838. addq %rax, %rcx
  1839. jne LBB15_11
  1840. ## BB#13: ## %invoke.cont8
  1841. leaq -8(%r12,%rbx), %rax
  1842. movq -64(%rbp), %rcx ## 8-byte Reload
  1843. movq (%rcx), %r12
  1844. movq 8(%rcx), %rbx
  1845. movq %rax, (%rcx)
  1846. movq -80(%rbp), %rax ## 8-byte Reload
  1847. movq %rax, 8(%rcx)
  1848. movq -72(%rbp), %rax ## 8-byte Reload
  1849. movq %rax, 16(%rcx)
  1850. cmpq %r12, %rbx
  1851. je LBB15_17
  1852. ## BB#14: ## %while.body.lr.ph.i.i.i.i.i
  1853. leaq -56(%rbp), %r14
  1854. .align 4, 0x90
  1855. LBB15_15: ## %while.body.i.i.i.i.i
  1856. ## =>This Inner Loop Header: Depth=1
  1857. movl -8(%rbx), %edi
  1858. movl %edi, %esi
  1859. sarl $31, %esi
  1860. xorl %edi, %esi
  1861. leaq -4(%rbx), %rcx
  1862. Ltmp137:
  1863. xorl %r8d, %r8d
  1864. xorl %r9d, %r9d
  1865. movq %r14, %rdx
  1866. callq __ZN5boost6detail7variant15visitation_implIN4mpl_4int_ILi0EEENS1_20visitation_impl_stepINS_3mpl6l_iterINS7_6l_itemINS3_5long_ILl2EEEiNS9_INSA_ILl1EEEfNS7_5l_endEEEEEEENS8_ISD_EEEENS1_9destroyerEPvNS_7variantIifNS1_5void_ESM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_SM_E18has_fallback_type_EEENT1_11result_typeEiiRSP_T2_NS3_5bool_ILb0EEET3_PT_PT0_
  1867. Ltmp138:
  1868. ## BB#16: ## %_ZNSt3__116allocator_traitsINS_9allocatorIN5boost7variantIifNS2_6detail7variant5void_ES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_EEEEE7destroyIS7_EEvRS8_PT_.exit.i.i.i.i.i
  1869. ## in Loop: Header=BB15_15 Depth=1
  1870. addq $-8, %rbx
  1871. cmpq %rbx, %r12
  1872. jne LBB15_15
  1873. jmp LBB15_17
  1874. LBB15_9: ## %invoke.cont8.thread
  1875. movq -64(%rbp), %rax ## 8-byte Reload
  1876. movq %rdx, (%rax)
  1877. movq %rsi, 8(%rax)
  1878. movq %rcx, 16(%rax)
  1879. LBB15_17: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEE5clearEv.exit.i.i
  1880. testq %r12, %r12
  1881. je LBB15_18
  1882. ## BB#21: ## %if.then.i.i
  1883. movq %r12, %rdi
  1884. addq $40, %rsp
  1885. popq %rbx
  1886. popq %r12
  1887. popq %r13
  1888. popq %r14
  1889. popq %r15
  1890. popq %rbp
  1891. jmp __ZdlPv ## TAILCALL
  1892. LBB15_18: ## %_ZNSt3__114__split_bufferIN5boost7variantIifNS1_6detail7variant5void_ES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_EERNS_9allocatorIS6_EEED1Ev.exit
  1893. addq $40, %rsp
  1894. popq %rbx
  1895. popq %r12
  1896. popq %r13
  1897. popq %r14
  1898. popq %r15
  1899. popq %rbp
  1900. retq
  1901. LBB15_19: ## %lpad.i.i.i.i.i.i.i
  1902. Ltmp136:
  1903. movq %rax, %rdi
  1904. callq ___clang_call_terminate
  1905. LBB15_20: ## %terminate.lpad.i.i.i.i.i.i.i.i.i.i.i
  1906. Ltmp139:
  1907. movq %rax, %rdi
  1908. callq ___clang_call_terminate
  1909. .cfi_endproc
  1910. Leh_func_end15:
  1911. .section __TEXT,__gcc_except_tab
  1912. .align 2
  1913. GCC_except_table15:
  1914. Lexception15:
  1915. .byte 255 ## @LPStart Encoding = omit
  1916. .byte 155 ## @TType Encoding = indirect pcrel sdata4
  1917. .asciz "\257\200" ## @TType base offset
  1918. .byte 3 ## Call site Encoding = udata4
  1919. .byte 39 ## Call site table length
  1920. Lset73 = Leh_func_begin15-Leh_func_begin15 ## >> Call Site 1 <<
  1921. .long Lset73
  1922. Lset74 = Ltmp134-Leh_func_begin15 ## Call between Leh_func_begin15 and Ltmp134
  1923. .long Lset74
  1924. .long 0 ## has no landing pad
  1925. .byte 0 ## On action: cleanup
  1926. Lset75 = Ltmp134-Leh_func_begin15 ## >> Call Site 2 <<
  1927. .long Lset75
  1928. Lset76 = Ltmp135-Ltmp134 ## Call between Ltmp134 and Ltmp135
  1929. .long Lset76
  1930. Lset77 = Ltmp136-Leh_func_begin15 ## jumps to Ltmp136
  1931. .long Lset77
  1932. .byte 1 ## On action: 1
  1933. Lset78 = Ltmp137-Leh_func_begin15 ## >> Call Site 3 <<
  1934. .long Lset78
  1935. Lset79 = Ltmp138-Ltmp137 ## Call between Ltmp137 and Ltmp138
  1936. .long Lset79
  1937. Lset80 = Ltmp139-Leh_func_begin15 ## jumps to Ltmp139
  1938. .long Lset80
  1939. .byte 1 ## On action: 1
  1940. .byte 1 ## >> Action Record 1 <<
  1941. ## Catch TypeInfo 1
  1942. .byte 0 ## No further actions
  1943. ## >> Catch TypeInfos <<
  1944. .long 0 ## TypeInfo 1
  1945. .align 2
  1946.  
  1947. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1948. .globl __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP10float_typeEEEvDpOT_
  1949. .weak_def_can_be_hidden __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP10float_typeEEEvDpOT_
  1950. .align 4, 0x90
  1951. __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP10float_typeEEEvDpOT_: ## @_ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP10float_typeEEEvDpOT_
  1952. .cfi_startproc
  1953. ## BB#0: ## %entry
  1954. pushq %rbp
  1955. Ltmp148:
  1956. .cfi_def_cfa_offset 16
  1957. Ltmp149:
  1958. .cfi_offset %rbp, -16
  1959. movq %rsp, %rbp
  1960. Ltmp150:
  1961. .cfi_def_cfa_register %rbp
  1962. pushq %r15
  1963. pushq %r14
  1964. pushq %r13
  1965. pushq %r12
  1966. pushq %rbx
  1967. pushq %rax
  1968. Ltmp151:
  1969. .cfi_offset %rbx, -56
  1970. Ltmp152:
  1971. .cfi_offset %r12, -48
  1972. Ltmp153:
  1973. .cfi_offset %r13, -40
  1974. Ltmp154:
  1975. .cfi_offset %r14, -32
  1976. Ltmp155:
  1977. .cfi_offset %r15, -24
  1978. movq %rsi, -48(%rbp) ## 8-byte Spill
  1979. movq %rdi, %r14
  1980. movq (%r14), %r12
  1981. movq 8(%r14), %rbx
  1982. subq %r12, %rbx
  1983. sarq $3, %rbx
  1984. incq %rbx
  1985. movq %rbx, %rax
  1986. shrq $61, %rax
  1987. je LBB16_2
  1988. ## BB#1: ## %if.then.i
  1989. movq %r14, %rdi
  1990. callq __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
  1991. movq (%r14), %r12
  1992. LBB16_2: ## %if.end.i
  1993. movq 16(%r14), %r15
  1994. subq %r12, %r15
  1995. movq %r15, %rax
  1996. sarq $3, %rax
  1997. movabsq $1152921504606846975, %rcx ## imm = 0xFFFFFFFFFFFFFFF
  1998. cmpq %rcx, %rax
  1999. jae LBB16_3
  2000. ## BB#4: ## %_ZNKSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE11__recommendEm.exit
  2001. sarq $2, %r15
  2002. cmpq %rbx, %r15
  2003. cmovbq %rbx, %r15
  2004. movq 8(%r14), %rbx
  2005. movq %rbx, %r13
  2006. subq %r12, %r13
  2007. sarq $3, %r13
  2008. xorl %ecx, %ecx
  2009. testq %r15, %r15
  2010. movl $0, %eax
  2011. jne LBB16_5
  2012. jmp LBB16_6
  2013. LBB16_3: ## %_ZNKSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE11__recommendEm.exit.thread
  2014. movabsq $2305843009213693951, %r15 ## imm = 0x1FFFFFFFFFFFFFFF
  2015. movq 8(%r14), %rbx
  2016. movq %rbx, %r13
  2017. subq %r12, %r13
  2018. sarq $3, %r13
  2019. LBB16_5: ## %cond.true.i.i
  2020. leaq (,%r15,8), %rdi
  2021. callq __Znwm
  2022. movq %r15, %rcx
  2023. LBB16_6: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEEC1EmmS8_.exit
  2024. leaq (,%r13,8), %rdx
  2025. addq %rax, %rdx
  2026. je LBB16_8
  2027. ## BB#7: ## %new.notnull.i.i.i
  2028. movq -48(%rbp), %rsi ## 8-byte Reload
  2029. movq (%rsi), %rsi
  2030. movq %rsi, (%rdx)
  2031. LBB16_8: ## %invoke.cont
  2032. leaq (%rax,%rcx,8), %r8
  2033. leaq 8(%rax,%r13,8), %r9
  2034. cmpq %r12, %rbx
  2035. je LBB16_9
  2036. ## BB#10: ## %while.body.i.i.preheader
  2037. leaq -1(%r13), %r10
  2038. leaq -8(%rbx), %rcx
  2039. subq %r12, %rcx
  2040. movq %rcx, %r11
  2041. shrq $3, %r11
  2042. subq %r11, %r10
  2043. incq %r11
  2044. je LBB16_12
  2045. ## BB#11: ## %while.body.i.i.preheader
  2046. movq %r11, %rdi
  2047. andq $3, %rdi
  2048. je LBB16_15
  2049. LBB16_12: ## %while.body.i.i.prol.preheader
  2050. leaq (%rax,%r13,8), %rdx
  2051. shrl $3, %ecx
  2052. incl %ecx
  2053. andq $3, %rcx
  2054. negq %rcx
  2055. xorl %edi, %edi
  2056. .align 4, 0x90
  2057. LBB16_13: ## %while.body.i.i.prol
  2058. ## =>This Inner Loop Header: Depth=1
  2059. movq -8(%rbx,%rdi), %rsi
  2060. movq $0, -8(%rbx,%rdi)
  2061. movq %rsi, -8(%rdx,%rdi)
  2062. addq $-8, %rdi
  2063. incq %rcx
  2064. jne LBB16_13
  2065. ## BB#14: ## %while.body.i.i.preheader.split.loopexit
  2066. addq %rdi, %rdx
  2067. addq %rdi, %rbx
  2068. LBB16_15: ## %while.body.i.i.preheader.split
  2069. cmpq $4, %r11
  2070. jb LBB16_18
  2071. ## BB#16: ## %while.body.i.i.preheader.split.split
  2072. addq $-8, %rdx
  2073. .align 4, 0x90
  2074. LBB16_17: ## %while.body.i.i
  2075. ## =>This Inner Loop Header: Depth=1
  2076. movq -8(%rbx), %rcx
  2077. movq $0, -8(%rbx)
  2078. movq %rcx, (%rdx)
  2079. movq -16(%rbx), %rcx
  2080. movq $0, -16(%rbx)
  2081. movq %rcx, -8(%rdx)
  2082. movq -24(%rbx), %rcx
  2083. movq $0, -24(%rbx)
  2084. movq %rcx, -16(%rdx)
  2085. movq -32(%rbx), %rcx
  2086. movq $0, -32(%rbx)
  2087. leaq -32(%rbx), %rbx
  2088. movq %rcx, -24(%rdx)
  2089. addq $-32, %rdx
  2090. cmpq %rbx, %r12
  2091. jne LBB16_17
  2092. LBB16_18: ## %invoke.cont8
  2093. leaq (%rax,%r10,8), %rax
  2094. movq (%r14), %r12
  2095. movq 8(%r14), %rbx
  2096. movq %rax, (%r14)
  2097. movq %r9, 8(%r14)
  2098. movq %r8, 16(%r14)
  2099. cmpq %r12, %rbx
  2100. je LBB16_21
  2101. .align 4, 0x90
  2102. LBB16_19: ## %while.body.i.i.i.i.i
  2103. ## =>This Inner Loop Header: Depth=1
  2104. movq -8(%rbx), %rdi
  2105. movq $0, -8(%rbx)
  2106. leaq -8(%rbx), %rbx
  2107. testq %rdi, %rdi
  2108. je LBB16_20
  2109. ## BB#23: ## %_ZNKSt3__114default_deleteI10value_typeEclEPS1_.exit.i.i.i.i.i.i.i.i.i.i.i
  2110. ## in Loop: Header=BB16_19 Depth=1
  2111. movq (%rdi), %rax
  2112. callq *8(%rax)
  2113. LBB16_20: ## %while.cond.backedge.i.i.i.i.i
  2114. ## in Loop: Header=BB16_19 Depth=1
  2115. cmpq %rbx, %r12
  2116. jne LBB16_19
  2117. jmp LBB16_21
  2118. LBB16_9: ## %invoke.cont8.thread
  2119. movq %rdx, (%r14)
  2120. movq %r9, 8(%r14)
  2121. movq %r8, 16(%r14)
  2122. LBB16_21: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEE5clearEv.exit.i.i
  2123. testq %r12, %r12
  2124. je LBB16_22
  2125. ## BB#24: ## %if.then.i.i
  2126. movq %r12, %rdi
  2127. addq $8, %rsp
  2128. popq %rbx
  2129. popq %r12
  2130. popq %r13
  2131. popq %r14
  2132. popq %r15
  2133. popq %rbp
  2134. jmp __ZdlPv ## TAILCALL
  2135. LBB16_22: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEED1Ev.exit
  2136. addq $8, %rsp
  2137. popq %rbx
  2138. popq %r12
  2139. popq %r13
  2140. popq %r14
  2141. popq %r15
  2142. popq %rbp
  2143. retq
  2144. .cfi_endproc
  2145.  
  2146. .globl __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP8int_typeEEEvDpOT_
  2147. .weak_def_can_be_hidden __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP8int_typeEEEvDpOT_
  2148. .align 4, 0x90
  2149. __ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP8int_typeEEEvDpOT_: ## @_ZNSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE24__emplace_back_slow_pathIJP8int_typeEEEvDpOT_
  2150. .cfi_startproc
  2151. ## BB#0: ## %entry
  2152. pushq %rbp
  2153. Ltmp156:
  2154. .cfi_def_cfa_offset 16
  2155. Ltmp157:
  2156. .cfi_offset %rbp, -16
  2157. movq %rsp, %rbp
  2158. Ltmp158:
  2159. .cfi_def_cfa_register %rbp
  2160. pushq %r15
  2161. pushq %r14
  2162. pushq %r13
  2163. pushq %r12
  2164. pushq %rbx
  2165. pushq %rax
  2166. Ltmp159:
  2167. .cfi_offset %rbx, -56
  2168. Ltmp160:
  2169. .cfi_offset %r12, -48
  2170. Ltmp161:
  2171. .cfi_offset %r13, -40
  2172. Ltmp162:
  2173. .cfi_offset %r14, -32
  2174. Ltmp163:
  2175. .cfi_offset %r15, -24
  2176. movq %rsi, -48(%rbp) ## 8-byte Spill
  2177. movq %rdi, %r14
  2178. movq (%r14), %r12
  2179. movq 8(%r14), %rbx
  2180. subq %r12, %rbx
  2181. sarq $3, %rbx
  2182. incq %rbx
  2183. movq %rbx, %rax
  2184. shrq $61, %rax
  2185. je LBB17_2
  2186. ## BB#1: ## %if.then.i
  2187. movq %r14, %rdi
  2188. callq __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
  2189. movq (%r14), %r12
  2190. LBB17_2: ## %if.end.i
  2191. movq 16(%r14), %r15
  2192. subq %r12, %r15
  2193. movq %r15, %rax
  2194. sarq $3, %rax
  2195. movabsq $1152921504606846975, %rcx ## imm = 0xFFFFFFFFFFFFFFF
  2196. cmpq %rcx, %rax
  2197. jae LBB17_3
  2198. ## BB#4: ## %_ZNKSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE11__recommendEm.exit
  2199. sarq $2, %r15
  2200. cmpq %rbx, %r15
  2201. cmovbq %rbx, %r15
  2202. movq 8(%r14), %rbx
  2203. movq %rbx, %r13
  2204. subq %r12, %r13
  2205. sarq $3, %r13
  2206. xorl %ecx, %ecx
  2207. testq %r15, %r15
  2208. movl $0, %eax
  2209. jne LBB17_5
  2210. jmp LBB17_6
  2211. LBB17_3: ## %_ZNKSt3__16vectorINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEENS_9allocatorIS5_EEE11__recommendEm.exit.thread
  2212. movabsq $2305843009213693951, %r15 ## imm = 0x1FFFFFFFFFFFFFFF
  2213. movq 8(%r14), %rbx
  2214. movq %rbx, %r13
  2215. subq %r12, %r13
  2216. sarq $3, %r13
  2217. LBB17_5: ## %cond.true.i.i
  2218. leaq (,%r15,8), %rdi
  2219. callq __Znwm
  2220. movq %r15, %rcx
  2221. LBB17_6: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEEC1EmmS8_.exit
  2222. leaq (,%r13,8), %rdx
  2223. addq %rax, %rdx
  2224. je LBB17_8
  2225. ## BB#7: ## %new.notnull.i.i.i
  2226. movq -48(%rbp), %rsi ## 8-byte Reload
  2227. movq (%rsi), %rsi
  2228. movq %rsi, (%rdx)
  2229. LBB17_8: ## %invoke.cont
  2230. leaq (%rax,%rcx,8), %r8
  2231. leaq 8(%rax,%r13,8), %r9
  2232. cmpq %r12, %rbx
  2233. je LBB17_9
  2234. ## BB#10: ## %while.body.i.i.preheader
  2235. leaq -1(%r13), %r10
  2236. leaq -8(%rbx), %rcx
  2237. subq %r12, %rcx
  2238. movq %rcx, %r11
  2239. shrq $3, %r11
  2240. subq %r11, %r10
  2241. incq %r11
  2242. je LBB17_12
  2243. ## BB#11: ## %while.body.i.i.preheader
  2244. movq %r11, %rdi
  2245. andq $3, %rdi
  2246. je LBB17_15
  2247. LBB17_12: ## %while.body.i.i.prol.preheader
  2248. leaq (%rax,%r13,8), %rdx
  2249. shrl $3, %ecx
  2250. incl %ecx
  2251. andq $3, %rcx
  2252. negq %rcx
  2253. xorl %edi, %edi
  2254. .align 4, 0x90
  2255. LBB17_13: ## %while.body.i.i.prol
  2256. ## =>This Inner Loop Header: Depth=1
  2257. movq -8(%rbx,%rdi), %rsi
  2258. movq $0, -8(%rbx,%rdi)
  2259. movq %rsi, -8(%rdx,%rdi)
  2260. addq $-8, %rdi
  2261. incq %rcx
  2262. jne LBB17_13
  2263. ## BB#14: ## %while.body.i.i.preheader.split.loopexit
  2264. addq %rdi, %rdx
  2265. addq %rdi, %rbx
  2266. LBB17_15: ## %while.body.i.i.preheader.split
  2267. cmpq $4, %r11
  2268. jb LBB17_18
  2269. ## BB#16: ## %while.body.i.i.preheader.split.split
  2270. addq $-8, %rdx
  2271. .align 4, 0x90
  2272. LBB17_17: ## %while.body.i.i
  2273. ## =>This Inner Loop Header: Depth=1
  2274. movq -8(%rbx), %rcx
  2275. movq $0, -8(%rbx)
  2276. movq %rcx, (%rdx)
  2277. movq -16(%rbx), %rcx
  2278. movq $0, -16(%rbx)
  2279. movq %rcx, -8(%rdx)
  2280. movq -24(%rbx), %rcx
  2281. movq $0, -24(%rbx)
  2282. movq %rcx, -16(%rdx)
  2283. movq -32(%rbx), %rcx
  2284. movq $0, -32(%rbx)
  2285. leaq -32(%rbx), %rbx
  2286. movq %rcx, -24(%rdx)
  2287. addq $-32, %rdx
  2288. cmpq %rbx, %r12
  2289. jne LBB17_17
  2290. LBB17_18: ## %invoke.cont8
  2291. leaq (%rax,%r10,8), %rax
  2292. movq (%r14), %r12
  2293. movq 8(%r14), %rbx
  2294. movq %rax, (%r14)
  2295. movq %r9, 8(%r14)
  2296. movq %r8, 16(%r14)
  2297. cmpq %r12, %rbx
  2298. je LBB17_21
  2299. .align 4, 0x90
  2300. LBB17_19: ## %while.body.i.i.i.i.i
  2301. ## =>This Inner Loop Header: Depth=1
  2302. movq -8(%rbx), %rdi
  2303. movq $0, -8(%rbx)
  2304. leaq -8(%rbx), %rbx
  2305. testq %rdi, %rdi
  2306. je LBB17_20
  2307. ## BB#23: ## %_ZNKSt3__114default_deleteI10value_typeEclEPS1_.exit.i.i.i.i.i.i.i.i.i.i.i
  2308. ## in Loop: Header=BB17_19 Depth=1
  2309. movq (%rdi), %rax
  2310. callq *8(%rax)
  2311. LBB17_20: ## %while.cond.backedge.i.i.i.i.i
  2312. ## in Loop: Header=BB17_19 Depth=1
  2313. cmpq %rbx, %r12
  2314. jne LBB17_19
  2315. jmp LBB17_21
  2316. LBB17_9: ## %invoke.cont8.thread
  2317. movq %rdx, (%r14)
  2318. movq %r9, 8(%r14)
  2319. movq %r8, 16(%r14)
  2320. LBB17_21: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEE5clearEv.exit.i.i
  2321. testq %r12, %r12
  2322. je LBB17_22
  2323. ## BB#24: ## %if.then.i.i
  2324. movq %r12, %rdi
  2325. addq $8, %rsp
  2326. popq %rbx
  2327. popq %r12
  2328. popq %r13
  2329. popq %r14
  2330. popq %r15
  2331. popq %rbp
  2332. jmp __ZdlPv ## TAILCALL
  2333. LBB17_22: ## %_ZNSt3__114__split_bufferINS_10unique_ptrI10value_typeNS_14default_deleteIS2_EEEERNS_9allocatorIS5_EEED1Ev.exit
  2334. addq $8, %rsp
  2335. popq %rbx
  2336. popq %r12
  2337. popq %r13
  2338. popq %r14
  2339. popq %r15
  2340. popq %rbp
  2341. retq
  2342. .cfi_endproc
  2343.  
  2344. .globl __ZN10float_typeD1Ev
  2345. .weak_def_can_be_hidden __ZN10float_typeD1Ev
  2346. .align 4, 0x90
  2347. __ZN10float_typeD1Ev: ## @_ZN10float_typeD1Ev
  2348. .cfi_startproc
  2349. ## BB#0: ## %entry
  2350. pushq %rbp
  2351. Ltmp164:
  2352. .cfi_def_cfa_offset 16
  2353. Ltmp165:
  2354. .cfi_offset %rbp, -16
  2355. movq %rsp, %rbp
  2356. Ltmp166:
  2357. .cfi_def_cfa_register %rbp
  2358. popq %rbp
  2359. retq
  2360. .cfi_endproc
  2361.  
  2362. .globl __ZN10float_typeD0Ev
  2363. .weak_def_can_be_hidden __ZN10float_typeD0Ev
  2364. .align 4, 0x90
  2365. __ZN10float_typeD0Ev: ## @_ZN10float_typeD0Ev
  2366. .cfi_startproc
  2367. ## BB#0: ## %entry
  2368. pushq %rbp
  2369. Ltmp167:
  2370. .cfi_def_cfa_offset 16
  2371. Ltmp168:
  2372. .cfi_offset %rbp, -16
  2373. movq %rsp, %rbp
  2374. Ltmp169:
  2375. .cfi_def_cfa_register %rbp
  2376. movl $16, %esi
  2377. popq %rbp
  2378. jmp __ZdlPvm ## TAILCALL
  2379. .cfi_endproc
  2380.  
  2381. .section __TEXT,__literal4,4byte_literals
  2382. .align 2
  2383. LCPI20_0:
  2384. .long 1065353216 ## float 1
  2385. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  2386. .globl __ZN10float_type3incEv
  2387. .weak_def_can_be_hidden __ZN10float_type3incEv
  2388. .align 4, 0x90
  2389. __ZN10float_type3incEv: ## @_ZN10float_type3incEv
  2390. .cfi_startproc
  2391. ## BB#0: ## %entry
  2392. pushq %rbp
  2393. Ltmp170:
  2394. .cfi_def_cfa_offset 16
  2395. Ltmp171:
  2396. .cfi_offset %rbp, -16
  2397. movq %rsp, %rbp
  2398. Ltmp172:
  2399. .cfi_def_cfa_register %rbp
  2400. movss 8(%rdi), %xmm0
  2401. addss LCPI20_0(%rip), %xmm0
  2402. movss %xmm0, 8(%rdi)
  2403. popq %rbp
  2404. retq
  2405. .cfi_endproc
  2406.  
  2407. .globl __ZN8int_typeD1Ev
  2408. .weak_def_can_be_hidden __ZN8int_typeD1Ev
  2409. .align 4, 0x90
  2410. __ZN8int_typeD1Ev: ## @_ZN8int_typeD1Ev
  2411. .cfi_startproc
  2412. ## BB#0: ## %entry
  2413. pushq %rbp
  2414. Ltmp173:
  2415. .cfi_def_cfa_offset 16
  2416. Ltmp174:
  2417. .cfi_offset %rbp, -16
  2418. movq %rsp, %rbp
  2419. Ltmp175:
  2420. .cfi_def_cfa_register %rbp
  2421. popq %rbp
  2422. retq
  2423. .cfi_endproc
  2424.  
  2425. .globl __ZN8int_typeD0Ev
  2426. .weak_def_can_be_hidden __ZN8int_typeD0Ev
  2427. .align 4, 0x90
  2428. __ZN8int_typeD0Ev: ## @_ZN8int_typeD0Ev
  2429. .cfi_startproc
  2430. ## BB#0: ## %entry
  2431. pushq %rbp
  2432. Ltmp176:
  2433. .cfi_def_cfa_offset 16
  2434. Ltmp177:
  2435. .cfi_offset %rbp, -16
  2436. movq %rsp, %rbp
  2437. Ltmp178:
  2438. .cfi_def_cfa_register %rbp
  2439. movl $16, %esi
  2440. popq %rbp
  2441. jmp __ZdlPvm ## TAILCALL
  2442. .cfi_endproc
  2443.  
  2444. .globl __ZN8int_type3incEv
  2445. .weak_def_can_be_hidden __ZN8int_type3incEv
  2446. .align 4, 0x90
  2447. __ZN8int_type3incEv: ## @_ZN8int_type3incEv
  2448. .cfi_startproc
  2449. ## BB#0: ## %entry
  2450. pushq %rbp
  2451. Ltmp179:
  2452. .cfi_def_cfa_offset 16
  2453. Ltmp180:
  2454. .cfi_offset %rbp, -16
  2455. movq %rsp, %rbp
  2456. Ltmp181:
  2457. .cfi_def_cfa_register %rbp
  2458. incl 8(%rdi)
  2459. popq %rbp
  2460. retq
  2461. .cfi_endproc
  2462.  
  2463. .section __TEXT,__cstring,cstring_literals
  2464. L_.str: ## @.str
  2465. .asciz "polymorphism: "
  2466.  
  2467. L_.str1: ## @.str1
  2468. .asciz "boost::variant: "
  2469.  
  2470. L___func__._ZN5boost6detail7variant13forced_returnIvEET_v: ## @__func__._ZN5boost6detail7variant13forced_returnIvEET_v
  2471. .asciz "forced_return"
  2472.  
  2473. L_.str2: ## @.str2
  2474. .asciz "/usr/local/include/boost/variant/detail/forced_return.hpp"
  2475.  
  2476. L_.str3: ## @.str3
  2477. .asciz "false"
  2478.  
  2479. .section __DATA,__datacoal_nt,coalesced
  2480. .globl __ZTV10float_type ## @_ZTV10float_type
  2481. .weak_def_can_be_hidden __ZTV10float_type
  2482. .align 3
  2483. __ZTV10float_type:
  2484. .quad 0
  2485. .quad __ZTI10float_type
  2486. .quad __ZN10float_typeD1Ev
  2487. .quad __ZN10float_typeD0Ev
  2488. .quad __ZN10float_type3incEv
  2489.  
  2490. .section __TEXT,__const_coal,coalesced
  2491. .globl __ZTS10float_type ## @_ZTS10float_type
  2492. .weak_definition __ZTS10float_type
  2493. __ZTS10float_type:
  2494. .asciz "10float_type"
  2495.  
  2496. .globl __ZTS10value_type ## @_ZTS10value_type
  2497. .weak_definition __ZTS10value_type
  2498. __ZTS10value_type:
  2499. .asciz "10value_type"
  2500.  
  2501. .section __DATA,__datacoal_nt,coalesced
  2502. .globl __ZTI10value_type ## @_ZTI10value_type
  2503. .weak_definition __ZTI10value_type
  2504. .align 3
  2505. __ZTI10value_type:
  2506. .quad __ZTVN10__cxxabiv117__class_type_infoE+16
  2507. .quad __ZTS10value_type
  2508.  
  2509. .globl __ZTI10float_type ## @_ZTI10float_type
  2510. .weak_definition __ZTI10float_type
  2511. .align 4
  2512. __ZTI10float_type:
  2513. .quad __ZTVN10__cxxabiv120__si_class_type_infoE+16
  2514. .quad __ZTS10float_type
  2515. .quad __ZTI10value_type
  2516.  
  2517. .globl __ZTV8int_type ## @_ZTV8int_type
  2518. .weak_def_can_be_hidden __ZTV8int_type
  2519. .align 3
  2520. __ZTV8int_type:
  2521. .quad 0
  2522. .quad __ZTI8int_type
  2523. .quad __ZN8int_typeD1Ev
  2524. .quad __ZN8int_typeD0Ev
  2525. .quad __ZN8int_type3incEv
  2526.  
  2527. .section __TEXT,__const_coal,coalesced
  2528. .globl __ZTS8int_type ## @_ZTS8int_type
  2529. .weak_definition __ZTS8int_type
  2530. __ZTS8int_type:
  2531. .asciz "8int_type"
  2532.  
  2533. .section __DATA,__datacoal_nt,coalesced
  2534. .globl __ZTI8int_type ## @_ZTI8int_type
  2535. .weak_definition __ZTI8int_type
  2536. .align 4
  2537. __ZTI8int_type:
  2538. .quad __ZTVN10__cxxabiv120__si_class_type_infoE+16
  2539. .quad __ZTS8int_type
  2540. .quad __ZTI10value_type
  2541.  
  2542.  
  2543. .subsections_via_symbols
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement