--- cfgloop.gcc45.s	2014-12-26 22:37:45.000000000 +0900
+++ cfgloop.gcc48.s	2014-12-26 22:25:31.000000000 +0900
@@ -8,24 +8,19 @@
 .LFB284:
 	.cfi_startproc
 	mov.l	@r5,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
 	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L5
-	mov	r15,r14
-	bra	.L2
+	bt	.L5
 	mov.l	@(4,r1),r2
+	bra	.L7
+	cmp/eq	r2,r4
 .L5:
 	mov	#0,r2
-.L2:
 	cmp/eq	r2,r4
-	bt	.L3
-	mov	r4,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r1
+.L7:
+	bt.s	.L3
+	shll2	r4
+	add	r4,r1
+	mov.l	@(8,r1),r1
 	mov	#1,r0
 	bra	.L4
 	mov.l	r1,@r6
@@ -34,9 +29,8 @@
 	mov.l	r1,@r6
 	mov	#0,r0
 .L4:
-	mov	r14,r15
 	rts	
-	mov.l	@r15+,r14
+	nop
 	.cfi_endproc
 .LFE284:
 	.size	_ZL7ei_cond13edge_iteratorPP8edge_def, .-_ZL7ei_cond13edge_iteratorPP8edge_def
@@ -45,31 +39,25 @@
 _ZL15number_of_loopsv:
 .LFB318:
 	.cfi_startproc
-	mov.l	.L10,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
+	mov.l	.L12,r1
 	mov.l	@r1,r1
 	mov.l	@(16,r1),r1
 	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L9
-	mov	r15,r14
+	bt	.L11
 	mov.l	@(4,r1),r1
 	tst	r1,r1
-	bt	.L9
+	bt	.L11
 	mov.l	@(4,r1),r0
-	bra	.L7
+	bra	.L9
 	nop
-.L9:
+.L11:
 	mov	#0,r0
-.L7:
-	mov	r14,r15
+.L9:
 	rts	
-	mov.l	@r15+,r14
-.L11:
+	nop
+.L13:
 	.align 2
-.L10:
+.L12:
 	.long	cfun
 	.cfi_endproc
 .LFE318:
@@ -79,24 +67,17 @@
 _ZL23loops_state_satisfies_pj:
 .LFB319:
 	.cfi_startproc
-	mov.l	.L13,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
+	mov.l	.L15,r1
 	mov.l	@r1,r1
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
 	mov.l	@(16,r1),r1
 	mov.l	@r1,r1
 	and	r4,r1
 	cmp/eq	r4,r1
-	movt	r0
-	mov	r14,r15
 	rts	
-	mov.l	@r15+,r14
-.L14:
+	movt	r0
+.L16:
 	.align 2
-.L13:
+.L15:
 	.long	cfun
 	.cfi_endproc
 .LFE319:
@@ -106,20 +87,13 @@
 _ZL14loop_exit_hashPKv:
 .LFB930:
 	.cfi_startproc
-	mov.l	.L16,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
+	mov.l	.L18,r1
 	mov.l	@r1,r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov.l	@r4,r4
-	mov	r14,r15
 	jmp	@r0
-	mov.l	@r15+,r14
-.L17:
+	mov.l	@r4,r4
+.L19:
 	.align 2
-.L16:
+.L18:
 	.long	htab_hash_pointer
 	.cfi_endproc
 .LFE930:
@@ -130,51 +104,12 @@
 .LFB931:
 	.cfi_startproc
 	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
 	cmp/eq	r5,r1
-	movt	r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	r14,r15
 	rts	
-	mov.l	@r15+,r14
+	movt	r0
 	.cfi_endproc
 .LFE931:
 	.size	_ZL12loop_exit_eqPKvS0_, .-_ZL12loop_exit_eqPKvS0_
-	.align 1
-	.type	_ZL10glb_enum_pPK15basic_block_defPKv, @function
-_ZL10glb_enum_pPK15basic_block_defPKv:
-.LFB923:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r1
-	mov.l	@(8,r5),r6
-	cmp/eq	r6,r4
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L20
-	mov	r15,r14
-	mov.l	.L21,r0
-	mov	#1,r4
-	mov	r1,r5
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L20:
-	mov	#0,r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L22:
-	.align 2
-.L21:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-	.cfi_endproc
-.LFE923:
-	.size	_ZL10glb_enum_pPK15basic_block_defPKv, .-_ZL10glb_enum_pPK15basic_block_defPKv
 	.section	.rodata.str1.4,"aMS",@progbits,1
 	.align 2
 .LC0:
@@ -185,91 +120,181 @@
 _ZL18dump_recorded_exitPPvS_:
 .LFB936:
 	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r2
 	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 4
+	.cfi_offset 17, -4
+	add	#-4,r15
 	.cfi_def_cfa_offset 8
 	mov.l	@r4,r1
-	mov	r15,r14
-	.cfi_offset 17, -8
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bra	.L24
+	mov	#0,r2
 	mov.l	@r1,r3
-.L25:
+.L23:
 	mov.l	@(12,r1),r1
-	add	#1,r2
-.L24:
 	tst	r1,r1
-	bf	.L25
-	mov.l	@r3,r1
-	add	#-4,r15
-	mov.l	.L26,r0
+	bf.s	.L23
+	add	#1,r2
+	mov.l	@r3,r7
 	mov	r5,r4
-	mov.l	@(44,r1),r6
 	mov.l	@(4,r3),r1
-	mov.l	.L27,r5
-	mov.l	@(44,r1),r7
-	.cfi_escape 0x2e,0x4
-	jsr	@r0
+	mov.l	.L24,r0
 	mov.l	r2,@r15
+	mov.l	.L25,r5
+	mov.l	@(44,r7),r6
+	jsr	@r0
+	mov.l	@(44,r1),r7
 	mov	#1,r0
-	mov	r14,r15
+	add	#4,r15
+	.cfi_def_cfa_offset 4
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 0
 	rts	
-	mov.l	@r15+,r14
-.L28:
-	.align 2
+	nop
 .L26:
+	.align 2
+.L24:
 	.long	fprintf
-.L27:
+.L25:
 	.long	.LC0
 	.cfi_endproc
 .LFE936:
 	.size	_ZL18dump_recorded_exitPPvS_, .-_ZL18dump_recorded_exitPPvS_
 	.align 1
+	.type	_ZL8fel_nextP13loop_iteratorPP4loop, @function
+_ZL8fel_nextP13loop_iteratorPP4loop:
+.LFB322:
+	.cfi_startproc
+	mov.l	r8,@-r15
+	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
+	mov.l	r9,@-r15
+	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov.l	.L35,r7
+	mov	r4,r8
+	mov	r5,r9
+.L31:
+	mov.l	@r8,r4
+	tst	r4,r4
+	bt.s	.L28
+	mov.l	@(4,r8),r1
+	mov.l	@(4,r4),r2
+	cmp/hs	r2,r1
+	bt.s	.L29
+	mov	r1,r2
+	shll2	r2
+	add	r2,r4
+	add	#1,r1
+	mov.l	@(8,r4),r3
+	mov.l	r1,@(4,r8)
+	mov.l	@r7,r1
+	mov.l	@(16,r1),r1
+	mov.l	@(4,r1),r2
+	mov	r3,r1
+	shll2	r1
+	add	r2,r1
+	mov.l	@(8,r1),r1
+	tst	r1,r1
+	bt.s	.L31
+	mov.l	r1,@r9
+	bra	.L27
+	nop
+.L29:
+	mov.l	.L36,r1
+	jsr	@r1
+	nop
+	mov	#0,r1
+	mov.l	r1,@r8
+.L28:
+	mov	#0,r1
+	mov.l	r1,@r9
+.L27:
+	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
+	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	rts	
+	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L37:
+	.align 2
+.L35:
+	.long	cfun
+.L36:
+	.long	free
+	.cfi_endproc
+.LFE322:
+	.size	_ZL8fel_nextP13loop_iteratorPP4loop, .-_ZL8fel_nextP13loop_iteratorPP4loop
+	.align 1
+	.type	_ZL10glb_enum_pPK15basic_block_defPKv, @function
+_ZL10glb_enum_pPK15basic_block_defPKv:
+.LFB923:
+	.cfi_startproc
+	mov.l	@(8,r5),r6
+	cmp/eq	r6,r4
+	bt.s	.L39
+	mov	r4,r1
+	mov.l	.L40,r0
+	mov	#1,r4
+	jmp	@r0
+	mov	r1,r5
+.L39:
+	rts	
+	mov	#0,r0
+.L41:
+	.align 2
+.L40:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
+	.cfi_endproc
+.LFE923:
+	.size	_ZL10glb_enum_pPK15basic_block_defPKv, .-_ZL10glb_enum_pPK15basic_block_defPKv
+	.align 1
 	.type	_ZL14loop_exit_freePv, @function
 _ZL14loop_exit_freePv:
 .LFB932:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L32,r8
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	.cfi_def_cfa_register 14
-	bra	.L30
-	mov	r15,r14
-.L31:
-	mov.l	@(8,r4),r1
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov.l	.L46,r9
+.L43:
+	tst	r4,r4
+	bt	.L45
 	mov.l	@(4,r4),r2
-	mov.l	@(12,r4),r9
+	mov.l	@(8,r4),r1
+	mov.l	@(12,r4),r8
 	mov.l	r2,@(4,r1)
 	mov.l	@(4,r4),r2
-	jsr	@r8
+	jsr	@r9
 	mov.l	r1,@(8,r2)
-	mov	r9,r4
-.L30:
-	tst	r4,r4
-	bf	.L31
-	mov	r14,r15
+	bra	.L43
+	mov	r8,r4
+.L45:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L33:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L47:
 	.align 2
-.L32:
+.L46:
 	.long	_Z8ggc_freePv
 	.cfi_endproc
 .LFE932:
@@ -279,105 +304,53 @@
 _ZL25mfb_redirect_edges_in_setP8edge_def:
 .LFB917:
 	.cfi_startproc
-	mov.l	r14,@-r15
+	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 17, -4
+	mov.l	.L49,r1
 	mov	r4,r5
-	mov.l	.L35,r1
-	mov.l	.L36,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	@r1,r4
-	.cfi_offset 17, -8
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
+	mov.l	.L50,r0
 	jsr	@r0
-	mov	r15,r14
+	mov.l	@r1,r4
 	tst	r0,r0
-	mov	#-1,r0
-	negc	r0,r0
-	extu.b	r0,r0
-	mov	r14,r15
+	movt	r0
+	xor	#1,r0
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 0
 	rts	
-	mov.l	@r15+,r14
-.L37:
+	nop
+.L51:
 	.align 2
-.L35:
+.L49:
 	.long	_ZL12mfb_reis_set
-.L36:
+.L50:
 	.long	_Z20pointer_set_containsPK13pointer_set_tPKv
 	.cfi_endproc
 .LFE917:
 	.size	_ZL25mfb_redirect_edges_in_setP8edge_def, .-_ZL25mfb_redirect_edges_in_setP8edge_def
 	.align 1
-	.type	_ZL10loop_outerPK4loop.clone.13, @function
-_ZL10loop_outerPK4loop.clone.13:
+	.type	_ZL10loop_outerPK4loop.isra.13, @function
+_ZL10loop_outerPK4loop.isra.13:
 .LFB1100:
 	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
 	tst	r4,r4
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L41
-	mov	r15,r14
+	bt	.L55
+	mov.l	@(4,r4),r1
+	tst	r1,r1
+	bt.s	.L55
+	shll2	r1
+	add	r1,r4
+	bra	.L53
 	mov.l	@(4,r4),r0
-	tst	r0,r0
-	bt	.L41
-	add	#1,r0
-	shll2	r0
-	bra	.L39
-	mov.l	@(r0,r4),r0
-.L41:
+.L55:
 	mov	#0,r0
-.L39:
-	mov	r14,r15
+.L53:
 	rts	
-	mov.l	@r15+,r14
+	nop
 	.cfi_endproc
 .LFE1100:
-	.size	_ZL10loop_outerPK4loop.clone.13, .-_ZL10loop_outerPK4loop.clone.13
-	.section	.text._Z12sbitmap_freeP17simple_bitmap_def,"axG",@progbits,_Z12sbitmap_freeP17simple_bitmap_def,comdat
-	.align 1
-	.weak	_Z12sbitmap_freeP17simple_bitmap_def
-	.type	_Z12sbitmap_freeP17simple_bitmap_def, @function
-_Z12sbitmap_freeP17simple_bitmap_def:
-.LFB309:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r9
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	.L43,r8
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	@r4,r4
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
-	jsr	@r8
-	mov	r15,r14
-	mov	r9,r4
-	mov	r8,r1
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L44:
-	.align 2
-.L43:
-	.long	free
-	.cfi_endproc
-.LFE309:
-	.size	_Z12sbitmap_freeP17simple_bitmap_def, .-_Z12sbitmap_freeP17simple_bitmap_def
-	.text
+	.size	_ZL10loop_outerPK4loop.isra.13, .-_ZL10loop_outerPK4loop.isra.13
 	.align 1
 	.global	_Z18flow_loop_nested_pPK4loopS1_
 	.type	_Z18flow_loop_nested_pPK4loopS1_, @function
@@ -385,36 +358,31 @@
 .LFB899:
 	.cfi_startproc
 	mov.l	@(32,r4),r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L48
-	mov	r15,r14
-	bra	.L46
-	mov.l	@(4,r1),r0
-.L48:
-	mov	#0,r0
-.L46:
-	mov.l	@(32,r5),r1
 	tst	r1,r1
-	bt	.L50
+	bt	.L59
 	mov.l	@(4,r1),r2
-	cmp/hi	r0,r2
-	bf	.L50
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r1
+	bra	.L62
+	mov.l	@(32,r5),r1
+.L59:
+	mov	#0,r2
+	mov.l	@(32,r5),r1
+.L62:
+	tst	r1,r1
+	bt	.L61
+	mov.l	@(4,r1),r3
+	cmp/hi	r2,r3
+	bf.s	.L61
+	shll2	r2
+	add	r2,r1
+	mov.l	@(8,r1),r1
 	cmp/eq	r4,r1
-	bra	.L47
+	bra	.L58
 	movt	r0
-.L50:
+.L61:
 	mov	#0,r0
-.L47:
-	mov	r14,r15
+.L58:
 	rts	
-	mov.l	@r15+,r14
+	nop
 	.cfi_endproc
 .LFE899:
 	.size	_Z18flow_loop_nested_pPK4loopS1_, .-_Z18flow_loop_nested_pPK4loopS1_
@@ -429,49 +397,47 @@
 _Z18superloop_at_depthP4loopj:
 .LFB900:
 	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 8
+	.cfi_def_cfa_offset 4
+	.cfi_offset 17, -4
 	mov.l	@(32,r4),r1
 	tst	r1,r1
-	.cfi_offset 17, -8
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L55
-	mov	r15,r14
-	bra	.L52
+	bt	.L67
 	mov.l	@(4,r1),r2
-.L55:
+	bra	.L73
+	cmp/hi	r2,r5
+.L67:
 	mov	#0,r2
-.L52:
 	cmp/hi	r2,r5
-	bf.s	.L53
+.L73:
+	bf.s	.L65
 	cmp/eq	r2,r5
-	mov.l	.L56,r1
-	mov.l	.L57,r4
-	mov.l	.L58,r6
+	mov.l	.L69,r1
+	mov.l	.L70,r4
+	mov.l	.L71,r6
 	jsr	@r1
 	mov	#79,r5
-.L53:
-	bt	.L54
-	mov	r5,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r4
-.L54:
+.L65:
+	bt.s	.L68
+	shll2	r5
+	add	r5,r1
+	bra	.L66
+	mov.l	@(8,r1),r0
+.L68:
 	mov	r4,r0
-	mov	r14,r15
+.L66:
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 0
 	rts	
-	mov.l	@r15+,r14
-.L59:
+	nop
+.L72:
 	.align 2
-.L56:
+.L69:
 	.long	_Z11fancy_abortPKciS0_
-.L57:
+.L70:
 	.long	.LC1
-.L58:
+.L71:
 	.long	_ZZ18superloop_at_depthP4loopjE12__FUNCTION__
 	.cfi_endproc
 .LFE900:
@@ -484,48 +450,47 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r1
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov	#0,r1
 	mov.l	r1,@(32,r4)
 	mov	r4,r1
 	add	#64,r1
-	mov.l	@(32,r1),r1
-	mov	r15,r14
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
-	bra	.L61
-	mov.l	@(8,r1),r4
-.L62:
-	mov.l	@(8,r4),r2
+	mov.l	@(32,r1),r2
+	mov	r4,r8
+	mov.l	@(8,r2),r4
+.L75:
+	cmp/eq	r2,r4
+	bt	.L77
+	mov.l	@(8,r4),r3
 	mov.l	r4,@(4,r4)
 	mov.l	r4,@(8,r4)
-	mov	r2,r4
-.L61:
-	cmp/eq	r1,r4
-	bf	.L62
-	mov.l	.L63,r9
+	bra	.L75
+	mov	r3,r4
+.L77:
+	mov.l	.L78,r9
 	jsr	@r9
 	nop
 	mov	r8,r4
 	mov	r9,r1
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	.cfi_restore 8
 	jmp	@r1
 	mov.l	@r15+,r8
-.L64:
+	.cfi_def_cfa_offset 0
+.L79:
 	.align 2
-.L63:
+.L78:
 	.long	_Z8ggc_freePv
 	.cfi_endproc
 .LFE904:
@@ -538,62 +503,60 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
+	.cfi_offset 10, -12
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
 	mov.l	@(4,r4),r1
 	tst	r1,r1
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	bt.s	.L65
-	mov	r15,r14
-	mov.l	.L72,r10
-	bra	.L67
+	bt.s	.L80
+	mov	r4,r9
+	mov.l	.L96,r10
 	mov	#0,r8
-.L71:
-	jsr	@r10
-	nop
-.L67:
+.L82:
 	mov.l	@(4,r9),r1
 	tst	r1,r1
-.L75:
-	bt	.L68
+	bt	.L83
 	mov.l	@(4,r1),r2
 	cmp/hs	r2,r8
-	bt.s	.L68
-	mov	r8,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r4
+	bt.s	.L83
+	mov	r8,r2
+	shll2	r2
+	add	r2,r1
+	mov.l	@(8,r1),r4
 	tst	r4,r4
-	bf.s	.L71
+	bt	.L84
+	jsr	@r10
+	nop
+.L84:
+	bra	.L82
 	add	#1,r8
-	bra	.L75
-	tst	r1,r1
-.L68:
+.L83:
 	mov	#0,r1
 	mov.l	r1,@(4,r9)
-.L65:
-	mov	r14,r15
+.L80:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L73:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L97:
 	.align 2
-.L72:
+.L96:
 	.long	_Z14flow_loop_freeP4loop
 	.cfi_endproc
 .LFE905:
@@ -606,45 +569,45 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	.L82,r0
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r15,r14
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
+	.cfi_def_cfa_offset 8
+	.cfi_offset 17, -8
+	mov.l	.L104,r0
+	mov	r4,r8
 	jsr	@r0
 	mov.l	@(32,r4),r4
 	mov.l	@(36,r0),r1
 	cmp/eq	r8,r1
-	bf	.L81
+	bf	.L103
 	mov.l	@(40,r8),r1
-	bra	.L78
+	bra	.L100
 	mov.l	r1,@(36,r0)
-.L80:
-	mov	r2,r1
-.L81:
+.L103:
 	mov.l	@(40,r1),r2
+.L106:
 	cmp/eq	r8,r2
-	bf	.L80
+	bt	.L101
+	mov	r2,r1
+	bra	.L106
+	mov.l	@(40,r1),r2
+.L101:
 	mov.l	@(40,r8),r2
 	mov.l	r2,@(40,r1)
-.L78:
+.L100:
 	mov	#0,r1
 	mov.l	r1,@(32,r8)
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L83:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L105:
 	.align 2
-.L82:
-	.long	_ZL10loop_outerPK4loop.clone.13
+.L104:
+	.long	_ZL10loop_outerPK4loop.isra.13
 	.cfi_endproc
 .LFE909:
 	.size	_Z26flow_loop_tree_node_removeP4loop, .-_Z26flow_loop_tree_node_removeP4loop
@@ -656,42 +619,42 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#100,r4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	.L85,r9
-	.cfi_offset 14, -12
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	.cfi_def_cfa_register 14
-	.cfi_offset 17, -16
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov.l	.L108,r9
 	jsr	@r9
-	mov	r15,r14
+	mov	#100,r4
 	mov	r0,r8
 	jsr	@r9
 	mov	#16,r4
+	mov	r8,r2
+	add	#64,r2
 	mov	r8,r1
-	add	#64,r1
-	mov.l	r0,@(32,r1)
-	mov	#0,r2
+	mov.l	r0,@(32,r2)
+	add	#80,r1
 	mov.l	r0,@(4,r0)
-	add	#22,r1
 	mov.l	r0,@(8,r0)
+	mov	#0,r0
+	mov.b	r0,@(6,r1)
 	mov	r8,r0
-	mov.b	r2,@r1
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L86:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L109:
 	.align 2
-.L85:
+.L108:
 	.long	_Z31ggc_internal_cleared_alloc_statj
 	.cfi_endproc
 .LFE910:
@@ -704,114 +667,98 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r9
 	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
+	.cfi_offset 12, -20
+	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
+	.cfi_offset 17, -24
+	add	#-4,r15
 	.cfi_def_cfa_offset 28
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-8,r15
-	.cfi_def_cfa_offset 40
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	mov	r14,r10
-	mov.l	.L101,r11
-	bra	.L88
-	add	#-56,r10
-.L90:
-	mov.l	@(56,r10),r1
-	mov.l	@(24,r1),r0
-	and	#2,r0
+	mov.l	.L125,r11
+	mov	r4,r9
+	mov	#0,r8
+.L111:
+	mov	r8,r4
+	mov	r9,r5
+	jsr	@r11
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L95
+	mov.l	.L125,r10
+	bt.s	.L123
+	mov.l	@(0,r15),r1
+	mov.l	@(24,r1),r0
+	tst	#2,r0
+	bt.s	.L111
 	add	#1,r8
-.L88:
+	bra	.L121
+	mov	#0,r0
+.L123:
+	mov.l	.L126,r11
+	mov	#0,r8
+	mov.l	.L127,r12
+.L115:
 	mov	r8,r4
 	mov	r9,r5
-	jsr	@r11
-	mov	r14,r6
+	jsr	@r10
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L90
-	mov	r14,r13
-	bra	.L98
-	mov	r14,r11
-.L93:
-	mov.l	@(60,r11),r1
+	bt.s	.L121
+	mov.l	@(0,r15),r1
 	mov.l	@r1,r5
-	mov.l	@r10,r1
+	mov.l	@r11,r1
 	mov.l	@(4,r1),r1
 	mov.l	@r1,r1
 	cmp/eq	r1,r5
-	bt.s	.L92
+	bt.s	.L120
 	mov	#1,r4
-	mov.l	.L100,r1
-	jsr	@r1
+	jsr	@r12
 	mov	r9,r6
 	tst	r0,r0
-	bf.s	.L96
-	mov	#1,r0
-	bra	.L94
+	bf	.L121
+.L120:
+	bra	.L115
 	add	#1,r8
-.L94:
-	mov	r8,r4
-	mov	r9,r5
-	jsr	@r12
-	mov	r13,r6
-	tst	r0,r0
-	bf	.L93
-	bra	.L89
-	nop
-.L95:
-	mov	#0,r0
-.L96:
-.L89:
-	add	#8,r14
-	mov	r14,r15
+.L121:
+	add	#4,r15
+	.cfi_def_cfa_offset 24
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L98:
-	mov	#0,r8
-	add	#4,r13
-	mov.l	.L101,r12
-	mov.l	.L102,r10
-	bra	.L94
-	add	#-56,r11
-.L92:
-	bra	.L94
-	add	#1,r8
-.L103:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L128:
 	.align 2
-.L101:
+.L125:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L100:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L102:
+.L126:
 	.long	cfun
+.L127:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
 	.cfi_endproc
 .LFE912:
 	.size	_Z16bb_loop_header_pP15basic_block_def, .-_Z16bb_loop_header_pP15basic_block_def
@@ -821,41 +768,34 @@
 _Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def:
 .LFB922:
 	.cfi_startproc
-	mov.l	.L109,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
+	mov.l	.L134,r1
 	mov.l	@r1,r1
 	mov.l	@(4,r1),r1
 	mov.l	@r1,r2
 	cmp/eq	r2,r5
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L107
-	mov	r15,r14
+	bt	.L132
 	mov.l	@(4,r1),r1
 	cmp/eq	r1,r5
-	bt	.L107
+	bt	.L132
 	mov.l	@(12,r5),r5
 	cmp/eq	r5,r4
-	bt	.L108
-	mov.l	.L110,r0
-	mov	r14,r15
+	bt	.L133
+	mov.l	.L135,r0
 	jmp	@r0
-	mov.l	@r15+,r14
-.L107:
-	bra	.L105
+	nop
+.L132:
+	bra	.L130
 	mov	#0,r0
-.L108:
+.L133:
 	mov	#1,r0
-.L105:
-	mov	r14,r15
+.L130:
 	rts	
-	mov.l	@r15+,r14
-.L111:
+	nop
+.L136:
 	.align 2
-.L109:
+.L134:
 	.long	cfun
-.L110:
+.L135:
 	.long	_Z18flow_loop_nested_pPK4loopS1_
 	.cfi_endproc
 .LFE922:
@@ -867,103 +807,118 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r7,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r10
 	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov	r6,r12
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
-	mov.l	.L119,r13
 	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	mov	r15,r14
-	.cfi_def_cfa_register 14
-.L118:
-	mov.l	@r9,r1
-	mov	#1,r4
-	mov	#0,r11
+	mov.l	.L148,r13
+	mov	r4,r9
+	mov	r5,r8
+	mov	r6,r11
+	mov	r7,r10
+.L142:
+	mov.l	@r10,r1
+	mov	r8,r5
+	mov.l	.L149,r14
+	mov	r1,r2
 	mov	r1,r0
+	mov.l	.L150,r1
+	add	#1,r2
+	mov.l	r2,@r10
 	shll2	r0
-	mov.l	r5,@(r0,r12)
-	add	#1,r1
-	jsr	@r13
-	mov.l	r1,@r9
-	bra	.L113
-	mov	r0,r8
-.L115:
-	mov.l	.L120,r1
-	mov	r10,r4
+	mov.l	r8,@(r0,r11)
 	jsr	@r1
-	mov	r8,r5
-	tst	r0,r0
-	bt.s	.L114
 	mov	#1,r4
-	mov.l	.L121,r1
-	mov.l	@(12,r10),r5
-	jsr	@r1
-	mov	r8,r6
+	mov	r0,r12
+	mov	#0,r8
+.L138:
+	tst	r12,r12
+	bt.s	.L147
+	mov	r9,r4
+	jsr	@r13
+	mov	r12,r5
 	tst	r0,r0
-	bf.s	.L117
-	mov	r10,r4
-	mov.l	.L122,r1
-	mov	r8,r5
+	bt	.L139
+	mov	#1,r4
+	mov.l	@(12,r9),r5
+	jsr	@r14
 	mov	r12,r6
-	jsr	@r1
-	mov	r9,r7
-	bra	.L114
+	tst	r0,r0
+	bf	.L143
+	mov	r9,r4
+	mov.l	.L151,r2
+	mov	r12,r5
+	mov	r11,r6
+	jsr	@r2
+	mov	r10,r7
+	bra	.L139
 	nop
-.L117:
-	mov	r8,r11
-.L114:
-	mov.l	.L123,r1
-	mov	r8,r5
-	jsr	@r1
+.L143:
+	mov	r12,r8
+.L139:
+	mov.l	.L152,r0
+	mov	r12,r5
+	jsr	@r0
 	mov	#1,r4
-	mov	r0,r8
-.L113:
+	bra	.L138
+	mov	r0,r12
+.L147:
 	tst	r8,r8
-	bf.s	.L115
-	tst	r11,r11
-	bf.s	.L118
-	mov	r11,r5
-	mov	r14,r15
+	bf	.L142
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L124:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L153:
 	.align 2
-.L119:
-	.long	_Z13first_dom_son13cdi_directionP15basic_block_def
-.L120:
+.L148:
 	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L121:
+.L149:
 	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L122:
+.L150:
+	.long	_Z13first_dom_son13cdi_directionP15basic_block_def
+.L151:
 	.long	_ZL17fill_sons_in_loopPK4loopP15basic_block_defPS3_Pi
-.L123:
+.L152:
 	.long	_Z12next_dom_son13cdi_directionP15basic_block_def
 	.cfi_endproc
 .LFE926:
@@ -974,34 +929,31 @@
 _Z23get_loop_body_with_sizePK4loopPP15basic_block_defj:
 .LFB924:
 	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r1
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r5,r7
-	mov	r15,r14
-	.cfi_offset 17, -8
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov.l	.L126,r0
+	.cfi_def_cfa_offset 4
+	.cfi_offset 17, -4
 	add	#-8,r15
-	mov.l	@(8,r4),r4
-	mov	#1,r5
+	.cfi_def_cfa_offset 12
 	mov.l	r6,@r15
-	mov.l	.L127,r6
-	.cfi_escape 0x2e,0x8
+	mov	r5,r7
+	mov.l	r4,@(4,r15)
+	mov	#1,r5
+	mov.l	.L155,r0
+	mov.l	.L156,r6
 	jsr	@r0
-	mov.l	r1,@(4,r15)
-	mov	r14,r15
+	mov.l	@(8,r4),r4
+	add	#8,r15
+	.cfi_def_cfa_offset 4
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 0
 	rts	
-	mov.l	@r15+,r14
-.L128:
+	nop
+.L157:
 	.align 2
-.L126:
+.L155:
 	.long	_Z18dfs_enumerate_fromP15basic_block_defiPFbPKS_PKvEPS0_iS4_
-.L127:
+.L156:
 	.long	_ZL10glb_enum_pPK15basic_block_defPKv
 	.cfi_endproc
 .LFE924:
@@ -1014,113 +966,113 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
+	.cfi_offset 9, -8
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov	r4,r8
 	mov.l	@(28,r4),r4
 	tst	r4,r4
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_offset 9, -8
-	.cfi_def_cfa_register 14
-	bf.s	.L130
-	mov	r15,r14
-	mov.l	.L147,r4
-	mov.w	.L139,r5
-	bra	.L137
+	bf	.L159
+	mov.l	.L176,r4
+	mov.w	.L168,r5
+	bra	.L166
 	nop
-.L130:
-	mov.l	.L140,r0
+.L159:
+	mov.l	.L169,r0
 	jsr	@r0
 	shll2	r4
-	mov.l	.L141,r1
+	mov.l	.L170,r1
+	mov.l	@(12,r8),r7
+	mov.l	@r1,r2
+	mov.l	@(4,r2),r1
+	mov.l	@(4,r1),r3
+	cmp/eq	r3,r7
+	bf.s	.L160
 	mov	r0,r9
-	mov.l	@(12,r8),r3
-	mov.l	@r1,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r2
-	cmp/eq	r2,r3
-	bf.s	.L131
-	mov.l	@(28,r8),r6
-	mov.l	@(12,r1),r2
-	cmp/eq	r2,r6
-	bt	.L132
-	mov.l	.L147,r4
-	mov.w	.L143,r5
-.L137:
-	mov.l	.L144,r1
-	mov.l	.L145,r6
+	mov.l	@(28,r8),r3
+	mov.l	@(12,r1),r1
+	cmp/eq	r1,r3
+	bt.s	.L161
+	mov	#2,r7
+	mov.l	.L176,r4
+	mov.w	.L172,r5
+.L166:
+	mov.l	.L173,r1
+	mov.l	.L174,r6
 	jsr	@r1
 	nop
-.L132:
-	mov.l	@(8,r8),r2
-	mov	r0,r3
-	add	#8,r3
-	mov.l	r2,@r0
-	mov.l	@(4,r1),r2
-	mov.l	r2,@(4,r0)
-	mov	#2,r0
-	mov.l	@r1,r2
-	bra	.L133
-	mov.l	@(28,r2),r2
-.L134:
-	mov.l	r2,@r3
-	add	#1,r0
-	mov.l	@(28,r2),r2
-	add	#4,r3
-.L133:
-	mov.l	@(4,r1),r7
-	cmp/eq	r7,r2
-	bf	.L134
-	mov.l	@(28,r8),r1
-	bra	.L151
-	cmp/eq	r1,r0
-.L131:
+.L161:
+	mov.l	@(8,r8),r1
+	mov.l	r1,@r0
+	mov.l	@(4,r2),r1
+	mov.l	@(4,r1),r1
+	mov.l	r1,@(4,r0)
+	mov.l	@(4,r2),r1
+	mov.l	@r1,r1
+	mov.l	@(28,r1),r1
+.L162:
+	mov.l	@(4,r2),r3
+	mov.l	@(4,r3),r3
+	cmp/eq	r3,r1
+	bt.s	.L164
+	mov	r7,r3
+	shll2	r3
+	mov	r3,r0
+	mov.l	r1,@(r0,r9)
+	add	#1,r7
+	bra	.L162
+	mov.l	@(28,r1),r1
+.L160:
 	mov	r0,r5
-	mov.l	.L146,r0
-	jsr	@r0
+	mov.l	.L175,r0
 	mov	r8,r4
+	jsr	@r0
+	mov.l	@(28,r8),r6
+	mov	r0,r7
+.L164:
 	mov.l	@(28,r8),r1
-	cmp/eq	r1,r0
-.L151:
-	bt	.L136
-	mov.l	.L147,r4
-	mov.w	.L148,r5
-	bra	.L137
-	nop
-.L136:
+	cmp/eq	r1,r7
+	bt.s	.L165
 	mov	r9,r0
-	mov	r14,r15
+	mov.l	.L176,r4
+	mov.w	.L177,r5
+	bra	.L166
+	nop
+.L165:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L139:
+.L168:
 	.short	824
-.L143:
+.L172:
 	.short	832
-.L148:
+.L177:
 	.short	841
-.L149:
+.L178:
 	.align 2
-.L147:
+.L176:
 	.long	.LC1
-.L140:
+.L169:
 	.long	xmalloc
-.L141:
+.L170:
 	.long	cfun
-.L144:
+.L173:
 	.long	_Z11fancy_abortPKciS0_
-.L145:
+.L174:
 	.long	_ZZ13get_loop_bodyPK4loopE12__FUNCTION__
-.L146:
+.L175:
 	.long	_Z23get_loop_body_with_sizePK4loopPP15basic_block_defj
 	.cfi_endproc
 .LFE925:
@@ -1133,99 +1085,93 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r10,@-r15
+	.cfi_offset 9, -8
+	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
+	.cfi_offset 17, -12
+	add	#-4,r15
 	.cfi_def_cfa_offset 16
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
+	mov	r4,r8
 	mov.l	@(28,r4),r4
-	add	#-4,r15
-	.cfi_def_cfa_offset 24
 	tst	r4,r4
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_def_cfa_register 14
-	bf.s	.L153
-	mov	r15,r14
-	mov.l	.L166,r4
-	mov.w	.L158,r5
-	bra	.L156
+	bf	.L180
+	mov.l	.L193,r4
+	mov.w	.L185,r5
+	bra	.L183
 	nop
-.L153:
-	mov.l	.L159,r0
+.L180:
+	mov.l	.L186,r0
 	jsr	@r0
 	shll2	r4
-	mov.l	.L160,r1
+	mov.l	.L187,r1
 	mov.l	@(12,r8),r2
 	mov.l	@r1,r1
 	mov.l	@(4,r1),r1
 	mov.l	@(4,r1),r1
 	cmp/eq	r1,r2
-	bf.s	.L154
+	bf.s	.L181
 	mov	r0,r9
-	mov.l	.L166,r4
-	mov.w	.L162,r5
-.L156:
-	mov.l	.L163,r1
-	mov.l	.L164,r6
+	mov.l	.L193,r4
+	mov.w	.L189,r5
+.L183:
+	mov.l	.L190,r1
+	mov.l	.L191,r6
 	jsr	@r1
 	nop
-.L154:
-	mov	r14,r10
-	add	#-60,r10
+.L181:
 	mov	#0,r1
-	mov.l	r1,@(60,r10)
+	mov.l	r1,@(0,r15)
 	mov	r8,r4
-	mov.l	.L165,r1
+	mov.l	.L192,r1
 	mov	r0,r6
 	mov.l	@(8,r8),r5
 	jsr	@r1
-	mov	r14,r7
-	mov.l	@(60,r10),r2
+	mov	r15,r7
+	mov.l	@(0,r15),r2
 	mov.l	@(28,r8),r1
 	cmp/eq	r1,r2
-	bt.s	.L155
+	bt.s	.L182
 	mov	r9,r0
-	mov.l	.L166,r4
-	mov.w	.L167,r5
-	bra	.L156
+	mov.l	.L193,r4
+	mov.w	.L194,r5
+	bra	.L183
 	nop
-.L155:
-	add	#4,r14
-	mov	r14,r15
+.L182:
+	add	#4,r15
+	.cfi_def_cfa_offset 12
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L158:
+.L185:
 	.short	884
-.L162:
+.L189:
 	.short	888
-.L167:
+.L194:
 	.short	893
-.L168:
+.L195:
 	.align 2
-.L166:
+.L193:
 	.long	.LC1
-.L159:
+.L186:
 	.long	xmalloc
-.L160:
+.L187:
 	.long	cfun
-.L163:
+.L190:
 	.long	_Z11fancy_abortPKciS0_
-.L164:
+.L191:
 	.long	_ZZ26get_loop_body_in_dom_orderPK4loopE12__FUNCTION__
-.L165:
+.L192:
 	.long	_ZL17fill_sons_in_loopPK4loopP15basic_block_defPS3_Pi
 	.cfi_endproc
 .LFE927:
@@ -1238,45 +1184,46 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r10
 	.cfi_offset 10, -12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L170,r0
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_def_cfa_register 14
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	mov.l	.L197,r0
+	mov	r4,r9
 	jsr	@r0
-	mov	r15,r14
-	mov.l	.L171,r1
+	mov	r5,r10
+	mov.l	.L198,r1
 	mov	r0,r8
-	mov.l	@(28,r10),r5
+	mov.l	@(28,r9),r5
 	mov	r0,r4
 	mov	#4,r6
 	jsr	@r1
-	mov	r9,r7
+	mov	r10,r7
 	mov	r8,r0
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L172:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L199:
 	.align 2
-.L170:
+.L197:
 	.long	_Z13get_loop_bodyPK4loop
-.L171:
+.L198:
 	.long	qsort
 	.cfi_endproc
 .LFE928:
@@ -1289,181 +1236,190 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
+	add	#-12,r15
+	.cfi_def_cfa_offset 44
+	mov	r4,r8
 	mov.l	@(28,r4),r4
-	add	#-20,r15
-	.cfi_def_cfa_offset 52
 	tst	r4,r4
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	bf.s	.L174
-	mov	r15,r14
-	mov.l	.L197,r4
-	mov.w	.L185,r5
-	bra	.L183
+	bf	.L201
+	mov.l	.L235,r4
+	mov.w	.L223,r5
+	bra	.L219
 	nop
-.L174:
-	mov.l	.L186,r1
-	mov.l	@(12,r9),r2
+.L201:
+	mov.l	.L224,r1
+	mov.l	@(12,r8),r2
 	mov.l	@r1,r1
 	mov.l	@(4,r1),r1
 	mov.l	@(4,r1),r1
 	cmp/eq	r1,r2
-	bf.s	.L175
-	shll2	r4
-	mov.l	.L197,r4
-	mov.w	.L188,r5
-.L183:
-	mov.l	.L189,r1
-	mov.l	.L190,r6
+	bf	.L202
+	mov.l	.L235,r4
+	mov.w	.L226,r5
+.L219:
+	mov.l	.L227,r1
+	mov.l	.L228,r6
 	jsr	@r1
 	nop
-.L175:
-	mov.l	.L191,r0
+.L202:
+	mov.l	.L229,r0
+	shll2	r4
 	jsr	@r0
-	mov	r14,r13
-	mov	r0,r10
-	mov.l	.L192,r0
+	mov	#1,r10
+	mov	r0,r9
+	mov.l	.L230,r0
 	mov	#0,r4
 	jsr	@r0
-	mov	#1,r11
-	mov	r10,r1
-	add	#4,r1
-	mov.l	r0,@(12,r14)
-	mov	#0,r8
-	mov.l	@(8,r9),r12
-	add	#-44,r13
-	bra	.L176
-	mov.l	r1,@(8,r14)
-.L182:
-	mov.l	.L195,r2
-	jsr	@r2
+	mov	#0,r13
+	mov.l	@(8,r8),r12
+	mov	r0,r11
+.L203:
+	mov.l	@(28,r8),r2
+	cmp/hs	r2,r13
+	bt.s	.L220
+	mov	r11,r4
+	mov.l	.L234,r1
+	jsr	@r1
 	mov.l	@(44,r12),r5
 	tst	r0,r0
-	bt.s	.L177
-	mov	r8,r0
+	bt.s	.L204
+	mov	r13,r0
 	shll2	r0
-	mov.l	r12,@(r0,r10)
-	add	#1,r8
-.L177:
+	mov.l	r12,@(r0,r9)
+	add	#1,r13
+.L204:
+	mov.l	.L232,r14
 	add	#4,r12
-	mov.l	r12,@(4,r14)
-	bra	.L178
+	mov.l	r12,@(4,r15)
 	mov	#0,r12
-.L180:
-	mov.l	@(60,r13),r1
-	mov.l	.L194,r2
-	mov.l	@(4,r1),r1
-	mov	r1,r5
-	jsr	@r2
-	mov.l	r1,@r14
+.L205:
+	mov.l	.L233,r1
+	mov	r15,r6
+	mov	r12,r4
+	mov.l	@(4,r15),r5
+	jsr	@r1
+	add	#8,r6
 	tst	r0,r0
-	bt.s	.L179
-	mov.l	@r14,r1
-	mov.l	@(44,r1),r5
-	mov.l	.L195,r1
+	bt.s	.L221
+	mov.l	@(8,r15),r2
+	mov	r8,r4
+	mov.l	@(4,r2),r2
+	mov	r2,r5
+	jsr	@r14
+	mov.l	r2,@r15
+	tst	r0,r0
+	bt.s	.L206
+	mov.l	@r15,r2
+	mov.l	.L234,r1
+	mov	r11,r4
 	jsr	@r1
-	mov.l	@(12,r14),r4
+	mov.l	@(44,r2),r5
 	tst	r0,r0
-	bt	.L179
-	mov.l	@(60,r13),r1
-	mov	r8,r0
+	bt.s	.L206
+	mov.l	@(8,r15),r2
+	mov	r13,r0
 	shll2	r0
-	mov.l	@(4,r1),r1
-	add	#1,r8
-	mov.l	r1,@(r0,r10)
-.L179:
+	mov.l	@(4,r2),r2
+	add	#1,r13
+	mov.l	r2,@(r0,r9)
+.L206:
+	bra	.L205
 	add	#1,r12
-.L178:
-	mov.l	.L196,r2
-	mov	r14,r6
-	mov	r12,r4
-	mov.l	@(4,r14),r5
-	jsr	@r2
-	add	#16,r6
-	tst	r0,r0
-	bf.s	.L180
-	mov	r9,r4
-	cmp/hs	r11,r8
-	bt.s	.L181
-	mov.l	@(8,r14),r1
-	mov.l	.L197,r4
-	mov.w	.L198,r5
-	bra	.L183
+.L221:
+	cmp/hs	r10,r13
+	bt.s	.L208
+	mov	r10,r0
+	mov.l	.L235,r4
+	mov.w	.L236,r5
+	bra	.L219
 	nop
-.L181:
-	add	#1,r11
-	mov.l	@r1+,r12
-	mov.l	r1,@(8,r14)
-.L176:
-	mov.l	@(28,r9),r1
-	cmp/hs	r1,r8
-	bf.s	.L182
-	mov.l	@(12,r14),r4
-	mov.l	.L199,r1
+.L208:
+	shll2	r0
+	mov.l	@(r0,r9),r12
+	bra	.L203
+	add	#1,r10
+.L220:
+	mov.l	.L237,r1
 	jsr	@r1
-	mov.l	@(12,r14),r4
-	mov	r10,r0
-	add	#20,r14
-	mov	r14,r15
+	nop
+	mov	r9,r0
+	add	#12,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L185:
+.L223:
 	.short	922
-.L188:
+.L226:
 	.short	923
-.L198:
+.L236:
 	.short	947
-.L200:
+.L238:
 	.align 2
-.L197:
+.L235:
 	.long	.LC1
-.L186:
+.L224:
 	.long	cfun
-.L189:
+.L227:
 	.long	_Z11fancy_abortPKciS0_
-.L190:
+.L228:
 	.long	_ZZ26get_loop_body_in_bfs_orderPK4loopE12__FUNCTION__
-.L191:
+.L229:
 	.long	xmalloc
-.L192:
+.L230:
 	.long	_Z25bitmap_obstack_alloc_statP14bitmap_obstack
-.L195:
+.L234:
 	.long	_Z14bitmap_set_bitP15bitmap_head_defi
-.L194:
+.L232:
 	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L196:
+.L233:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L199:
+.L237:
 	.long	_Z19bitmap_obstack_freeP15bitmap_head_def
 	.cfi_endproc
 .LFE929:
@@ -1474,35 +1430,28 @@
 _Z19dump_recorded_exitsP7__sFILE:
 .LFB937:
 	.cfi_startproc
-	mov.l	.L203,r1
+	mov.l	.L241,r1
 	mov	r4,r6
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
 	mov.l	@r1,r1
 	mov.l	@(16,r1),r1
 	mov.l	@(8,r1),r4
 	tst	r4,r4
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L201
-	mov	r15,r14
-	mov.l	.L204,r5
-	mov.l	.L205,r1
-	mov	r14,r15
+	bt	.L239
+	mov.l	.L242,r1
+	mov.l	.L243,r5
 	jmp	@r1
-	mov.l	@r15+,r14
-.L201:
-	mov	r14,r15
+	nop
+.L239:
 	rts	
-	mov.l	@r15+,r14
-.L206:
+	nop
+.L244:
 	.align 2
-.L203:
+.L241:
 	.long	cfun
-.L204:
-	.long	_ZL18dump_recorded_exitPPvS_
-.L205:
+.L242:
 	.long	htab_traverse
+.L243:
+	.long	_ZL18dump_recorded_exitPPvS_
 	.cfi_endproc
 .LFE937:
 	.size	_Z19dump_recorded_exitsP7__sFILE, .-_Z19dump_recorded_exitsP7__sFILE
@@ -1514,32 +1463,27 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#8,r4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	.L209,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 12
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
 	.cfi_offset 8, -4
-	.cfi_def_cfa_register 14
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 8
+	.cfi_offset 17, -8
+	mov.l	.L247,r0
 	jsr	@r0
-	mov	r15,r14
+	mov	#8,r4
 	tst	r0,r0
-	bf	.L208
-	mov.l	.L210,r1
-	mov.l	.L211,r4
-	mov.w	.L212,r5
-	mov.l	.L213,r6
+	bf	.L246
+	mov.l	.L248,r1
+	mov.l	.L249,r4
+	mov.w	.L250,r5
+	mov.l	.L251,r6
 	jsr	@r1
 	nop
-.L208:
-	mov.l	.L214,r8
+.L246:
+	mov.l	.L252,r8
 	mov.l	@r8,r1
 	mov.l	@(16,r1),r1
 	mov.l	@(8,r1),r4
-	mov.l	.L215,r1
+	mov.l	.L253,r1
 	jsr	@r1
 	nop
 	mov.l	@r8,r1
@@ -1550,27 +1494,29 @@
 	mov.l	@r1,r2
 	and	r3,r2
 	mov.l	r2,@r1
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L212:
+.L250:
 	.short	1127
-.L216:
+.L254:
 	.align 2
-.L209:
+.L247:
 	.long	_ZL23loops_state_satisfies_pj
-.L210:
+.L248:
 	.long	_Z11fancy_abortPKciS0_
-.L211:
+.L249:
 	.long	.LC1
-.L213:
+.L251:
 	.long	_ZZ22release_recorded_exitsvE12__FUNCTION__
-.L214:
+.L252:
 	.long	cfun
-.L215:
+.L253:
 	.long	htab_delete
 	.cfi_endproc
 .LFE938:
@@ -1583,81 +1529,77 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	.L223,r1
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	@r1,r1
+	.cfi_def_cfa_offset 8
+	.cfi_offset 17, -8
+	mov.l	.L264,r1
 	mov.l	@(12,r4),r2
+	mov.l	@r1,r1
 	mov.l	@(4,r1),r1
 	mov.l	@(4,r1),r1
 	cmp/eq	r1,r2
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
-	bf.s	.L218
-	mov	r15,r14
-	mov.l	.L224,r1
-	mov.l	.L225,r4
-	mov.w	.L226,r5
-	mov.l	.L227,r6
+	bf.s	.L256
+	mov	r4,r8
+	mov.l	.L265,r1
+	mov.l	.L266,r4
+	mov.w	.L267,r5
+	mov.l	.L268,r6
 	jsr	@r1
 	nop
-.L218:
-	mov.l	.L228,r0
+.L256:
+	mov.l	.L269,r0
 	jsr	@r0
 	nop
-	mov.l	@(28,r8),r3
+	mov.l	@(28,r8),r1
 	mov	r0,r4
 	mov	r0,r2
-	mov	r3,r1
-	tst	r3,r3
+	shll2	r1
+	add	r0,r1
 	mov	#0,r8
 	mov	#1,r7
-	bf.s	.L219
-	add	#1,r1
-	bra	.L219
-	mov	#1,r1
-.L221:
-	mov.l	@r2+,r3
+.L257:
+	cmp/eq	r1,r2
+	bt	.L263
+	mov.l	@r2,r3
 	mov.l	@(4,r3),r3
 	tst	r3,r3
-	bt	.L219
+	bt	.L258
 	mov.l	@(4,r3),r3
 	cmp/hi	r7,r3
-	bf	.L219
+	bf	.L258
 	add	#1,r8
-.L219:
-	dt	r1
-	bf	.L221
-	mov.l	.L229,r1
+.L258:
+	bra	.L257
+	add	#4,r2
+.L263:
+	mov.l	.L270,r1
 	jsr	@r1
 	nop
 	mov	r8,r0
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L226:
+.L267:
 	.short	1177
-.L230:
+.L271:
 	.align 2
-.L223:
+.L264:
 	.long	cfun
-.L224:
+.L265:
 	.long	_Z11fancy_abortPKciS0_
-.L225:
+.L266:
 	.long	.LC1
-.L227:
+.L268:
 	.long	_ZZ17num_loop_branchesPK4loopE12__FUNCTION__
-.L228:
+.L269:
 	.long	_Z13get_loop_bodyPK4loop
-.L229:
+.L270:
 	.long	free
 	.cfi_endproc
 .LFE940:
@@ -1670,89 +1612,89 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	tst	r4,r4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
 	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	bt.s	.L232
-	mov	r15,r14
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	tst	r4,r4
+	mov	r4,r8
+	bt.s	.L279
+	mov	r5,r9
 	tst	r5,r5
-	bt	.L238
-	mov.l	@(32,r4),r3
-	tst	r3,r3
-	bt	.L239
-	mov.l	@(4,r3),r2
-	bra	.L245
+	bt	.L280
+	mov.l	@(32,r4),r2
+	tst	r2,r2
+	bt	.L281
+	mov.l	@(4,r2),r1
+	bra	.L288
 	mov.l	@(32,r9),r7
-.L239:
-	mov	#0,r2
+.L281:
+	mov	#0,r1
 	mov.l	@(32,r9),r7
-.L245:
+.L288:
 	tst	r7,r7
-	bt	.L240
-	mov.l	@(4,r7),r1
-	cmp/hs	r1,r2
-	bt	.L234
-	add	#2,r2
-	shll2	r2
-	mov	r2,r0
-	bra	.L235
-	mov.l	@(r0,r7),r9
-.L240:
-	mov	#0,r1
-.L234:
-	cmp/hi	r1,r2
-	bf.s	.L235
-	add	#2,r1
+	bt	.L282
+	mov.l	@(4,r7),r3
+	cmp/hs	r3,r1
+	bt	.L275
 	shll2	r1
-	mov	r1,r0
-	bra	.L235
-	mov.l	@(r0,r3),r8
-.L237:
+	add	r1,r7
+	mov.l	@(8,r7),r9
+.L277:
+	mov.l	.L284,r10
+	bra	.L286
+	cmp/eq	r9,r8
+.L282:
+	mov	#0,r3
+.L275:
+	cmp/hi	r3,r1
+	bf	.L277
+	shll2	r3
+	add	r3,r2
+	bra	.L277
+	mov.l	@(8,r2),r8
+.L276:
+	cmp/eq	r9,r8
+.L286:
+	bt.s	.L287
+	mov	r8,r0
 	jsr	@r10
 	mov.l	@(32,r8),r4
 	mov.l	@(32,r9),r4
 	jsr	@r10
 	mov	r0,r8
-	bra	.L241
+	bra	.L276
 	mov	r0,r9
-.L235:
-	mov.l	.L242,r10
-.L241:
-	cmp/eq	r9,r8
-	bf.s	.L237
-	mov	r9,r0
-	bra	.L244
-	nop
-.L238:
-	mov	r4,r9
-.L232:
-	mov	r9,r0
-.L244:
-	mov	r14,r15
+.L279:
+	bra	.L273
+	mov	r5,r0
+.L280:
+	mov	r8,r0
+.L273:
+.L287:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L243:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L285:
 	.align 2
-.L242:
-	.long	_ZL10loop_outerPK4loop.clone.13
+.L284:
+	.long	_ZL10loop_outerPK4loop.isra.13
 	.cfi_endproc
 .LFE943:
 	.size	_Z16find_common_loopP4loopS0_, .-_Z16find_common_loopP4loopS0_
@@ -1764,184 +1706,216 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	extu.b	r6,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	extu.b	r5,r9
 	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
-	mov	r4,r11
 	.cfi_offset 11, -16
-	.cfi_offset 10, -12
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov	#8,r4
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
-	mov.l	.L254,r0
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
-	add	#-8,r15
-	.cfi_def_cfa_offset 40
 	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_def_cfa_register 14
+	add	#-4,r15
+	.cfi_def_cfa_offset 36
+	mov.l	.L315,r0
+	mov	r4,r11
+	extu.b	r5,r12
+	extu.b	r6,r8
 	jsr	@r0
-	mov	r15,r14
+	mov	#8,r4
 	tst	r0,r0
-	bt.s	.L246
+	bt.s	.L289
 	tst	r8,r8
-	bf.s	.L265
-	tst	r9,r9
+	bf.s	.L326
+	tst	r12,r12
 	mov.l	@r11,r1
-	mov.l	@(12,r1),r10
-	tst	r10,r10
-	bt	.L248
+	mov.l	@(12,r1),r9
+	tst	r9,r9
+	bt	.L292
 	mov.l	@(4,r11),r5
 	mov.l	@(12,r5),r8
 	tst	r8,r8
-	bt.s	.L265
-	tst	r9,r9
-	mov.l	.L255,r0
+	bt.s	.L326
+	tst	r12,r12
+	mov.l	.L316,r0
 	jsr	@r0
-	mov	r10,r4
+	mov	r9,r4
 	tst	r0,r0
-	bf.s	.L265
-	tst	r9,r9
-	mov.l	.L256,r0
-	mov	r8,r5
-	jsr	@r0
-	mov	r10,r4
-	mov	r0,r2
-	mov.l	.L257,r1
-	mov.l	.L258,r13
-	bra	.L249
-	mov	#0,r8
-.L250:
-	mov.l	r1,@r14
-	jsr	@r1
-	mov.l	r2,@(4,r14)
-	mov	r10,r3
-	add	#64,r3
-	mov.l	@(32,r3),r7
-	mov	r0,r12
-	mov.l	r8,@(12,r0)
-	mov	r12,r8
-	mov.l	@(8,r7),r3
-	mov.l	r7,@(4,r0)
-	mov.l	r0,@(4,r3)
-	mov.l	r3,@(8,r0)
-	mov.l	@(4,r0),r3
-	mov.l	@(32,r10),r4
-	mov.l	r11,@r0
-	jsr	@r13
-	mov.l	r0,@(8,r3)
-	mov.l	@(4,r14),r2
-	mov	r0,r10
-	mov.l	@r14,r1
-.L249:
-	cmp/eq	r2,r10
-	bf.s	.L250
-	mov	#16,r4
-	tst	r8,r8
-	bf	.L251
-.L248:
-	tst	r9,r9
-.L265:
-	bf	.L246
-	mov	#0,r8
-.L251:
-	mov.l	.L259,r9
+	bf.s	.L326
+	tst	r12,r12
+	bra	.L313
+	mov	r9,r4
+.L314:
+	tst	r10,r10
+	bf	.L295
+.L292:
+	tst	r12,r12
+.L326:
+	bf	.L289
+	mov	#0,r10
+.L295:
+	mov.l	.L317,r9
 	mov	r11,r4
 	mov.l	@r9,r1
 	mov.l	@(16,r1),r1
-	mov.l	@(8,r1),r12
-	mov.l	.L260,r1
+	mov.l	@(8,r1),r8
+	mov.l	.L318,r1
 	mov.l	@r1,r0
 	jsr	@r0
-	mov	#-1,r10
+	mov	#1,r12
+	tst	r10,r10
 	mov	r0,r6
-	tst	r8,r8
-	mov.l	.L261,r0
-	negc	r10,r10
-	extu.b	r10,r10
+	movt	r0
+	xor	r0,r12
+	mov.l	.L319,r0
+	mov	r8,r4
 	mov	r11,r5
-	mov	r12,r4
 	jsr	@r0
-	mov	r10,r7
+	mov	r12,r7
 	tst	r0,r0
-	bt.s	.L246
-	mov	r0,r11
-	tst	r10,r10
-	bt	.L252
+	bt.s	.L289
+	mov	r0,r8
+	tst	r12,r12
+	bt	.L297
 	mov.l	@r0,r4
 	tst	r4,r4
-	bt	.L253
-	mov.l	.L262,r1
+	bt	.L298
+	mov.l	.L320,r1
 	jsr	@r1
 	nop
-.L253:
-	bra	.L246
-	mov.l	r8,@r11
-.L252:
+.L298:
+	bra	.L289
+	mov.l	r10,@r8
+.L297:
 	mov.l	@r9,r1
 	mov	r0,r5
 	mov.l	@(16,r1),r1
 	mov.l	@(8,r1),r4
-	mov.l	.L263,r1
-	add	#8,r14
-	mov	r14,r15
+	mov.l	.L321,r1
+	add	#4,r15
+	.cfi_remember_state
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	.cfi_restore 8
 	jmp	@r1
 	mov.l	@r15+,r8
-.L246:
-	add	#8,r14
-	mov	r14,r15
+	.cfi_def_cfa_offset 0
+.L313:
+	.cfi_restore_state
+	mov.l	.L322,r0
+	mov.l	.L323,r14
+	mov.l	.L324,r13
+	jsr	@r0
+	mov	r8,r5
+	mov	r0,r3
+	mov	#0,r10
+.L299:
+	cmp/eq	r3,r9
+	bt	.L314
+	mov.l	r3,@r15
+	jsr	@r14
+	mov	#16,r4
+	mov	r9,r1
+	add	#64,r1
+	mov.l	@(32,r1),r2
+	mov	r0,r8
+	mov.l	r11,@r0
+	mov.l	@(8,r2),r1
+	mov.l	r2,@(4,r0)
+	mov.l	r1,@(8,r0)
+	mov.l	r0,@(4,r1)
+	mov.l	@(4,r0),r1
+	mov.l	@(32,r9),r4
+	mov.l	r0,@(8,r1)
+	jsr	@r13
+	mov.l	r10,@(12,r0)
+	mov	r0,r9
+	mov	r8,r10
+	bra	.L299
+	mov.l	@r15,r3
+.L289:
+	add	#4,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L264:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L325:
 	.align 2
-.L254:
+.L315:
 	.long	_ZL23loops_state_satisfies_pj
-.L255:
+.L316:
 	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L256:
-	.long	_Z16find_common_loopP4loopS0_
-.L257:
-	.long	_Z23ggc_internal_alloc_statj
-.L258:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L259:
+.L317:
 	.long	cfun
-.L260:
+.L318:
 	.long	htab_hash_pointer
-.L261:
+.L319:
 	.long	htab_find_slot_with_hash
-.L262:
+.L320:
 	.long	_ZL14loop_exit_freePv
-.L263:
+.L321:
 	.long	htab_clear_slot
+.L322:
+	.long	_Z16find_common_loopP4loopS0_
+.L323:
+	.long	_Z23ggc_internal_alloc_statj
+.L324:
+	.long	_ZL10loop_outerPK4loop.isra.13
 	.cfi_endproc
 .LFE934:
 	.size	_Z16rescan_loop_exitP8edge_defbb, .-_Z16rescan_loop_exitP8edge_defbb
@@ -1953,431 +1927,448 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov.l	.L273,r12
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	@r12,r1
+	.cfi_offset 13, -24
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
+	.cfi_def_cfa_offset 28
+	.cfi_offset 17, -28
+	add	#-16,r15
+	.cfi_def_cfa_offset 44
+	mov.l	.L339,r10
+	mov.l	@r10,r1
 	mov.l	@(16,r1),r8
-	add	#-4,r15
-	.cfi_def_cfa_offset 36
 	tst	r8,r8
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_def_cfa_register 14
-	bt.s	.L266
-	mov	r15,r14
-	mov.l	.L274,r0
+	bt	.L327
+	mov.l	.L340,r0
 	jsr	@r0
 	mov	#8,r4
 	tst	r0,r0
-	bf	.L266
+	bf	.L327
 	mov.l	@r8,r0
 	mov.l	@(8,r8),r1
 	or	#8,r0
 	tst	r1,r1
-	bt.s	.L268
+	bt.s	.L329
 	mov.l	r0,@r8
-	mov.l	.L275,r1
-	mov.l	.L276,r4
-	mov.w	.L277,r5
-	mov.l	.L278,r6
+	mov.l	.L341,r1
+	mov.l	.L342,r4
+	mov.w	.L343,r5
+	mov.l	.L344,r6
 	jsr	@r1
 	nop
-.L268:
-	mov.l	.L279,r0
-	mov.l	.L280,r10
+.L329:
+	mov.l	.L345,r0
+	mov.l	.L346,r11
 	jsr	@r0
 	nop
-	mov.l	.L281,r1
-	add	#-12,r15
+	mov.l	.L347,r1
 	mov	r0,r4
-	mov.l	r1,@r15
+	mov.l	.L348,r0
 	add	r4,r4
-	mov.l	.L282,r1
-	mov.l	.L283,r0
+	mov.l	r1,@r15
+	mov.l	.L349,r1
+	mov.l	.L350,r5
 	mov.l	r1,@(4,r15)
-	mov.l	.L284,r1
-	mov.l	.L285,r5
-	mov.l	.L286,r6
-	mov.l	.L287,r7
-	.cfi_escape 0x2e,0xc
+	mov.l	.L351,r1
+	mov.l	.L352,r6
+	mov.l	.L353,r7
 	jsr	@r0
 	mov.l	r1,@(8,r15)
-	mov.l	@r12,r1
-	add	#12,r15
+	mov.l	@r10,r1
 	mov.l	r0,@(8,r8)
 	mov.l	@(4,r1),r1
+	mov.l	.L354,r12
 	mov.l	@r1,r1
-	bra	.L269
 	mov.l	@(28,r1),r8
-.L272:
+.L330:
+	mov.l	@r10,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(4,r1),r1
+	cmp/eq	r1,r8
+	bt	.L327
 	mov	r8,r13
 	add	#4,r13
-	bra	.L270
 	mov	#0,r9
-.L271:
-	mov.l	.L288,r1
-	mov	#1,r5
-	mov.l	@r14,r4
-	.cfi_escape 0x2e,0x0
-	jsr	@r1
-	mov	#0,r6
-.L270:
+	mov	r15,r6
+.L356:
 	mov	r9,r4
 	mov	r13,r5
-	jsr	@r10
-	mov	r14,r6
+	jsr	@r11
+	add	#12,r6
 	tst	r0,r0
-	bf.s	.L271
+	bt.s	.L338
 	add	#1,r9
+	mov.l	@(12,r15),r4
+	mov	#1,r5
+	jsr	@r12
+	mov	#0,r6
+	bra	.L356
+	mov	r15,r6
+.L338:
+	bra	.L330
 	mov.l	@(28,r8),r8
-.L269:
-	mov.l	@r12,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r1
-	cmp/eq	r1,r8
-	bf	.L272
-.L266:
-	add	#4,r14
-	mov	r14,r15
+.L327:
+	add	#16,r15
+	.cfi_def_cfa_offset 28
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L277:
+.L343:
 	.short	1078
-.L289:
+.L355:
 	.align 2
-.L273:
+.L339:
 	.long	cfun
-.L274:
+.L340:
 	.long	_ZL23loops_state_satisfies_pj
-.L275:
+.L341:
 	.long	_Z11fancy_abortPKciS0_
-.L276:
+.L342:
 	.long	.LC1
-.L278:
+.L344:
 	.long	_ZZ17record_loop_exitsvE12__FUNCTION__
-.L279:
+.L345:
 	.long	_ZL15number_of_loopsv
-.L280:
+.L346:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L281:
+.L347:
 	.long	_Z34ggc_cleared_alloc_htab_ignore_argsjj
-.L282:
-	.long	_Z36ggc_cleared_alloc_ptr_array_two_argsjj
-.L283:
+.L348:
 	.long	htab_create_typed_alloc
-.L284:
-	.long	_Z8ggc_freePv
-.L285:
+.L349:
+	.long	_Z36ggc_cleared_alloc_ptr_array_two_argsjj
+.L350:
 	.long	_ZL14loop_exit_hashPKv
-.L286:
+.L351:
+	.long	_Z8ggc_freePv
+.L352:
 	.long	_ZL12loop_exit_eqPKvS0_
-.L287:
+.L353:
 	.long	_ZL14loop_exit_freePv
-.L288:
+.L354:
 	.long	_Z16rescan_loop_exitP8edge_defbb
 	.cfi_endproc
 .LFE935:
 	.size	_Z17record_loop_exitsv, .-_Z17record_loop_exitsv
 	.align 1
-	.global	_Z20remove_bb_from_loopsP15basic_block_def
-	.type	_Z20remove_bb_from_loopsP15basic_block_def, @function
-_Z20remove_bb_from_loopsP15basic_block_def:
-.LFB942:
+	.global	_Z14add_bb_to_loopP15basic_block_defP4loop
+	.type	_Z14add_bb_to_loopP15basic_block_defP4loop, @function
+_Z14add_bb_to_loopP15basic_block_defP4loop:
+.LFB941:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
+	.cfi_offset 13, -24
 	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 17, -28
+	add	#-4,r15
 	.cfi_def_cfa_offset 32
 	mov.l	@(12,r4),r1
-	add	#-4,r15
-	.cfi_def_cfa_offset 36
 	tst	r1,r1
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_def_cfa_register 14
-	bf.s	.L291
-	mov	r15,r14
-	mov.l	.L298,r1
-	mov.l	.L299,r4
-	mov.w	.L300,r5
-	mov.l	.L301,r6
+	bt.s	.L358
+	mov	r4,r8
+	mov.l	.L372,r1
+	mov.l	.L373,r4
+	mov.w	.L374,r5
+	mov.l	.L375,r6
 	jsr	@r1
 	nop
-.L291:
-	mov.l	@(28,r1),r2
-	add	#-1,r2
-	mov.l	r2,@(28,r1)
-	mov.l	@(32,r1),r2
-	mov	r2,r7
-	tst	r2,r2
-	bt.s	.L292
-	add	#8,r7
-	mov	#0,r1
-.L293:
-	mov.l	@(4,r2),r3
-	cmp/hs	r3,r1
-	bt	.L292
-	mov.l	@r7+,r6
+.L358:
+	mov.l	@(28,r5),r1
+	mov.l	@(32,r5),r3
 	add	#1,r1
-	mov.l	@(28,r6),r3
-	add	#-1,r3
-	bra	.L293
-	mov.l	r3,@(28,r6)
-.L292:
+	mov.l	r5,@(12,r4)
+	tst	r3,r3
+	bt.s	.L359
+	mov.l	r1,@(28,r5)
 	mov	#0,r1
-	mov	r8,r13
-	mov	r14,r10
-	mov.l	r1,@(12,r8)
-	add	#4,r13
-	mov	#0,r9
-	mov.l	.L304,r11
-	bra	.L294
-	add	#-60,r10
-.L295:
-	mov.l	.L305,r1
-	mov	#0,r5
-	mov.l	@(60,r10),r4
-	jsr	@r1
-	mov	#1,r6
-.L294:
-	mov	r9,r4
-	mov	r13,r5
+.L365:
+	mov.l	@(4,r3),r2
+	cmp/hs	r2,r1
+	bt.s	.L359
+	mov	r1,r2
+	shll2	r2
+	add	r3,r2
+	mov.l	@(8,r2),r7
+	add	#1,r1
+	mov.l	@(28,r7),r2
+	add	#1,r2
+	bra	.L365
+	mov.l	r2,@(28,r7)
+.L359:
+	mov.l	.L378,r11
+	mov	r8,r12
+	mov.l	.L379,r10
+	add	#4,r12
+	mov	#0,r9
+	mov	r9,r4
+.L381:
+	mov	r12,r5
 	jsr	@r11
-	mov	r14,r6
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L295
+	mov.l	.L378,r13
+	bt.s	.L370
 	add	#1,r9
-	mov	r14,r11
-	mov	#0,r9
-	mov.l	.L304,r12
-	mov.l	.L305,r10
-	bra	.L296
-	add	#-60,r11
-.L297:
-	mov.l	@(60,r11),r4
-	mov	#0,r5
+	mov.l	@(0,r15),r4
+	mov	#1,r5
 	jsr	@r10
-	mov	#1,r6
-.L296:
+	mov	#0,r6
+	bra	.L381
 	mov	r9,r4
+.L370:
+	mov.l	.L379,r10
+	mov	#0,r9
+	mov	r9,r4
+.L382:
 	mov	r8,r5
-	jsr	@r12
-	mov	r14,r6
+	jsr	@r13
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L297
+	bt.s	.L371
 	add	#1,r9
-	add	#4,r14
-	mov	r14,r15
+	mov.l	@(0,r15),r4
+	mov	#1,r5
+	jsr	@r10
+	mov	#0,r6
+	bra	.L382
+	mov	r9,r4
+.L371:
+	add	#4,r15
+	.cfi_def_cfa_offset 28
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L300:
-	.short	1224
-.L306:
+.L374:
+	.short	1198
+.L380:
 	.align 2
-.L298:
+.L372:
 	.long	_Z11fancy_abortPKciS0_
-.L299:
+.L373:
 	.long	.LC1
-.L301:
-	.long	_ZZ20remove_bb_from_loopsP15basic_block_defE12__FUNCTION__
-.L304:
+.L375:
+	.long	_ZZ14add_bb_to_loopP15basic_block_defP4loopE12__FUNCTION__
+.L378:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L305:
+.L379:
 	.long	_Z16rescan_loop_exitP8edge_defbb
 	.cfi_endproc
-.LFE942:
-	.size	_Z20remove_bb_from_loopsP15basic_block_def, .-_Z20remove_bb_from_loopsP15basic_block_def
+.LFE941:
+	.size	_Z14add_bb_to_loopP15basic_block_defP4loop, .-_Z14add_bb_to_loopP15basic_block_defP4loop
 	.align 1
-	.global	_Z14add_bb_to_loopP15basic_block_defP4loop
-	.type	_Z14add_bb_to_loopP15basic_block_defP4loop, @function
-_Z14add_bb_to_loopP15basic_block_defP4loop:
-.LFB941:
+	.global	_Z20remove_bb_from_loopsP15basic_block_def
+	.type	_Z20remove_bb_from_loopsP15basic_block_def, @function
+_Z20remove_bb_from_loopsP15basic_block_def:
+.LFB942:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
+	.cfi_offset 13, -24
 	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 17, -28
+	add	#-4,r15
 	.cfi_def_cfa_offset 32
 	mov.l	@(12,r4),r1
-	add	#-4,r15
-	.cfi_def_cfa_offset 36
 	tst	r1,r1
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_def_cfa_register 14
-	bt.s	.L308
-	mov	r15,r14
-	mov.l	.L315,r1
-	mov.l	.L316,r4
-	mov.w	.L317,r5
-	mov.l	.L318,r6
+	bf.s	.L384
+	mov	r4,r8
+	mov.l	.L398,r1
+	mov.l	.L399,r4
+	mov.w	.L400,r5
+	mov.l	.L401,r6
 	jsr	@r1
 	nop
-.L308:
-	mov.l	@(28,r5),r1
-	mov.l	@(32,r5),r2
-	add	#1,r1
-	mov.l	r5,@(12,r4)
-	mov	r2,r7
-	mov.l	r1,@(28,r5)
-	tst	r2,r2
-	bt.s	.L309
-	add	#8,r7
+.L384:
+	mov.l	@(28,r1),r2
+	mov.l	@(32,r1),r3
+	add	#-1,r2
+	tst	r3,r3
+	bt.s	.L385
+	mov.l	r2,@(28,r1)
 	mov	#0,r1
-.L310:
-	mov.l	@(4,r2),r3
-	cmp/hs	r3,r1
-	bt.s	.L324
-	mov	r8,r13
-	mov.l	@r7+,r6
+.L391:
+	mov.l	@(4,r3),r2
+	cmp/hs	r2,r1
+	bt.s	.L385
+	mov	r1,r2
+	shll2	r2
+	add	r3,r2
+	mov.l	@(8,r2),r7
 	add	#1,r1
-	mov.l	@(28,r6),r3
-	add	#1,r3
-	bra	.L310
-	mov.l	r3,@(28,r6)
-.L309:
-	mov	r8,r13
-.L324:
-	mov	r14,r10
-	add	#4,r13
+	mov.l	@(28,r7),r2
+	add	#-1,r2
+	bra	.L391
+	mov.l	r2,@(28,r7)
+.L385:
+	mov	#0,r1
+	mov.l	.L404,r11
+	mov	r8,r12
+	mov.l	.L405,r10
+	add	#4,r12
+	mov.l	r1,@(12,r8)
 	mov	#0,r9
-	mov.l	.L321,r11
-	bra	.L311
-	add	#-60,r10
-.L312:
-	mov.l	.L322,r1
-	mov	#1,r5
-	mov.l	@(60,r10),r4
-	jsr	@r1
-	mov	#0,r6
-.L311:
 	mov	r9,r4
-	mov	r13,r5
+.L407:
+	mov	r12,r5
 	jsr	@r11
-	mov	r14,r6
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L312
+	mov.l	.L404,r13
+	bt.s	.L396
 	add	#1,r9
-	mov	r14,r11
-	mov	#0,r9
-	mov.l	.L321,r12
-	mov.l	.L322,r10
-	bra	.L313
-	add	#-60,r11
-.L314:
-	mov.l	@(60,r11),r4
-	mov	#1,r5
+	mov.l	@(0,r15),r4
+	mov	#0,r5
 	jsr	@r10
-	mov	#0,r6
-.L313:
+	mov	#1,r6
+	bra	.L407
 	mov	r9,r4
+.L396:
+	mov.l	.L405,r10
+	mov	#0,r9
+	mov	r9,r4
+.L408:
 	mov	r8,r5
-	jsr	@r12
-	mov	r14,r6
+	jsr	@r13
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L314
+	bt.s	.L397
 	add	#1,r9
-	add	#4,r14
-	mov	r14,r15
+	mov.l	@(0,r15),r4
+	mov	#0,r5
+	jsr	@r10
+	mov	#1,r6
+	bra	.L408
+	mov	r9,r4
+.L397:
+	add	#4,r15
+	.cfi_def_cfa_offset 28
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L317:
-	.short	1198
-.L323:
+.L400:
+	.short	1224
+.L406:
 	.align 2
-.L315:
+.L398:
 	.long	_Z11fancy_abortPKciS0_
-.L316:
+.L399:
 	.long	.LC1
-.L318:
-	.long	_ZZ14add_bb_to_loopP15basic_block_defP4loopE12__FUNCTION__
-.L321:
+.L401:
+	.long	_ZZ20remove_bb_from_loopsP15basic_block_defE12__FUNCTION__
+.L404:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L322:
+.L405:
 	.long	_Z16rescan_loop_exitP8edge_defbb
 	.cfi_endproc
-.LFE941:
-	.size	_Z14add_bb_to_loopP15basic_block_defP4loop, .-_Z14add_bb_to_loopP15basic_block_defP4loop
+.LFE942:
+	.size	_Z20remove_bb_from_loopsP15basic_block_def, .-_Z20remove_bb_from_loopsP15basic_block_def
 	.align 1
 	.global	_Z11delete_loopP4loop
 	.type	_Z11delete_loopP4loop, @function
@@ -2386,19 +2377,14 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	.L326,r1
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 12
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
+	.cfi_def_cfa_offset 8
+	.cfi_offset 17, -8
+	mov.l	.L410,r1
 	jsr	@r1
-	mov	r15,r14
-	mov.l	.L327,r1
+	mov	r4,r8
+	mov.l	.L411,r1
 	mov	r8,r4
 	mov.l	@r1,r1
 	mov.l	@(16,r1),r1
@@ -2409,19 +2395,21 @@
 	add	r1,r2
 	mov	#0,r1
 	mov.l	r1,@r2
-	mov.l	.L328,r1
-	mov	r14,r15
+	mov.l	.L412,r1
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 4
+	.cfi_restore 8
 	jmp	@r1
 	mov.l	@r15+,r8
-.L329:
+	.cfi_def_cfa_offset 0
+.L413:
 	.align 2
-.L326:
+.L410:
 	.long	_Z26flow_loop_tree_node_removeP4loop
-.L327:
+.L411:
 	.long	cfun
-.L328:
+.L412:
 	.long	_Z14flow_loop_freeP4loop
 	.cfi_endproc
 .LFE944:
@@ -2434,72 +2422,69 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L336,r9
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
 	.cfi_offset 9, -8
-	.cfi_def_cfa_register 14
-	bra	.L331
-	mov	r15,r14
-.L332:
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov.l	.L421,r9
+	mov	r4,r8
+	mov.l	@(36,r8),r4
+.L427:
+	tst	r4,r4
+	bt	.L419
 	jsr	@r9
 	nop
-.L331:
+	bra	.L427
 	mov.l	@(36,r8),r4
-	tst	r4,r4
-	bf	.L332
-	mov.l	.L337,r0
+.L419:
+	mov.l	.L422,r0
 	jsr	@r0
 	mov.l	@(32,r8),r4
 	mov	r0,r9
-	mov.l	.L338,r0
+	mov.l	.L423,r0
 	jsr	@r0
 	mov	r8,r4
-	mov.l	@(28,r8),r3
+	mov.l	@(28,r8),r1
 	mov	r0,r4
 	mov	r0,r2
-	mov	r3,r1
-	tst	r3,r3
-	bf.s	.L333
-	add	#1,r1
-	bra	.L333
-	mov	#1,r1
-.L334:
+	shll2	r1
+	add	r0,r1
+.L417:
+	cmp/eq	r1,r2
+	bt	.L420
 	mov.l	@r2+,r3
+	bra	.L417
 	mov.l	r9,@(12,r3)
-.L333:
-	dt	r1
-	bf	.L334
-	mov.l	.L339,r1
+.L420:
+	mov.l	.L424,r1
 	jsr	@r1
 	nop
-	mov.l	.L340,r1
+	mov.l	.L425,r1
 	mov	r8,r4
-	mov	r14,r15
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	.cfi_restore 8
 	jmp	@r1
 	mov.l	@r15+,r8
-.L341:
+	.cfi_def_cfa_offset 0
+.L426:
 	.align 2
-.L336:
+.L421:
 	.long	_Z16cancel_loop_treeP4loop
-.L337:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L338:
+.L422:
+	.long	_ZL10loop_outerPK4loop.isra.13
+.L423:
 	.long	_Z13get_loop_bodyPK4loop
-.L339:
+.L424:
 	.long	free
-.L340:
+.L425:
 	.long	_Z11delete_loopP4loop
 	.cfi_endproc
 .LFE946:
@@ -2510,21 +2495,14 @@
 _Z15loop_latch_edgePK4loop:
 .LFB948:
 	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
+	mov.l	.L429,r0
 	mov	r4,r1
 	mov.l	@(8,r1),r5
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov.l	@(12,r4),r4
-	mov.l	.L343,r0
-	mov	r14,r15
 	jmp	@r0
-	mov.l	@r15+,r14
-.L344:
+	mov.l	@(12,r4),r4
+.L430:
 	.align 2
-.L343:
+.L429:
 	.long	_Z9find_edgeP15basic_block_defS0_
 	.cfi_endproc
 .LFE948:
@@ -2537,94 +2515,84 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	#1,r4
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L350,r0
+	.cfi_offset 11, -16
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
+	.cfi_def_cfa_offset 20
+	.cfi_offset 17, -20
 	add	#-4,r15
-	.cfi_def_cfa_offset 36
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
+	.cfi_def_cfa_offset 24
+	mov.l	.L436,r0
+	mov	r4,r9
 	jsr	@r0
-	mov	r15,r14
+	mov	#1,r4
 	tst	r0,r0
-	bf	.L346
-	mov.l	.L351,r1
-	mov.l	.L352,r4
-	mov.w	.L353,r5
-	mov.l	.L354,r6
+	bf.s	.L432
+	mov	#0,r8
+	mov.l	.L437,r1
+	mov.l	.L438,r4
+	mov.w	.L439,r5
+	mov.l	.L440,r6
 	jsr	@r1
 	nop
-.L346:
-	mov	r14,r10
-	mov.l	@(8,r9),r13
-	mov	#0,r8
-	mov.l	.L355,r11
-	bra	.L347
-	add	#-60,r10
-.L349:
-	mov.l	@(60,r10),r1
+.L432:
+	mov.l	@(8,r9),r10
+	mov.l	.L441,r11
+.L433:
+	mov	r8,r4
+	mov	r10,r5
+	jsr	@r11
+	mov	r15,r6
+	tst	r0,r0
+	bt.s	.L434
+	mov.l	@(0,r15),r1
 	mov.l	@r1,r2
 	mov.l	@(12,r9),r1
 	cmp/eq	r1,r2
-	bf.s	.L348
+	bt.s	.L433
 	add	#1,r8
-.L347:
-	mov	r8,r4
-	mov	r13,r5
-	jsr	@r11
-	mov	r14,r6
-	tst	r0,r0
-	bf	.L349
-.L348:
-	mov	r14,r1
-	add	#-60,r1
-	mov.l	@(60,r1),r0
-	add	#4,r14
-	mov	r14,r15
+.L434:
+	mov.l	@(0,r15),r0
+	add	#4,r15
+	.cfi_def_cfa_offset 20
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
+	.cfi_restore 17
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
 	.align 1
-.L353:
+.L439:
 	.short	1650
-.L356:
+.L442:
 	.align 2
-.L350:
+.L436:
 	.long	_ZL23loops_state_satisfies_pj
-.L351:
+.L437:
 	.long	_Z11fancy_abortPKciS0_
-.L352:
+.L438:
 	.long	.LC1
-.L354:
+.L440:
 	.long	_ZZ19loop_preheader_edgePK4loopE12__FUNCTION__
-.L355:
+.L441:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
 	.cfi_endproc
 .LFE949:
@@ -2637,47 +2605,48 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r10
 	.cfi_offset 10, -12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L360,r8
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_def_cfa_register 14
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	mov.l	.L446,r8
+	mov	r4,r10
+	mov	r5,r9
 	jsr	@r8
 	mov.l	@r5,r5
 	tst	r0,r0
-	bt.s	.L359
+	bt.s	.L445
 	mov	r10,r4
 	jsr	@r8
 	mov.l	@(4,r9),r5
 	xor	#1,r0
-	bra	.L358
+	bra	.L444
 	extu.b	r0,r0
-.L359:
+.L445:
 	mov	#0,r0
-.L358:
-	mov	r14,r15
+.L444:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L361:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L447:
 	.align 2
-.L360:
+.L446:
 	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
 	.cfi_endproc
 .LFE950:
@@ -2690,44 +2659,43 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	add	#64,r4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	.L365,r0
+	.cfi_offset 9, -8
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
+	.cfi_def_cfa_offset 12
+	.cfi_offset 17, -12
+	mov.l	.L453,r0
+	add	#64,r4
 	mov.l	@(32,r4),r8
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov	r15,r14
-	.cfi_def_cfa_register 14
 	jsr	@r0
 	mov	#8,r4
 	tst	r0,r0
-	bt.s	.L364
+	bt.s	.L451
 	mov.l	@(8,r8),r9
 	mov.l	@r9,r0
 	tst	r0,r0
-	bt	.L363
+	bt	.L451
 	mov.l	@(8,r9),r1
 	cmp/eq	r8,r1
-	bt	.L363
-.L364:
+	bt	.L449
+.L451:
 	mov	#0,r0
-.L363:
-	mov	r14,r15
+.L449:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L366:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L454:
 	.align 2
-.L365:
+.L453:
 	.long	_ZL23loops_state_satisfies_pj
 	.cfi_endproc
 .LFE951:
@@ -2740,77 +2708,69 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov	r4,r13
-	.cfi_offset 13, -24
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-8,r15
-	.cfi_def_cfa_offset 40
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_def_cfa_register 14
-	mov	r14,r12
-	mov	r14,r10
-	mov.l	r5,@r14
-	add	#4,r12
-	mov.l	.L372,r11
-	mov.l	.L373,r9
-	bra	.L368
-	add	#-56,r10
-.L370:
+	.cfi_def_cfa_offset 24
+	.cfi_offset 17, -24
+	add	#-4,r15
+	.cfi_def_cfa_offset 28
+	mov.l	.L459,r9
+	mov	r4,r11
+	mov.l	.L460,r12
+	mov	r5,r10
+	mov	#0,r8
+.L456:
+	mov	r8,r4
+	mov	r10,r5
 	jsr	@r9
-	mov.l	@(60,r10),r5
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L371
-	add	#1,r8
-.L368:
-	mov	r8,r4
-	mov.l	@r14,r5
-	jsr	@r11
-	mov	r12,r6
+	bt.s	.L457
+	mov	r11,r4
+	jsr	@r12
+	mov.l	@(0,r15),r5
 	tst	r0,r0
-	bf.s	.L370
-	mov	r13,r4
-	bra	.L369
-	nop
-.L371:
-	mov	#1,r0
-.L369:
-	add	#8,r14
-	mov	r14,r15
+	bt.s	.L456
+	add	#1,r8
+.L457:
+	add	#4,r15
+	.cfi_def_cfa_offset 24
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L374:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L461:
 	.align 2
-.L372:
+.L459:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L373:
+.L460:
 	.long	_Z16loop_exit_edge_pPK4loopPK8edge_def
 	.cfi_endproc
 .LFE952:
@@ -2823,75 +2783,70 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov	r5,r13
-	.cfi_offset 13, -24
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	add	#4,r13
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-8,r15
-	.cfi_def_cfa_offset 40
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_def_cfa_register 14
-	mov	r14,r12
-	mov	r14,r10
-	mov.l	r4,@r14
-	add	#4,r12
-	mov.l	.L380,r11
-	mov.l	.L381,r9
-	bra	.L376
-	add	#-56,r10
-.L378:
-	add	#1,r8
+	.cfi_def_cfa_offset 24
+	.cfi_offset 17, -24
+	add	#-4,r15
+	.cfi_def_cfa_offset 28
+	mov.l	.L466,r9
+	mov	r5,r10
+	mov.l	.L467,r12
+	mov	r4,r11
+	add	#4,r10
+	mov	#0,r8
+.L463:
+	mov	r8,r4
+	mov	r10,r5
 	jsr	@r9
-	mov.l	@(60,r10),r5
+	mov	r15,r6
 	tst	r0,r0
-	bf.s	.L379
-	mov	#1,r0
-.L376:
-	mov	r8,r4
-	mov	r13,r5
-	jsr	@r11
-	mov	r12,r6
+	bt.s	.L464
+	mov	r11,r4
+	jsr	@r12
+	mov.l	@(0,r15),r5
 	tst	r0,r0
-	bf.s	.L378
-	mov.l	@r14,r4
-.L379:
-	add	#8,r14
-	mov	r14,r15
+	bt.s	.L463
+	add	#1,r8
+.L464:
+	add	#4,r15
+	.cfi_def_cfa_offset 24
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L382:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L468:
 	.align 2
-.L380:
+.L466:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L381:
+.L467:
 	.long	_Z16loop_exit_edge_pPK4loopPK8edge_def
 	.cfi_endproc
 .LFE953:
@@ -2904,5265 +2859,4133 @@
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r9
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L414,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-4,r15
-	.cfi_def_cfa_offset 36
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 17, -24
+	mov.l	.L522,r0
 	jsr	@r0
-	mov	r15,r14
+	mov	r4,r9
 	mov.l	@(4,r0),r1
 	tst	r1,r1
-	bt.s	.L384
+	bf.s	.L470
+	mov	r0,r10
+.L477:
+	mov.l	.L523,r0
+	jsr	@r0
+	mov	r9,r4
+	tst	r0,r0
+	bf.s	.L471
 	mov	r0,r10
+	bra	.L538
+	mov.l	@(12,r9),r1
+.L470:
 	mov.l	@r1,r1
-	mov.l	.L425,r13
+	mov.l	.L533,r11
 	mov.l	@(36,r1),r1
-	mov.l	.L426,r12
+	mov.l	.L534,r12
 	mov.l	@r1,r8
-	mov.l	.L427,r11
-	bra	.L385
-	mov	#3,r1
-.L390:
-	mov.l	@(24,r8),r5
-	mov	r5,r2
-	and	r13,r2
-	cmp/eq	r5,r2
-	bt	.L386
-	mov.l	@r12,r4
-	jsr	@r11
-	mov.l	r1,@r14
-	tst	r0,r0
-	bra	.L409
-	mov.l	@r14,r1
-.L386:
-	tst	r2,r2
-.L409:
-	bt	.L430
-	mov.l	@(24,r8),r0
-	bra	.L389
-	nop
-.L385:
+.L473:
 	tst	r8,r8
-.L431:
-	bt	.L384
-	mov.l	@(4,r10),r2
-	mov.l	@r2,r2
-	mov.l	@(32,r2),r2
-	mov.l	@(8,r2),r2
-	cmp/eq	r2,r8
-	bt	.L384
+.L540:
+	bt	.L477
+	mov.l	@(4,r10),r1
+	mov.l	@r1,r1
+	mov.l	@(32,r1),r1
+	mov.l	@(8,r1),r1
+	cmp/eq	r1,r8
+	bt	.L477
 	mov.w	@r8,r2
+	mov	#3,r1
 	add	#-7,r2
 	extu.w	r2,r2
 	cmp/hi	r1,r2
-	bf	.L390
-.L430:
-	bra	.L388
-	mov.l	@(8,r8),r8
-.L384:
-	mov.l	.L418,r0
+	bt	.L497
+	mov.l	@(24,r8),r5
+	mov	r5,r1
+	and	r11,r1
+	cmp/eq	r5,r1
+	bt	.L475
+	mov.l	.L535,r0
 	jsr	@r0
-	mov	r9,r4
+	mov.l	@r12,r4
+	bra	.L514
 	tst	r0,r0
-	bt.s	.L391
-	mov	r0,r10
+.L475:
+	tst	r1,r1
+.L514:
+	bf	.L493
+	mov.l	@(8,r8),r8
+	bra	.L540
+	tst	r8,r8
+.L471:
 	mov.l	@r0,r1
-	mov.l	.L425,r13
+	mov.l	.L533,r11
+	mov.l	@(36,r1),r1
+	mov.l	.L534,r12
+	mov.l	@r1,r8
+.L480:
+	tst	r8,r8
+.L541:
+	bf	.L519
+.L472:
+	mov.l	@(12,r9),r1
+.L538:
+	mov.l	.L533,r10
 	mov.l	@(36,r1),r1
-	mov.l	.L426,r12
+	mov.l	.L534,r11
+	bra	.L479
 	mov.l	@r1,r8
-	mov.l	.L427,r11
-	bra	.L392
+.L519:
+	mov.l	@r10,r1
+	mov.l	@(32,r1),r1
+	mov.l	@(8,r1),r1
+	cmp/eq	r1,r8
+	bt	.L472
+	mov.w	@r8,r2
 	mov	#3,r1
-.L396:
+	add	#-7,r2
+	extu.w	r2,r2
+	cmp/hi	r1,r2
+	bt	.L498
 	mov.l	@(24,r8),r5
-	mov	r5,r2
-	and	r13,r2
-	cmp/eq	r5,r2
-	bt	.L393
+	mov	r5,r1
+	and	r11,r1
+	cmp/eq	r5,r1
+	bt	.L482
+	mov.l	.L535,r0
+	jsr	@r0
 	mov.l	@r12,r4
-	jsr	@r11
-	mov.l	r1,@r14
+	bra	.L515
 	tst	r0,r0
-	bra	.L410
-	mov.l	@r14,r1
-.L393:
-	tst	r2,r2
-.L410:
-	bt	.L395
-	mov.l	@(24,r8),r0
-	bra	.L389
-	nop
-.L392:
+.L482:
+	tst	r1,r1
+.L515:
+	bf	.L493
+	mov.l	@(8,r8),r8
+	bra	.L541
 	tst	r8,r8
-.L432:
-	bt	.L391
-	mov.l	@r10,r2
-	mov.l	@(32,r2),r2
-	mov.l	@(8,r2),r2
-	cmp/eq	r2,r8
-	bt	.L391
+.L521:
+	mov.l	@(12,r9),r1
+	mov.l	@(32,r1),r1
+	mov.l	@(8,r1),r1
+	cmp/eq	r1,r8
+	bt	.L488
 	mov.w	@r8,r2
+	mov	#3,r1
 	add	#-7,r2
 	extu.w	r2,r2
 	cmp/hi	r1,r2
-	bf	.L396
+	bf	.L520
 	mov.l	@(8,r8),r8
-	bra	.L432
+.L479:
 	tst	r8,r8
-.L391:
-	mov.l	@(12,r9),r1
-	mov	#3,r13
-	mov.l	.L425,r12
-	mov.l	@(36,r1),r1
-	mov.l	.L426,r11
-	mov.l	.L427,r10
-	bra	.L397
-	mov.l	@r1,r8
-.L402:
+.L542:
+	bf	.L521
+	mov.l	@(8,r9),r1
+	bra	.L539
+	nop
+.L520:
 	mov.l	@(24,r8),r5
 	mov	r5,r1
-	and	r12,r1
+	and	r10,r1
 	cmp/eq	r5,r1
-	bt	.L398
-	jsr	@r10
+	bt	.L486
+	mov.l	.L535,r0
+	jsr	@r0
 	mov.l	@r11,r4
-	bra	.L411
+	bra	.L516
 	tst	r0,r0
-.L398:
+.L486:
 	tst	r1,r1
-.L411:
-	bt	.L400
-	mov.l	@(24,r8),r0
-	bra	.L389
-	nop
-.L397:
-	tst	r8,r8
-.L433:
-	bt	.L401
-	mov.l	@(12,r9),r1
-	mov.l	@(32,r1),r1
-	mov.l	@(8,r1),r1
-	cmp/eq	r1,r8
-	bt	.L401
-	mov.w	@r8,r1
-	add	#-7,r1
-	extu.w	r1,r1
-	cmp/hi	r13,r1
-	bf	.L402
+.L516:
+	bf	.L493
 	mov.l	@(8,r8),r8
-	bra	.L433
+	bra	.L542
 	tst	r8,r8
-.L407:
+.L488:
+	mov.l	@(8,r9),r1
+.L539:
+	mov.l	.L533,r10
+	mov.l	@(32,r1),r8
+	mov.l	.L534,r11
+.L490:
+	tst	r8,r8
+.L543:
+	bt	.L494
+	mov.l	@(8,r9),r1
+	mov.l	@(36,r1),r1
+	mov.l	@r1,r1
+	mov.l	@(12,r1),r1
+	cmp/eq	r1,r8
+	bt	.L494
+	mov.w	@r8,r2
+	mov	#3,r1
+	add	#-7,r2
+	extu.w	r2,r2
+	cmp/hi	r1,r2
+	bt	.L500
 	mov.l	@(24,r8),r5
 	mov	r5,r1
-	and	r12,r1
+	and	r10,r1
 	cmp/eq	r5,r1
-	bt	.L403
-	jsr	@r10
+	bt	.L492
+	mov.l	.L535,r0
+	jsr	@r0
 	mov.l	@r11,r4
-	bra	.L412
+	bra	.L518
 	tst	r0,r0
-.L403:
+.L492:
 	tst	r1,r1
-.L412:
-	bt	.L405
-	mov.l	@(24,r8),r0
-	bra	.L389
-	nop
-.L408:
+.L518:
+	bf	.L493
+	mov.l	@(12,r8),r8
+	bra	.L543
 	tst	r8,r8
-.L434:
-	bt	.L406
-	mov.l	@(8,r9),r1
-	mov.l	@(36,r1),r1
+.L494:
+	mov.l	.L536,r1
 	mov.l	@r1,r1
-	mov.l	@(12,r1),r1
-	cmp/eq	r1,r8
-	bt	.L406
-	mov.w	@r8,r1
-	add	#-7,r1
-	extu.w	r1,r1
-	cmp/hi	r13,r1
-	bf	.L407
+	bra	.L513
+	mov.l	@(16,r1),r0
+.L497:
+	bra	.L473
+	mov.l	@(8,r8),r8
+.L498:
+	bra	.L480
+	mov.l	@(8,r8),r8
+.L500:
+	bra	.L490
 	mov.l	@(12,r8),r8
-	bra	.L434
-	tst	r8,r8
-.L389:
-	add	#4,r14
-	mov	r14,r15
+.L493:
+	mov.l	@(24,r8),r0
+.L513:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L388:
-	bra	.L431
-	tst	r8,r8
-.L395:
-	bra	.L392
-	mov.l	@(8,r8),r8
-.L400:
-	bra	.L397
-	mov.l	@(8,r8),r8
-.L401:
-	mov.l	@(8,r9),r1
-	mov	#3,r13
-	mov.l	.L425,r12
-	mov.l	.L426,r11
-	mov.l	.L427,r10
-	bra	.L408
-	mov.l	@(32,r1),r8
-.L405:
-	bra	.L408
-	mov.l	@(12,r8),r8
-.L406:
-	mov.l	.L428,r1
-	mov.l	@r1,r1
-	bra	.L389
-	mov.l	@(16,r1),r0
-.L429:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L537:
 	.align 2
-.L414:
+.L522:
 	.long	_Z20get_simple_loop_descP4loop
-.L425:
+.L523:
+	.long	_Z11single_exitPK4loop
+.L533:
 	.long	2147483647
-.L426:
+.L534:
 	.long	line_table
-.L427:
+.L535:
 	.long	_Z27get_location_from_adhoc_locP9line_mapsj
-.L418:
-	.long	_Z11single_exitPK4loop
-.L428:
+.L536:
 	.long	current_function_decl
 	.cfi_endproc
 .LFE954:
 	.size	_Z17get_loop_locationP4loop, .-_Z17get_loop_locationP4loop
-	.section	.text._ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi,"axG",@progbits,_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi,comdat
+	.section	.text._ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_,"axG",@progbits,_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_,comdat
 	.align 1
-	.weak	_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi
-	.type	_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi, @function
-_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi:
-.LFB960:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L436
-	mov	r15,r14
-	mov.l	@(4,r1),r2
-	cmp/hs	r2,r5
-	bt	.L437
-	mov	r5,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r1
-	mov	#1,r0
-	bra	.L438
-	mov.l	r1,@r6
-.L437:
-	mov	#0,r1
-.L436:
-	mov.l	r1,@r6
-	mov	#0,r0
-.L438:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE960:
-	.size	_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi, .-_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi
-	.section	.text._ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi,"axG",@progbits,_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi,comdat
-	.align 1
-	.weak	_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi
-	.type	_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi, @function
-_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi:
-.LFB964:
+	.weak	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
+	.type	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_, @function
+_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_:
+.LFB982:
 	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
+	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
+	.cfi_offset 8, -4
+	mov.l	r9,@-r15
+	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
+	mov.l	r10,@-r15
+	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 17, -20
+	mov	r4,r8
+	mov.l	@r4,r4
+	tst	r4,r4
+	bt.s	.L545
+	mov	r5,r10
+	mov.l	@r4,r2
+	mov.l	@(4,r4),r1
+	cmp/eq	r1,r2
+	bf	.L546
+.L545:
+	mov.l	.L557,r0
+	mov	#1,r5
+	jsr	@r0
+	mov	#0,r6
+	tst	r0,r0
+	mov	r0,r9
+	bf.s	.L547
+	mov.l	@r8,r4
+	tst	r4,r4
+	bt	.L546
+	mov.l	.L558,r1
+	jsr	@r1
+	nop
+	bra	.L546
+	mov.l	r9,@r8
+.L547:
+	mov	r0,r5
+	shll2	r5
+	tst	r4,r4
+	bt.s	.L550
+	add	#8,r5
+	bra	.L549
+	mov.l	@(4,r4),r11
+.L550:
+	mov	#0,r11
+.L549:
+	mov.l	.L559,r0
+	jsr	@r0
+	nop
+	mov.l	r0,@r8
+	mov.l	r9,@r0
+	mov.l	r11,@(4,r0)
+.L546:
+	mov.l	@r8,r1
+	mov.l	@r10,r2
 	mov.l	@(4,r1),r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	r0,r2
-	add	#1,r2
-	mov.l	r2,@(4,r1)
+	mov	r0,r3
 	add	#2,r0
+	add	#1,r3
 	shll2	r0
 	add	r1,r0
-	mov.l	@r5,r1
-	mov.l	r1,@r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE964:
-	.size	_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi, .-_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi
-	.section	.text._ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_,"axG",@progbits,_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_,comdat
-	.align 1
-	.weak	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
-	.type	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_, @function
-_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_:
-.LFB983:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
+	mov.l	r3,@(4,r1)
+	mov.l	r2,@r0
+	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
+	mov.l	@r15+,r9
+	.cfi_restore 9
 	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L441
-	mov	r15,r14
-	mov.l	@(4,r1),r2
-	cmp/hs	r2,r5
-	bt	.L442
-	mov	r5,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r1
-	mov	#1,r0
-	bra	.L443
-	mov.l	r1,@r6
-.L442:
-	mov	#0,r1
-.L441:
-	mov.l	r1,@r6
-	mov	#0,r0
-.L443:
-	mov	r14,r15
 	rts	
-	mov.l	@r15+,r14
+	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L560:
+	.align 2
+.L557:
+	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
+.L558:
+	.long	free
+.L559:
+	.long	xrealloc
 	.cfi_endproc
-.LFE983:
-	.size	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_, .-_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
-	.section	.text._ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv,"axG",@progbits,_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv,comdat
+.LFE982:
+	.size	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_, .-_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
+	.text
 	.align 1
-	.weak	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv
-	.type	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv, @function
-_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv:
-.LFB988:
+	.type	_ZL20get_loop_latch_edgesPK4loop.isra.28, @function
+_ZL20get_loop_latch_edgesPK4loop.isra.28:
+.LFB1115:
 	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
+	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L446
-	mov	r15,r14
-	mov.l	@(4,r1),r1
-	tst	r1,r1
-	bra	.L445
-	movt	r0
-.L446:
-	mov	#1,r0
-.L445:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE988:
-	.size	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv, .-_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv
-	.section	.text._ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv,"axG",@progbits,_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv,comdat
-	.align 1
-	.weak	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv
-	.type	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv, @function
-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv:
-.LFB989:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov.l	@(4,r1),r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	r0,r2
-	add	#1,r0
-	shll2	r0
-	add	#-1,r2
-	add	r1,r0
-	mov.l	r2,@(4,r1)
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE989:
-	.size	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv, .-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv
-	.section	.text._ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE,"axG",@progbits,_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE,comdat
-	.align 1
-	.weak	_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE
-	.type	_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE, @function
-_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE:
-.LFB1007:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
+	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	sts.l	pr,@-r15
+	.cfi_offset 9, -8
+	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	@r4,r4
-	tst	r4,r4
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
-	bt.s	.L448
-	mov	r15,r14
-	mov.l	.L450,r1
-	jsr	@r1
-	nop
+	.cfi_offset 10, -12
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	mov.l	r12,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 17, -24
+	add	#-8,r15
+	.cfi_def_cfa_offset 32
 	mov	#0,r1
-	mov.l	r1,@r8
-.L448:
-	mov	r14,r15
+	mov.l	@r4,r11
+	mov	r4,r9
+	mov.l	.L569,r10
+	mov	#0,r8
+	mov.l	.L570,r12
+	mov.l	r1,@(4,r15)
+.L562:
+	mov	r8,r4
+	mov	r11,r5
+	jsr	@r10
+	mov	r15,r6
+	tst	r0,r0
+	bt.s	.L568
+	mov.l	@(0,r15),r1
+	mov	#1,r4
+	mov.l	@r9,r6
+	jsr	@r12
+	mov.l	@r1,r5
+	tst	r0,r0
+	bt.s	.L563
+	mov	r15,r4
+	mov.l	.L571,r0
+	add	#4,r4
+	jsr	@r0
+	mov	r15,r5
+.L563:
+	bra	.L562
+	add	#1,r8
+.L568:
+	mov.l	@(4,r15),r0
+	add	#8,r15
+	.cfi_def_cfa_offset 24
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	rts	
-	mov.l	@r15+,r8
-.L451:
-	.align 2
-.L450:
-	.long	free
-	.cfi_endproc
-.LFE1007:
-	.size	_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE, .-_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE
-	.section	.text._ZN3vecIi7va_heap6vl_ptrE7releaseEv,"axG",@progbits,_ZN3vecIi7va_heap6vl_ptrE7releaseEv,comdat
-	.align 1
-	.weak	_ZN3vecIi7va_heap6vl_ptrE7releaseEv
-	.type	_ZN3vecIi7va_heap6vl_ptrE7releaseEv, @function
-_ZN3vecIi7va_heap6vl_ptrE7releaseEv:
-.LFB961:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
+	mov.l	@r15+,r9
+	.cfi_restore 9
 	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L452
-	mov	r15,r14
-	mov.l	.L454,r1
-	mov	r14,r15
-	jmp	@r1
-	mov.l	@r15+,r14
-.L452:
-	mov	r14,r15
 	rts	
-	mov.l	@r15+,r14
-.L455:
+	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L572:
 	.align 2
-.L454:
-	.long	_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE
+.L569:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L570:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
+.L571:
+	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
 	.cfi_endproc
-.LFE961:
-	.size	_ZN3vecIi7va_heap6vl_ptrE7releaseEv, .-_ZN3vecIi7va_heap6vl_ptrE7releaseEv
-	.text
+.LFE1115:
+	.size	_ZL20get_loop_latch_edgesPK4loop.isra.28, .-_ZL20get_loop_latch_edgesPK4loop.isra.28
 	.align 1
-	.type	_ZL8fel_nextP13loop_iteratorPP4loop, @function
-_ZL8fel_nextP13loop_iteratorPP4loop:
-.LFB322:
+	.global	_Z19get_loop_exit_edgesPK4loop
+	.type	_Z19get_loop_exit_edgesPK4loop, @function
+_Z19get_loop_exit_edgesPK4loop:
+.LFB939:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r9
 	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
 	add	#-8,r15
 	.cfi_def_cfa_offset 40
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	mov	r14,r13
-	mov	r14,r10
-	add	#4,r13
-	mov.l	.L460,r12
-	mov.l	.L461,r11
-	bra	.L457
-	add	#-56,r10
-.L459:
-	mov.l	@(4,r8),r1
-	mov.l	@(60,r10),r0
-	add	#1,r1
-	mov.l	r1,@(4,r8)
-	add	#2,r0
-	mov.l	@r11,r1
-	shll2	r0
-	mov.l	@(16,r1),r1
+	mov	#0,r1
+	mov.l	r1,@(0,r15)
+	mov.l	.L586,r1
+	mov.l	@(12,r4),r2
+	mov.l	@r1,r1
+	mov.l	@(4,r1),r1
 	mov.l	@(4,r1),r1
-	mov.l	@(r0,r1),r1
+	cmp/eq	r1,r2
+	bf.s	.L574
+	mov	r4,r8
+	mov.l	.L587,r1
+	mov.l	.L588,r4
+	mov.w	.L589,r5
+	mov.l	.L590,r6
+	jsr	@r1
+	nop
+.L574:
+	mov.l	.L591,r0
+	jsr	@r0
+	mov	#8,r4
+	tst	r0,r0
+	bt	.L575
+	add	#64,r8
+	mov.l	@(32,r8),r1
+	mov.l	.L596,r9
+	mov.l	@(8,r1),r8
+.L576:
+	mov.l	@r8,r1
 	tst	r1,r1
-	bf.s	.L456
-	mov.l	r1,@r9
-.L457:
+	bt.s	.L578
+	mov	r8,r5
+	jsr	@r9
+	mov	r15,r4
+	bra	.L576
+	mov.l	@(8,r8),r8
+.L575:
+	mov.l	.L593,r0
+	mov.l	.L594,r13
+	jsr	@r0
 	mov	r8,r4
-	mov.l	@(4,r8),r5
-	jsr	@r12
-	mov	r13,r6
+	mov.l	.L595,r14
+	mov	r0,r12
+	mov	#0,r9
+.L579:
+	mov.l	@(28,r8),r1
+	cmp/hs	r1,r9
+	bt	.L584
+	mov	r9,r0
+	shll2	r0
+	mov.l	@(r0,r12),r10
+	mov	#0,r11
+	add	#4,r10
+.L580:
+	mov	r15,r6
+	mov	r11,r4
+	mov	r10,r5
+	jsr	@r13
+	add	#4,r6
 	tst	r0,r0
-	bf.s	.L459
+	bt.s	.L585
+	mov.l	@(4,r15),r1
 	mov	r8,r4
-	mov.l	.L462,r1
+	jsr	@r14
+	mov.l	@(4,r1),r5
+	tst	r0,r0
+	bf.s	.L581
+	mov	r15,r5
+	mov.l	.L596,r0
+	mov	r15,r4
+	jsr	@r0
+	add	#4,r5
+.L581:
+	bra	.L580
+	add	#1,r11
+.L585:
+	bra	.L579
+	add	#1,r9
+.L584:
+	mov.l	.L597,r1
 	jsr	@r1
-	mov.l	r0,@r14
-	mov.l	@r14,r0
-	mov.l	r0,@r9
-.L456:
-	add	#8,r14
-	mov	r14,r15
+	mov	r12,r4
+.L578:
+	mov.l	@(0,r15),r0
+	add	#8,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L463:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+	.align 1
+.L589:
+	.short	1145
+.L598:
 	.align 2
-.L460:
-	.long	_ZNK3vecIi7va_heap6vl_ptrE7iterateEjPi
-.L461:
+.L586:
 	.long	cfun
-.L462:
-	.long	_ZN3vecIi7va_heap6vl_ptrE7releaseEv
+.L587:
+	.long	_Z11fancy_abortPKciS0_
+.L588:
+	.long	.LC1
+.L590:
+	.long	_ZZ19get_loop_exit_edgesPK4loopE12__FUNCTION__
+.L591:
+	.long	_ZL23loops_state_satisfies_pj
+.L596:
+	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
+.L593:
+	.long	_Z13get_loop_bodyPK4loop
+.L594:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L595:
+	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
+.L597:
+	.long	free
 	.cfi_endproc
-.LFE322:
-	.size	_ZL8fel_nextP13loop_iteratorPP4loop, .-_ZL8fel_nextP13loop_iteratorPP4loop
-	.section	.text._ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE,"axG",@progbits,_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE,comdat
+.LFE939:
+	.size	_Z19get_loop_exit_edgesPK4loop, .-_Z19get_loop_exit_edgesPK4loop
+	.section	.text._ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_,"axG",@progbits,_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_,comdat
+	.align 1
+	.weak	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
+	.type	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_, @function
+_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_:
+.LFB983:
+	.cfi_startproc
+	mov.l	@r4,r1
+	tst	r1,r1
+	bt	.L600
+	mov.l	@(4,r1),r2
+	cmp/hs	r2,r5
+	bt.s	.L600
+	shll2	r5
+	add	r5,r1
+	mov.l	@(8,r1),r1
+	mov	#1,r0
+	bra	.L601
+	mov.l	r1,@r6
+.L600:
+	mov	#0,r1
+	mov.l	r1,@r6
+	mov	#0,r0
+.L601:
+	rts	
+	nop
+	.cfi_endproc
+.LFE983:
+	.size	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_, .-_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
+	.section	.text._ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv,"axG",@progbits,_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv,comdat
 	.align 1
-	.weak	_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE
-	.type	_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE, @function
-_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE:
-.LFB1027:
+	.weak	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
+	.type	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv, @function
+_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv:
+.LFB984:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 8
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 12
+	.cfi_def_cfa_offset 8
+	.cfi_offset 17, -8
+	mov	r4,r8
 	mov.l	@r4,r4
 	tst	r4,r4
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
-	bt.s	.L464
-	mov	r15,r14
-	mov.l	.L466,r1
+	bt	.L605
+	mov.l	.L610,r1
 	jsr	@r1
 	nop
 	mov	#0,r1
 	mov.l	r1,@r8
-.L464:
-	mov	r14,r15
+.L605:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L467:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L611:
 	.align 2
-.L466:
+.L610:
 	.long	free
 	.cfi_endproc
-.LFE1027:
-	.size	_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE, .-_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE
-	.section	.text._ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv,"axG",@progbits,_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv,comdat
-	.align 1
-	.weak	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
-	.type	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv, @function
-_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv:
-.LFB984:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L468
-	mov	r15,r14
-	mov.l	.L470,r1
-	mov	r14,r15
-	jmp	@r1
-	mov.l	@r15+,r14
-.L468:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L471:
-	.align 2
-.L470:
-	.long	_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE
-	.cfi_endproc
 .LFE984:
 	.size	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv, .-_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
-	.section	.text._ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE,"axG",@progbits,_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE,comdat
+	.section	.rodata.str1.4
+	.align 2
+.LC2:
+	.string	";;\n;; Loop %d\n"
+	.align 2
+.LC3:
+	.string	";;  header %d, "
+	.align 2
+.LC4:
+	.string	"latch %d\n"
+	.align 2
+.LC5:
+	.string	"multiple latches:"
+	.align 2
+.LC6:
+	.string	" %d"
+	.align 2
+.LC7:
+	.string	";;  depth %d, outer %ld\n"
+	.align 2
+.LC8:
+	.string	";;  nodes:"
+	.text
 	.align 1
-	.weak	_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE
-	.type	_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE, @function
-_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE:
-.LFB1033:
+	.global	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
+	.type	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi, @function
+_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi:
+.LFB902:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
+	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	sts.l	pr,@-r15
+	.cfi_offset 9, -8
+	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	@r4,r4
+	.cfi_offset 10, -12
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	mov.l	r12,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
+	mov.l	r13,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
+	mov.l	r14,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
+	add	#-12,r15
+	.cfi_def_cfa_offset 44
+	mov.l	r7,@r15
 	tst	r4,r4
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
-	bt.s	.L472
-	mov	r15,r14
-	mov.l	.L474,r1
+	mov	r4,r9
+	mov	r5,r8
+	bt.s	.L612
+	mov	r6,r12
+	mov.l	@(8,r4),r1
+	tst	r1,r1
+	bt.s	.L612
+	mov	r5,r4
+	mov.l	.L637,r10
+	mov.l	.L638,r5
+	jsr	@r10
+	mov.l	@r9,r6
+	mov.l	@(8,r9),r1
+	mov	r8,r4
+	mov.l	.L639,r5
+	jsr	@r10
+	mov.l	@(44,r1),r6
+	mov.l	@(12,r9),r1
+	mov.l	.L640,r13
+	tst	r1,r1
+	bt	.L614
+	mov	r8,r4
+	mov.l	.L641,r5
+	jsr	@r10
+	mov.l	@(44,r1),r6
+	bra	.L656
+	mov.l	@(32,r9),r4
+.L614:
+	mov.l	.L642,r4
+	jsr	@r13
+	mov	r8,r5
+	mov.l	.L643,r0
+	mov	r9,r4
+	mov.l	.L644,r14
+	jsr	@r0
+	add	#8,r4
+	mov.l	r0,@(4,r15)
+	mov	#0,r11
+	mov	r15,r4
+.L657:
+	mov	r15,r6
+	add	#4,r4
+	mov	r11,r5
+	jsr	@r14
+	add	#8,r6
+	tst	r0,r0
+	bt.s	.L635
+	mov.l	@(8,r15),r1
+	mov	r8,r4
+	mov.l	.L652,r5
+	add	#1,r11
+	mov.l	@r1,r1
+	jsr	@r10
+	mov.l	@(44,r1),r6
+	bra	.L657
+	mov	r15,r4
+.L635:
+	mov.l	.L646,r1
+	mov	r15,r4
 	jsr	@r1
+	add	#4,r4
+	mov.l	.L654,r0
+	mov	#10,r4
+	jsr	@r0
+	mov	r8,r5
+	mov.l	@(32,r9),r4
+.L656:
+	tst	r4,r4
+	bt	.L624
+	mov.l	@(4,r4),r11
+	bra	.L618
 	nop
-	mov	#0,r1
-	mov.l	r1,@r8
-.L472:
-	mov	r14,r15
+.L624:
+	mov	#0,r11
+.L618:
+	mov.l	.L648,r0
+	jsr	@r0
+	nop
+	tst	r0,r0
+	bt	.L625
+	mov.l	@r0,r7
+	bra	.L619
+	nop
+.L625:
+	mov	#-1,r7
+.L619:
+	mov.l	.L649,r5
+	mov	r11,r6
+	jsr	@r10
+	mov	r8,r4
+	mov.l	.L650,r4
+	jsr	@r13
+	mov	r8,r5
+	mov.l	.L651,r0
+	mov	r9,r4
+	jsr	@r0
+	mov	#0,r11
+	mov	r0,r13
+	mov.l	@(28,r9),r1
+.L658:
+	cmp/hs	r1,r11
+	bt.s	.L636
+	mov	r11,r0
+	shll2	r0
+	mov.l	@(r0,r13),r1
+	mov	r8,r4
+	mov.l	.L652,r5
+	add	#1,r11
+	jsr	@r10
+	mov.l	@(44,r1),r6
+	bra	.L658
+	mov.l	@(28,r9),r1
+.L636:
+	mov.l	.L653,r1
+	jsr	@r1
+	mov	r13,r4
+	mov.l	.L654,r0
+	mov	#10,r4
+	jsr	@r0
+	mov	r8,r5
+	tst	r12,r12
+	bt.s	.L612
+	mov	r9,r4
+	mov	r8,r5
+	jsr	@r12
+	mov.l	@r15,r6
+.L612:
+	add	#12,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
+	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
+	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L475:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L655:
 	.align 2
-.L474:
+.L637:
+	.long	fprintf
+.L638:
+	.long	.LC2
+.L639:
+	.long	.LC3
+.L640:
+	.long	fputs
+.L641:
+	.long	.LC4
+.L642:
+	.long	.LC5
+.L643:
+	.long	_ZL20get_loop_latch_edgesPK4loop.isra.28
+.L644:
+	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
+.L652:
+	.long	.LC6
+.L646:
+	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
+.L654:
+	.long	fputc
+.L648:
+	.long	_ZL10loop_outerPK4loop.isra.13
+.L649:
+	.long	.LC7
+.L650:
+	.long	.LC8
+.L651:
+	.long	_Z13get_loop_bodyPK4loop
+.L653:
 	.long	free
 	.cfi_endproc
-.LFE1033:
-	.size	_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE, .-_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE
-	.section	.text._ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv,"axG",@progbits,_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv,comdat
-	.align 1
-	.weak	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv
-	.type	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv, @function
-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv:
-.LFB990:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L476
-	mov	r15,r14
-	mov.l	.L478,r1
-	mov	r14,r15
-	jmp	@r1
-	mov.l	@r15+,r14
-.L476:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L479:
-	.align 2
-.L478:
-	.long	_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE
-	.cfi_endproc
-.LFE990:
-	.size	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv, .-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv
-	.section	.text._ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE,"axG",@progbits,_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE,comdat
-	.align 1
-	.weak	_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE
-	.type	_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE, @function
-_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE:
-.LFB1041:
+.LFE902:
+	.size	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi, .-_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
+	.section	.text._ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_,"axG",@progbits,_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_,comdat
+	.align 1
+	.weak	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
+	.type	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_, @function
+_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_:
+.LFB987:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	r4,r8
 	.cfi_offset 8, -4
-	mov.l	r14,@-r15
+	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	sts.l	pr,@-r15
+	.cfi_offset 9, -8
+	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 17, -20
+	mov	r4,r8
 	mov.l	@r4,r4
 	tst	r4,r4
-	.cfi_offset 17, -12
-	.cfi_offset 14, -8
-	.cfi_def_cfa_register 14
-	bt.s	.L480
-	mov	r15,r14
-	mov.l	.L482,r1
+	bt.s	.L660
+	mov	r5,r10
+	mov.l	@r4,r2
+	mov.l	@(4,r4),r1
+	cmp/eq	r1,r2
+	bf	.L661
+.L660:
+	mov.l	.L672,r0
+	mov	#1,r5
+	jsr	@r0
+	mov	#0,r6
+	tst	r0,r0
+	mov	r0,r9
+	bf.s	.L662
+	mov.l	@r8,r4
+	tst	r4,r4
+	bt	.L661
+	mov.l	.L673,r1
 	jsr	@r1
 	nop
-	mov	#0,r1
-	mov.l	r1,@r8
-.L480:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	rts	
-	mov.l	@r15+,r8
-.L483:
-	.align 2
-.L482:
-	.long	free
-	.cfi_endproc
-.LFE1041:
-	.size	_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE, .-_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE
-	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv,comdat
-	.align 1
-	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv
-	.type	_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv, @function
-_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv:
-.LFB1000:
-	.cfi_startproc
-	mov.l	@r4,r1
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r1,r1
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L484
-	mov	r15,r14
-	mov.l	.L486,r1
-	mov	r14,r15
-	jmp	@r1
-	mov.l	@r15+,r14
-.L484:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L487:
-	.align 2
-.L486:
-	.long	_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE
-	.cfi_endproc
-.LFE1000:
-	.size	_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv, .-_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv
-	.section	.text._ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi,"axG",@progbits,_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi,comdat
-	.align 1
-	.weak	_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi
-	.type	_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi, @function
-_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi:
-.LFB1050:
-	.cfi_startproc
-	mov.l	@r4,r2
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r2,r2
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L489
-	mov	r15,r14
-	mov.l	@r2,r1
-	mov.l	@(4,r2),r2
-	sub	r2,r1
-	bra	.L491
-	cmp/hs	r5,r1
-.L489:
-	tst	r5,r5
-.L491:
-	movt	r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE1050:
-	.size	_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi, .-_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi
-	.section	.text._ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb,"axG",@progbits,_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb,comdat
-	.align 1
-	.weak	_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb
-	.type	_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb, @function
-_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb:
-.LFB1051:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	extu.b	r6,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L498,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov.l	@r4,r4
-	tst	r0,r0
-	bf.s	.L494
-	mov	r0,r9
-	mov.l	.L499,r1
-	mov	r8,r4
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L494:
-	mov.l	@r8,r4
+	bra	.L661
+	mov.l	r9,@r8
+.L662:
 	mov	r0,r5
-	add	#2,r5
-	tst	r4,r4
-	bt.s	.L497
 	shll2	r5
-	bra	.L495
-	mov.l	@(4,r4),r10
-.L497:
-	mov	#0,r10
-.L495:
-	mov.l	.L500,r0
+	tst	r4,r4
+	bt.s	.L665
+	add	#8,r5
+	bra	.L664
+	mov.l	@(4,r4),r11
+.L665:
+	mov	#0,r11
+.L664:
+	mov.l	.L674,r0
 	jsr	@r0
 	nop
 	mov.l	r0,@r8
 	mov.l	r9,@r0
-	mov.l	r10,@(4,r0)
-	mov	r14,r15
+	mov.l	r11,@(4,r0)
+.L661:
+	mov.l	@r8,r1
+	mov.l	@r10,r2
+	mov.l	@(4,r1),r0
+	mov	r0,r3
+	add	#2,r0
+	add	#1,r3
+	shll2	r0
+	add	r1,r0
+	mov.l	r3,@(4,r1)
+	mov.l	r2,@r0
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L501:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L675:
 	.align 2
-.L498:
+.L672:
 	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
-.L499:
-	.long	_ZN7va_heap7releaseIP8edge_defEEvRP3vecIT_S_8vl_embedE
-.L500:
+.L673:
+	.long	free
+.L674:
 	.long	xrealloc
 	.cfi_endproc
-.LFE1051:
-	.size	_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb, .-_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb
-	.section	.text._ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb,"axG",@progbits,_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb,comdat
-	.align 1
-	.weak	_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb
-	.type	_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb, @function
-_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb:
-.LFB1024:
+.LFE987:
+	.size	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_, .-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
+	.text
+	.align 1
+	.global	_Z20flow_loop_nodes_findP15basic_block_defP4loop
+	.type	_Z20flow_loop_nodes_findP15basic_block_defP4loop, @function
+_Z20flow_loop_nodes_findP15basic_block_defP4loop:
+.LFB906:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	tst	r5,r5
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	extu.b	r6,r10
-	.cfi_offset 14, -16
 	.cfi_offset 10, -12
-	sts.l	pr,@-r15
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	.cfi_def_cfa_register 14
-	bt.s	.L505
-	mov	r15,r14
-	mov.l	.L506,r0
-	.cfi_offset 17, -20
-	jsr	@r0
-	nop
+	.cfi_offset 12, -20
+	mov.l	r13,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
+	mov.l	r14,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
+	add	#-24,r15
+	.cfi_def_cfa_offset 56
+	mov	#0,r1
+	mov.l	r1,@(8,r15)
+	mov	r5,r8
+	mov.l	@(8,r5),r1
+	mov	#0,r10
+	mov.l	.L699,r13
+	mov	#1,r9
+	mov.l	.L698,r14
+	mov.l	r5,@(12,r4)
+	mov.l	r1,@r15
+.L677:
+	mov	r15,r6
+	mov	r10,r4
+	mov.l	@r15,r5
+	jsr	@r13
+	add	#12,r6
 	tst	r0,r0
-	bf.s	.L505
-	mov	r9,r4
-	mov.l	.L507,r1
-	mov	r8,r5
+	mov.l	.L699,r12
+	bt.s	.L695
+	mov.l	@(12,r15),r1
+	mov.l	@r1,r5
+	mov.l	@(12,r5),r1
+	cmp/eq	r8,r1
+	bt.s	.L683
+	mov	#1,r4
+	jsr	@r14
+	mov.l	@(8,r8),r6
+	tst	r0,r0
+	bf.s	.L679
+	mov	r15,r4
+	bra	.L677
+	add	#1,r10
+.L696:
+	mov.l	@(4,r1),r2
+	tst	r2,r2
+	bt.s	.L683
+	mov	r2,r3
+	add	#-1,r3
+	mov.l	r3,@(4,r1)
+	shll2	r2
+	add	r2,r1
+	mov.l	@(4,r1),r1
+	mov	#0,r11
+	mov.l	r1,@(4,r15)
+.L680:
+	mov	r15,r6
+	mov	r11,r4
+	mov.l	@(4,r15),r5
+	jsr	@r12
+	add	#16,r6
+	tst	r0,r0
+	bf.s	.L682
+	mov.l	@(16,r15),r1
+.L687:
+	mov.l	@(8,r15),r1
+	tst	r1,r1
+	bf	.L696
+.L683:
+	bra	.L677
+	add	#1,r10
+.L695:
+	mov.l	@(8,r15),r4
+	tst	r4,r4
+	bt	.L690
+	mov.l	.L700,r1
 	jsr	@r1
-	mov	r10,r6
-	bra	.L503
-	mov	#1,r0
-.L505:
-	mov	#0,r0
-.L503:
-	mov	r14,r15
+	nop
+	bra	.L704
+	mov	r9,r0
+.L679:
+	mov.l	.L702,r11
+	add	#8,r4
+	jsr	@r11
+	mov.l	@(12,r15),r5
+	mov.l	@(12,r15),r1
+	add	#1,r9
+	mov.l	@r1,r1
+	bra	.L687
+	mov.l	r8,@(12,r1)
+.L682:
+	mov.l	@r1,r1
+	mov.l	@(12,r1),r2
+	cmp/eq	r8,r2
+	bt.s	.L681
+	mov.l	r1,@(20,r15)
+	mov.l	r8,@(12,r1)
+	mov	r15,r4
+	mov.l	.L702,r1
+	mov	r15,r5
+	add	#1,r9
+	add	#8,r4
+	jsr	@r1
+	add	#20,r5
+.L681:
+	bra	.L680
+	add	#1,r11
+.L690:
+	mov	r9,r0
+.L704:
+	add	#24,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
+	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L508:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L703:
 	.align 2
-.L506:
-	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE5spaceEi
-.L507:
-	.long	_ZN7va_heap7reserveIP8edge_defEEvRP3vecIT_S_8vl_embedEjb
+.L699:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L698:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
+.L700:
+	.long	free
+.L702:
+	.long	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
 	.cfi_endproc
-.LFE1024:
-	.size	_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb, .-_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb
-	.section	.text._ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_,"axG",@progbits,_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_,comdat
+.LFE906:
+	.size	_Z20flow_loop_nodes_findP15basic_block_defP4loop, .-_Z20flow_loop_nodes_findP15basic_block_defP4loop
+	.section	.text._Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb,"axG",@progbits,_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb,comdat
 	.align 1
-	.weak	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
-	.type	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_, @function
-_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_:
-.LFB982:
+	.weak	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
+	.type	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb, @function
+_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb:
+.LFB1034:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r6
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
+	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	.L510,r0
-	mov	#1,r5
+	.cfi_offset 10, -12
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 16
 	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
+	tst	r5,r5
+	mov	r4,r9
+	bt.s	.L712
+	extu.b	r6,r6
+	mov.l	@r4,r4
+	tst	r4,r4
+	bt	.L707
+	mov.l	@r4,r1
+	mov.l	@(4,r4),r2
+	sub	r2,r1
+	cmp/hs	r5,r1
+	bf	.L707
+.L712:
+	bra	.L717
+	mov	#0,r0
+.L707:
+	mov.l	.L720,r0
 	jsr	@r0
-	mov	r15,r14
-	mov.l	@r8,r1
-	mov.l	@r9,r2
-	mov.l	@(4,r1),r0
-	mov	r0,r3
-	add	#2,r0
-	shll2	r0
-	add	r1,r0
-	add	#1,r3
-	mov.l	r3,@(4,r1)
-	mov.l	r2,@r0
-	mov	r14,r15
+	nop
+	tst	r0,r0
+	bf.s	.L718
+	mov	r0,r8
+	mov.l	.L721,r1
+	jsr	@r1
+	mov.l	@r9,r4
+	bra	.L719
+	mov.l	r8,@r9
+.L718:
+	mov.l	.L722,r0
+	mov	r8,r4
+	shll2	r4
+	jsr	@r0
+	add	#8,r4
+	mov	r0,r8
+	add	#-8,r8
+	mov.l	@r9,r4
+	shlr2	r8
+	mov	r8,r5
+	shll2	r5
+	tst	r4,r4
+	bt.s	.L713
+	add	#8,r5
+	bra	.L708
+	mov.l	@(4,r4),r10
+.L713:
+	mov	#0,r10
+.L708:
+	mov.l	.L723,r0
+	jsr	@r0
+	nop
+	mov.l	r0,@r9
+	mov.l	r8,@r0
+	mov.l	r10,@(4,r0)
+.L719:
+	mov	#1,r0
+.L717:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L511:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L724:
 	.align 2
-.L510:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7reserveEjb
+.L720:
+	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
+.L721:
+	.long	_Z8ggc_freePv
+.L722:
+	.long	_Z20ggc_round_alloc_sizej
+.L723:
+	.long	_Z16ggc_realloc_statPvj
 	.cfi_endproc
-.LFE982:
-	.size	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_, .-_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
+.LFE1034:
+	.size	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb, .-_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
 	.text
 	.align 1
-	.global	_Z19get_loop_exit_edgesPK4loop
-	.type	_Z19get_loop_exit_edgesPK4loop, @function
-_Z19get_loop_exit_edgesPK4loop:
-.LFB939:
+	.type	_ZL15establish_predsP4loopS0_, @function
+_ZL15establish_predsP4loopS0_:
+.LFB907:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r1
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-12,r15
-	.cfi_def_cfa_offset 44
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
 	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	.cfi_def_cfa_register 14
-	mov	r14,r10
-	add	#-52,r10
-	mov.l	r1,@(60,r10)
-	mov.l	.L523,r1
-	mov.l	@(12,r4),r2
-	mov.l	@r1,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r1
-	cmp/eq	r1,r2
-	bf.s	.L513
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	mov.l	@(32,r5),r1
 	mov	r4,r8
-	mov.l	.L524,r1
-	mov.l	.L525,r4
-	mov.w	.L526,r5
-	mov.l	.L527,r6
-	jsr	@r1
-	nop
-.L513:
-	mov.l	.L528,r0
-	jsr	@r0
-	mov	#8,r4
-	tst	r0,r0
-	bt	.L514
-	add	#64,r8
-	mov.l	@(32,r8),r1
-	mov	r14,r10
-	add	#8,r10
-	mov.l	.L532,r9
-	bra	.L515
-	mov.l	@(8,r1),r8
-.L516:
-	jsr	@r9
-	mov	r10,r4
-	mov.l	@(8,r8),r8
-.L515:
-	mov.l	@r8,r1
 	tst	r1,r1
-	bf.s	.L516
-	mov	r8,r5
-	bra	.L536
-	mov	r14,r1
-.L514:
-	mov.l	.L530,r0
-	mov	r8,r4
-	jsr	@r0
-	mov	r14,r12
-	mov.l	r0,@r14
-	mov	r0,r13
-	mov	#0,r9
-	bra	.L518
-	add	#4,r12
-.L522:
-	mov.l	@r13+,r11
-	mov	#0,r10
-	bra	.L519
-	add	#4,r11
-.L521:
+	bt.s	.L731
+	mov	r5,r9
+	bra	.L726
 	mov.l	@(4,r1),r5
-	mov.l	.L531,r1
-	jsr	@r1
+.L731:
+	mov	#0,r5
+.L726:
+	mov.l	.L737,r0
+	mov	#0,r1
 	mov	r8,r4
-	tst	r0,r0
-	bf.s	.L520
-	mov	r14,r4
-	mov.l	.L532,r1
-	add	#8,r4
-	jsr	@r1
-	mov	r12,r5
-.L520:
-	add	#1,r10
-.L519:
-	mov.l	.L533,r1
-	mov	r10,r4
-	mov	r11,r5
-	jsr	@r1
-	mov	r12,r6
-	tst	r0,r0
-	bf.s	.L521
-	mov.l	@(4,r14),r1
-	add	#1,r9
-.L518:
-	mov.l	@(28,r8),r1
-	cmp/hs	r1,r9
-	bf	.L522
-	mov.l	.L534,r1
-	jsr	@r1
-	mov.l	@r14,r4
-	mov	r14,r1
-.L536:
-	add	#-52,r1
-	mov.l	@(60,r1),r0
-	add	#12,r14
-	mov	r14,r15
+	mov.l	r1,@(32,r8)
+	add	#32,r4
+	add	#1,r5
+	jsr	@r0
+	mov	#0,r6
+	mov	#0,r2
+.L728:
+	mov.l	@(32,r9),r3
+	tst	r3,r3
+	bt.s	.L727
+	mov.l	@(32,r8),r1
+	mov.l	@(4,r3),r7
+	cmp/hs	r7,r2
+	bt.s	.L727
+	mov	r2,r7
+	shll2	r7
+	add	r7,r3
+	mov.l	@(8,r3),r7
+	add	#1,r2
+	mov.l	@(4,r1),r3
+	mov	r3,r6
+	add	#1,r6
+	shll2	r3
+	mov.l	r6,@(4,r1)
+	add	r3,r1
+	bra	.L728
+	mov.l	r7,@(8,r1)
+.L727:
+	mov.l	@(4,r1),r2
+	mov.l	.L738,r10
+	mov	r2,r3
+	add	#1,r3
+	shll2	r2
+	mov.l	r3,@(4,r1)
+	add	r2,r1
+	mov.l	r9,@(8,r1)
+	mov.l	@(36,r8),r9
+.L730:
+	tst	r9,r9
+	bt.s	.L736
+	mov	r9,r4
+	jsr	@r10
+	mov	r8,r5
+	bra	.L730
+	mov.l	@(40,r9),r9
+.L736:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L739:
+	.align 2
+.L737:
+	.long	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
+.L738:
+	.long	_ZL15establish_predsP4loopS0_
+	.cfi_endproc
+.LFE907:
+	.size	_ZL15establish_predsP4loopS0_, .-_ZL15establish_predsP4loopS0_
 	.align 1
-.L526:
-	.short	1145
-.L535:
+	.global	_Z23flow_loop_tree_node_addP4loopS0_
+	.type	_Z23flow_loop_tree_node_addP4loopS0_, @function
+_Z23flow_loop_tree_node_addP4loopS0_:
+.LFB908:
+	.cfi_startproc
+	mov.l	@(36,r4),r2
+	mov	r4,r1
+	mov.l	r2,@(40,r5)
+	mov.l	r5,@(36,r4)
+	mov	r5,r4
+	mov	r1,r5
+	mov.l	.L741,r1
+	jmp	@r1
+	nop
+.L742:
 	.align 2
-.L523:
-	.long	cfun
-.L524:
-	.long	_Z11fancy_abortPKciS0_
-.L525:
-	.long	.LC1
-.L527:
-	.long	_ZZ19get_loop_exit_edgesPK4loopE12__FUNCTION__
-.L528:
-	.long	_ZL23loops_state_satisfies_pj
-.L532:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
-.L530:
-	.long	_Z13get_loop_bodyPK4loop
-.L531:
-	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L533:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L534:
-	.long	free
+.L741:
+	.long	_ZL15establish_predsP4loopS0_
 	.cfi_endproc
-.LFE939:
-	.size	_Z19get_loop_exit_edgesPK4loop, .-_Z19get_loop_exit_edgesPK4loop
+.LFE908:
+	.size	_Z23flow_loop_tree_node_addP4loopS0_, .-_Z23flow_loop_tree_node_addP4loopS0_
+	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb,comdat
 	.align 1
-	.type	_ZL20get_loop_latch_edgesPK4loop.clone.27, @function
-_ZL20get_loop_latch_edgesPK4loop.clone.27:
-.LFB1114:
+	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
+	.type	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb, @function
+_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb:
+.LFB1037:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r1
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	#0,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	mov	r4,r11
-	.cfi_offset 11, -16
 	.cfi_offset 10, -12
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
 	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-12,r15
-	.cfi_def_cfa_offset 44
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_def_cfa_register 14
-	mov	r14,r9
-	add	#-52,r9
-	mov.l	r1,@(56,r9)
-	mov	r14,r10
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	tst	r5,r5
+	mov	r4,r8
+	bt.s	.L750
+	extu.b	r6,r6
+	mov.l	@r4,r4
+	tst	r4,r4
+	bt	.L745
 	mov.l	@r4,r1
-	mov	r14,r12
-	add	#8,r10
-	mov.l	r1,@r14
-	mov.l	.L541,r13
-	bra	.L538
-	add	#4,r12
-.L540:
-	mov.l	@(60,r9),r1
-	mov.l	@r1,r5
-	mov.l	.L542,r1
-	jsr	@r1
-	mov.l	@r11,r6
-	tst	r0,r0
-	bt.s	.L539
-	mov	r12,r4
-	mov.l	.L543,r1
-	jsr	@r1
-	mov	r10,r5
-.L539:
-	add	#1,r8
-.L538:
-	mov	r8,r4
-	mov.l	@r14,r5
-	jsr	@r13
-	mov	r10,r6
+	mov.l	@(4,r4),r2
+	sub	r2,r1
+	cmp/hs	r5,r1
+	bf	.L745
+.L750:
+	bra	.L756
+	mov	#0,r0
+.L745:
+	mov.l	.L758,r0
+	jsr	@r0
+	nop
 	tst	r0,r0
-	bf.s	.L540
-	mov	#1,r4
-	mov.l	@(56,r9),r0
-	add	#12,r14
-	mov	r14,r15
+	mov	r0,r9
+	bf.s	.L757
+	mov.l	@r8,r4
+	tst	r4,r4
+	bt	.L751
+	mov.l	.L759,r1
+	jsr	@r1
+	nop
+	bra	.L751
+	mov.l	r9,@r8
+.L757:
+	mov	r9,r5
+	shll2	r5
+	tst	r4,r4
+	bt.s	.L752
+	add	#8,r5
+	bra	.L746
+	mov.l	@(4,r4),r10
+.L752:
+	mov	#0,r10
+.L746:
+	mov.l	.L760,r0
+	jsr	@r0
+	nop
+	mov.l	r0,@r8
+	mov.l	r9,@r0
+	mov.l	r10,@(4,r0)
+.L751:
+	mov	#1,r0
+.L756:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L544:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L761:
 	.align 2
-.L541:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L542:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L543:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE9safe_pushERKS1_
+.L758:
+	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
+.L759:
+	.long	free
+.L760:
+	.long	xrealloc
 	.cfi_endproc
-.LFE1114:
-	.size	_ZL20get_loop_latch_edgesPK4loop.clone.27, .-_ZL20get_loop_latch_edgesPK4loop.clone.27
+.LFE1037:
+	.size	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb, .-_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
 	.section	.rodata.str1.4
 	.align 2
-.LC2:
-	.string	";;\n;; Loop %d\n"
-	.align 2
-.LC3:
-	.string	";;  header %d, "
-	.align 2
-.LC4:
-	.string	"latch %d\n"
-	.align 2
-.LC5:
-	.string	"multiple latches:"
-	.align 2
-.LC6:
-	.string	" %d"
-	.align 2
-.LC7:
-	.string	";;  depth %d, outer %ld\n"
-	.align 2
-.LC8:
-	.string	";;  nodes:"
+.LC9:
+	.string	"flow_loops_find: discovered new loop %d with header %d\n"
 	.text
 	.align 1
-	.global	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
-	.type	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi, @function
-_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi:
-.LFB902:
+	.global	_Z15flow_loops_findP5loops
+	.type	_Z15flow_loops_findP5loops, @function
+_Z15flow_loops_findP5loops:
+.LFB913:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	tst	r4,r4
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r9
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
-	add	#-16,r15
-	.cfi_def_cfa_offset 48
-	mov	r15,r14
 	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	mov.l	r6,@(4,r14)
-	bt.s	.L578
-	mov.l	r7,@r14
-	mov.l	@(8,r4),r1
-	tst	r1,r1
-	bf.s	.L579
-	mov	r5,r4
-.L578:
-	bra	.L545
-	nop
-.L579:
-	mov.l	.L569,r10
-	mov.l	.L558,r5
-	jsr	@r10
-	mov.l	@r9,r6
-	mov.l	@(8,r9),r1
-	mov	r8,r4
-	mov.l	.L559,r5
-	jsr	@r10
-	mov.l	@(44,r1),r6
-	mov.l	@(12,r9),r1
-	tst	r1,r1
-	bt.s	.L547
-	mov	r8,r4
-	mov.l	.L560,r5
-	jsr	@r10
-	mov.l	@(44,r1),r6
-	bra	.L580
-	mov.l	@(32,r9),r4
-.L547:
-	mov.l	.L571,r0
-	mov.l	.L562,r4
+	add	#-12,r15
+	.cfi_def_cfa_offset 44
+	mov.l	.L808,r1
+	tst	r4,r4
+	movt	r13
+	mov	r4,r8
+	jsr	@r1
+	mov	#1,r4
+	mov.l	.L809,r12
+	bf	.L763
+	mov.l	.L810,r0
 	jsr	@r0
-	mov	r8,r5
-	mov.l	.L563,r0
-	mov	r9,r4
-	mov	r14,r13
-	add	#8,r4
+	mov	#16,r4
+	mov	r0,r8
+	mov	r0,r4
+	mov.l	.L811,r0
+	mov	#0,r5
 	jsr	@r0
-	add	#-48,r13
-	mov	r14,r12
-	mov.l	r0,@(60,r13)
-	mov	#0,r11
-	bra	.L549
-	add	#12,r12
-.L550:
-	mov.l	@(56,r13),r1
-	mov.l	.L574,r5
-	add	#1,r11
-	mov.l	@r1,r1
-	jsr	@r10
-	mov.l	@(44,r1),r6
-.L549:
-	mov.l	.L565,r1
-	mov	r14,r6
-	mov	r12,r4
-	mov	r11,r5
-	jsr	@r1
-	add	#8,r6
-	tst	r0,r0
-	bf.s	.L550
+	mov	#16,r6
+	mov.l	.L824,r0
+	mov	#0,r1
 	mov	r8,r4
-	mov.l	.L566,r1
-	jsr	@r1
-	mov	r12,r4
-	mov.l	.L576,r0
-	mov	#10,r4
+	mov.l	r1,@(4,r8)
+	add	#4,r4
+	mov	#1,r5
 	jsr	@r0
-	mov	r8,r5
-	mov.l	@(32,r9),r4
-.L580:
-	tst	r4,r4
-	bt	.L555
-	mov.l	@(4,r4),r11
-	bra	.L551
-	nop
-.L555:
-	mov	#0,r11
-.L551:
-	mov.l	.L568,r0
+	mov	#0,r6
+	mov.l	.L823,r0
 	jsr	@r0
 	nop
-	tst	r0,r0
-	bt	.L556
-	mov.l	@r0,r7
-	bra	.L552
+	mov.l	@r12,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(12,r1),r2
+	mov.l	r2,@(28,r0)
+	mov.l	@(4,r1),r2
+	mov.l	@r1,r1
+	mov.l	r2,@(12,r0)
+	mov.l	r1,@(8,r0)
+	mov.l	r0,@(12,r1)
+	mov.l	@(4,r8),r1
+	mov.l	r0,@(12,r2)
+	mov.l	@(4,r1),r2
+	mov	r2,r3
+	add	#1,r3
+	shll2	r2
+	mov.l	r3,@(4,r1)
+	add	r2,r1
+	mov.l	r0,@(8,r1)
+	mov.l	r0,@(12,r8)
+.L763:
+	mov.l	@(8,r8),r9
+	tst	r9,r9
+	bt	.L764
+	mov.l	.L814,r1
+	mov.l	.L815,r4
+	mov.w	.L816,r5
+	mov.l	.L817,r6
+	jsr	@r1
 	nop
-.L556:
-	mov	#-1,r7
-.L552:
-	mov.l	.L569,r10
-	mov	r11,r6
-	mov.l	.L570,r5
-	jsr	@r10
-	mov	r8,r4
-	mov.l	.L571,r0
-	mov.l	.L572,r4
+.L764:
+	mov.l	@r12,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(12,r1),r4
+	mov	r4,r0
+	cmp/eq	#2,r0
+	bf	.L838
+	bra	.L839
+	mov	r8,r0
+.L838:
+	mov.l	@(12,r8),r1
+	mov.l	.L818,r0
+	mov.l	r4,@(28,r1)
 	jsr	@r0
-	mov	r8,r5
-	mov.l	.L573,r0
+	shll2	r4
+	mov	r0,r5
+	mov	r0,r11
+	mov.l	.L819,r0
+	mov	#0,r4
+	jsr	@r0
+	mov	#0,r6
+	mov.l	@(4,r8),r1
+	mov.l	r9,@(4,r15)
+	mov.l	@(4,r1),r5
+	tst	r5,r5
+	bt.s	.L767
+	mov	#0,r10
+	mov.l	.L829,r0
+	mov	r15,r4
+	add	#4,r4
+	jsr	@r0
+	mov	#1,r6
+	mov	#0,r10
+.L767:
+	mov.l	@r12,r1
+	mov.l	@(4,r1),r2
+	mov.l	@(12,r2),r1
+	add	#-2,r1
+	cmp/ge	r1,r10
+	bt.s	.L806
+	mov	r10,r0
+	shll2	r0
+	mov.l	@(r0,r11),r1
+	mov.l	@(8,r2),r2
+	shll2	r1
+	add	r2,r1
+	mov.l	@(8,r1),r9
+	mov.l	.L821,r1
+	jsr	@r1
 	mov	r9,r4
+	tst	r0,r0
+	bt.s	.L768
+	tst	r13,r13
+	bf	.L769
+	mov.l	@(12,r9),r14
+	mov.l	@(8,r14),r2
+	cmp/eq	r9,r2
+	bf	.L769
+	mov.l	.L822,r2
+	jsr	@r2
+	mov	r14,r4
+	bra	.L770
+	nop
+.L769:
+	mov.l	.L823,r0
 	jsr	@r0
-	mov	#0,r11
-	mov	r0,r12
-	bra	.L553
-	mov	r0,r13
-.L554:
-	mov.l	@r13+,r1
-	mov.l	.L574,r5
-	add	#1,r11
-	jsr	@r10
-	mov.l	@(44,r1),r6
-.L553:
-	mov.l	@(28,r9),r1
-	cmp/hs	r1,r11
-	bf.s	.L554
+	nop
+	mov.l	@(4,r8),r2
+	mov	r0,r14
 	mov	r8,r4
-	mov.l	.L575,r1
-	jsr	@r1
-	mov	r12,r4
-	mov.l	.L576,r0
-	mov	#10,r4
+	mov.l	@(4,r2),r2
+	add	#4,r4
+	mov	#1,r5
+	mov.l	r2,@r0
+	mov.l	.L824,r0
 	jsr	@r0
-	mov	r8,r5
-	mov.l	@(4,r14),r1
-	tst	r1,r1
-	bt.s	.L545
-	mov	r9,r4
-	mov	r8,r5
-	jsr	@r1
-	mov.l	@r14,r6
-.L545:
-	add	#16,r14
-	mov	r14,r15
+	mov	#0,r6
+	mov.l	@(4,r8),r2
+	tst	r13,r13
+	mov.l	@(4,r2),r3
+	mov	r3,r7
+	add	#1,r7
+	shll2	r3
+	mov.l	r7,@(4,r2)
+	add	r3,r2
+	mov.l	r14,@(8,r2)
+	bf.s	.L770
+	mov.l	r9,@(8,r14)
+	mov.l	.L825,r2
+	mov.l	@r2,r4
+	tst	r4,r4
+	bt	.L770
+	mov.l	.L826,r2
+	mov.l	@r2,r0
+	tst	#8,r0
+	bt	.L770
+	mov.l	@r14,r6
+	mov.l	.L827,r0
+	mov.l	.L828,r5
+	jsr	@r0
+	mov.l	@(44,r9),r7
+.L770:
+	mov.l	.L829,r1
+	mov	#0,r2
+	mov	r15,r4
+	mov.l	r2,@(12,r14)
+	add	#4,r4
+	mov	#1,r5
+	jsr	@r1
+	mov	#0,r6
+	mov.l	@(4,r15),r2
+	mov.l	@(4,r2),r3
+	mov	r3,r7
+	add	#1,r7
+	shll2	r3
+	mov.l	r7,@(4,r2)
+	add	r3,r2
+	mov.l	r14,@(8,r2)
+.L768:
+	add	#1,r10
+	mov.l	@(12,r8),r1
+	bra	.L767
+	mov.l	r1,@(12,r9)
+.L806:
+	mov.l	.L835,r10
+	mov	r11,r4
+	jsr	@r10
+	mov	#0,r9
+.L772:
+	mov.l	@(4,r15),r4
+	tst	r4,r4
+	bt	.L789
+	mov.l	@(4,r4),r1
+	cmp/hs	r1,r9
+	bt.s	.L807
+	mov	r9,r1
+	shll2	r1
+	add	r1,r4
+	mov.l	@(8,r4),r12
+	mov	#0,r10
+	mov.l	.L831,r0
+	mov	r12,r5
+	mov.l	@(8,r12),r11
+	mov.l	.L832,r13
+	jsr	@r0
+	mov.l	@(12,r11),r4
+	mov.l	.L833,r1
+	mov	r12,r5
+	jsr	@r1
+	mov.l	@(8,r12),r4
+	mov.l	.L834,r14
+	mov.l	r0,@(28,r12)
+.L773:
+	mov	r15,r6
+	mov	r10,r4
+	mov	r11,r5
+	jsr	@r13
+	add	#8,r6
+	tst	r0,r0
+	bt.s	.L776
+	mov.l	@(8,r15),r2
+	mov	r12,r4
+	mov.l	@r2,r2
+	mov	r2,r5
+	jsr	@r14
+	mov.l	r2,@r15
+	tst	r0,r0
+	bt.s	.L774
+	mov.l	@r15,r2
+	mov.l	@(12,r12),r3
+	tst	r3,r3
+	bt	.L775
+	mov	#0,r2
+	bra	.L776
+	mov.l	r2,@(12,r12)
+.L775:
+	mov.l	r2,@(12,r12)
+.L774:
+	bra	.L773
+	add	#1,r10
+.L776:
+	bra	.L772
+	add	#1,r9
+.L807:
+	mov.l	.L835,r0
+	jsr	@r0
+	nop
+.L789:
+	mov	r8,r0
+.L839:
+	add	#12,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L577:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+	.align 1
+.L816:
+	.short	418
+.L836:
 	.align 2
-.L569:
+.L808:
+	.long	_Z24calculate_dominance_info13cdi_direction
+.L809:
+	.long	cfun
+.L810:
+	.long	_Z31ggc_internal_cleared_alloc_statj
+.L811:
+	.long	memset
+.L824:
+	.long	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
+.L823:
+	.long	_Z10alloc_loopv
+.L814:
+	.long	_Z11fancy_abortPKciS0_
+.L815:
+	.long	.LC1
+.L817:
+	.long	_ZZ15flow_loops_findP5loopsE12__FUNCTION__
+.L818:
+	.long	xmalloc
+.L819:
+	.long	_Z30pre_and_rev_post_order_computePiS_b
+.L829:
+	.long	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
+.L821:
+	.long	_Z16bb_loop_header_pP15basic_block_def
+.L822:
+	.long	_Z26flow_loop_tree_node_removeP4loop
+.L825:
+	.long	dump_file
+.L826:
+	.long	dump_flags
+.L827:
 	.long	fprintf
-.L558:
-	.long	.LC2
-.L559:
-	.long	.LC3
-.L560:
-	.long	.LC4
-.L571:
-	.long	fputs
-.L562:
-	.long	.LC5
-.L563:
-	.long	_ZL20get_loop_latch_edgesPK4loop.clone.27
-.L574:
-	.long	.LC6
-.L565:
-	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
-.L566:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
-.L576:
-	.long	fputc
-.L568:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L570:
-	.long	.LC7
-.L572:
-	.long	.LC8
-.L573:
-	.long	_Z13get_loop_bodyPK4loop
-.L575:
+.L828:
+	.long	.LC9
+.L835:
 	.long	free
+.L831:
+	.long	_Z23flow_loop_tree_node_addP4loopS0_
+.L832:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L833:
+	.long	_Z20flow_loop_nodes_findP15basic_block_defP4loop
+.L834:
+	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
 	.cfi_endproc
-.LFE902:
-	.size	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi, .-_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
-	.section	.text._ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi,"axG",@progbits,_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi,comdat
+.LFE913:
+	.size	_Z15flow_loops_findP5loops, .-_Z15flow_loops_findP5loops
+	.section	.text._ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb,"axG",@progbits,_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb,comdat
 	.align 1
-	.weak	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi
-	.type	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi, @function
-_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi:
-.LFB1053:
-	.cfi_startproc
-	mov.l	@r4,r2
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r2,r2
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L582
-	mov	r15,r14
-	mov.l	@r2,r1
-	mov.l	@(4,r2),r2
-	sub	r2,r1
-	bra	.L584
-	cmp/hs	r5,r1
-.L582:
-	tst	r5,r5
-.L584:
-	movt	r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE1053:
-	.size	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi, .-_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi
-	.section	.text._ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb,"axG",@progbits,_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb,comdat
-	.align 1
-	.weak	_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb
-	.type	_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb, @function
-_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb:
-.LFB1054:
+	.weak	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
+	.type	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb, @function
+_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb:
+.LFB1066:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	extu.b	r6,r6
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L591,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
 	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 17, -16
+	mov.l	.L848,r0
+	mov	r4,r8
+	extu.b	r6,r6
 	jsr	@r0
 	mov.l	@r4,r4
 	tst	r0,r0
-	bf.s	.L587
 	mov	r0,r9
-	mov.l	.L592,r1
-	mov	r8,r4
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L587:
+	bf.s	.L841
 	mov.l	@r8,r4
-	mov	r0,r5
-	add	#2,r5
 	tst	r4,r4
-	bt.s	.L590
+	bt	.L840
+	mov.l	.L849,r1
+	jsr	@r1
+	nop
+	bra	.L840
+	mov.l	r9,@r8
+.L841:
+	mov	r0,r5
 	shll2	r5
-	bra	.L588
+	tst	r4,r4
+	bt.s	.L844
+	add	#8,r5
+	bra	.L843
 	mov.l	@(4,r4),r10
-.L590:
+.L844:
 	mov	#0,r10
-.L588:
-	mov.l	.L593,r0
+.L843:
+	mov.l	.L850,r0
 	jsr	@r0
 	nop
 	mov.l	r0,@r8
 	mov.l	r9,@r0
 	mov.l	r10,@(4,r0)
-	mov	r14,r15
+.L840:
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L594:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L851:
 	.align 2
-.L591:
+.L848:
 	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
-.L592:
-	.long	_ZN7va_heap7releaseIP15basic_block_defEEvRP3vecIT_S_8vl_embedE
-.L593:
+.L849:
+	.long	free
+.L850:
 	.long	xrealloc
 	.cfi_endproc
-.LFE1054:
-	.size	_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb, .-_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb
-	.section	.text._ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb,"axG",@progbits,_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb,comdat
-	.align 1
-	.weak	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb
-	.type	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb, @function
-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb:
-.LFB1029:
+.LFE1066:
+	.size	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb, .-_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
+	.text
+	.align 1
+	.type	_ZL8fel_initP13loop_iteratorPP4loopj, @function
+_ZL8fel_initP13loop_iteratorPP4loopj:
+.LFB323:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	tst	r5,r5
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	r4,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	extu.b	r6,r10
-	.cfi_offset 14, -16
 	.cfi_offset 10, -12
+	mov.l	r11,@-r15
+	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
+	mov.l	r12,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
 	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 17, -24
+	mov.l	.L894,r12
+	mov	#0,r9
+	mov.l	r9,@(4,r4)
+	mov	r4,r8
+	mov.l	@r12,r1
+	mov	r5,r10
+	mov.l	@(16,r1),r1
+	tst	r1,r1
+	bf.s	.L853
+	mov	r6,r11
+	mov.l	r1,@r4
+	mov.l	r1,@r5
+	lds.l	@r15+,pr
+	.cfi_remember_state
+	.cfi_restore 17
 	.cfi_def_cfa_offset 20
-	.cfi_def_cfa_register 14
-	bt.s	.L598
-	mov	r15,r14
-	mov.l	.L599,r0
-	.cfi_offset 17, -20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
+	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	rts	
+	mov.l	@r15+,r8
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L853:
+	.cfi_restore_state
+	mov.l	.L895,r0
 	jsr	@r0
 	nop
 	tst	r0,r0
-	bf.s	.L598
-	mov	r9,r4
-	mov.l	.L600,r1
-	mov	r8,r5
-	jsr	@r1
-	mov	r10,r6
-	bra	.L596
-	mov	#1,r0
-.L598:
-	mov	#0,r0
-.L596:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L601:
-	.align 2
-.L599:
-	.long	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE5spaceEi
-.L600:
-	.long	_ZN7va_heap7reserveIP15basic_block_defEEvRP3vecIT_S_8vl_embedEjb
-	.cfi_endproc
-.LFE1029:
-	.size	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb, .-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb
-	.section	.text._ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_,"axG",@progbits,_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_,comdat
-	.align 1
-	.weak	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
-	.type	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_, @function
-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_:
-.LFB987:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	.L603,r0
-	mov	#1,r5
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov	r15,r14
+	mov.l	r9,@r8
+	bt.s	.L855
+	mov	r0,r5
+	mov.l	.L896,r1
+	mov	r8,r4
+	jsr	@r1
+	mov	#1,r6
+.L855:
+	mov	r11,r0
+	and	#1,r0
+	mov	#1,r9
+	xor	r0,r9
+	mov	r11,r0
+	tst	#4,r0
+	bt.s	.L856
+	tst	#2,r0
+	mov.l	@r12,r1
+	mov.l	@(16,r1),r1
+	mov.l	@(4,r1),r3
+	tst	r3,r3
+	bt.s	.L857
+	mov	#0,r1
+.L858:
+	mov.l	@(4,r3),r2
+	cmp/hs	r2,r1
+	bt.s	.L857
+	mov	r1,r2
+	shll2	r2
+	add	r3,r2
+	mov.l	@(8,r2),r2
+	tst	r2,r2
+	bt	.L859
+	mov.l	@(36,r2),r7
+	tst	r7,r7
+	bf	.L859
+	mov.l	@r2,r7
+	cmp/ge	r9,r7
+	bf	.L859
+	mov.l	@r8,r7
+	mov.l	@(4,r7),r6
+	mov	r6,r5
+	add	#1,r5
+	mov.l	r5,@(4,r7)
+	shll2	r6
+	mov.l	@r2,r2
+	add	r6,r7
+	mov.l	r2,@(8,r7)
+.L859:
+	bra	.L858
+	add	#1,r1
+.L856:
+	mov.l	@r12,r1
+	mov.l	@(16,r1),r1
+	bt.s	.L862
+	mov.l	@(12,r1),r1
+.L865:
+	mov.l	@(36,r1),r2
+	tst	r2,r2
+	bf	.L863
+	mov.l	@r1,r2
+	mov.l	.L898,r11
+	bra	.L903
+	cmp/ge	r9,r2
+.L863:
+	bra	.L865
+	mov	r2,r1
+.L866:
+	mov.l	@(40,r1),r0
+	tst	r0,r0
+	bt	.L867
+.L869:
+	mov.l	@(36,r0),r1
+	tst	r1,r1
+	bf	.L893
+	mov	r0,r1
+.L902:
+	mov.l	@r1,r2
+	cmp/ge	r9,r2
+.L903:
+	bf	.L866
+	mov.l	@r8,r2
+	mov.l	@(4,r2),r3
+	mov	r3,r7
+	add	#1,r7
+	mov.l	r7,@(4,r2)
+	shll2	r3
+	mov.l	@r1,r7
+	add	r3,r2
+	bra	.L866
+	mov.l	r7,@(8,r2)
+.L893:
+	bra	.L869
+	mov	r1,r0
+.L867:
+	jsr	@r11
+	mov.l	@(32,r1),r4
+	tst	r0,r0
+	bf.s	.L902
+	mov	r0,r1
+	bra	.L857
+	nop
+.L862:
+	mov.l	.L898,r11
+.L876:
+	mov	r1,r0
+	mov.l	@r1,r1
+	cmp/ge	r9,r1
+	bf	.L870
 	mov.l	@r8,r1
-	mov.l	@r9,r2
-	mov.l	@(4,r1),r0
-	mov	r0,r3
-	add	#2,r0
-	shll2	r0
-	add	r1,r0
+	mov.l	@(4,r1),r2
+	mov	r2,r3
 	add	#1,r3
 	mov.l	r3,@(4,r1)
-	mov.l	r2,@r0
-	mov	r14,r15
+	shll2	r2
+	mov.l	@r0,r3
+	add	r2,r1
+	mov.l	r3,@(8,r1)
+.L870:
+	mov.l	@(36,r0),r1
+	tst	r1,r1
+	bf	.L876
+.L872:
+	mov.l	@(40,r0),r1
+	tst	r1,r1
+	bf	.L876
+	jsr	@r11
+	mov.l	@(32,r0),r4
+	tst	r0,r0
+	bf	.L872
+.L857:
+	mov.l	.L899,r1
+	mov	r8,r4
+	mov	r10,r5
 	lds.l	@r15+,pr
-	mov.l	@r15+,r14
+	.cfi_restore 17
+	.cfi_def_cfa_offset 20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
-	rts	
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
+	.cfi_restore 8
+	jmp	@r1
 	mov.l	@r15+,r8
-.L604:
+	.cfi_def_cfa_offset 0
+.L900:
 	.align 2
-.L603:
-	.long	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7reserveEjb
+.L894:
+	.long	cfun
+.L895:
+	.long	_ZL15number_of_loopsv
+.L896:
+	.long	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
+.L898:
+	.long	_ZL10loop_outerPK4loop.isra.13
+.L899:
+	.long	_ZL8fel_nextP13loop_iteratorPP4loop
 	.cfi_endproc
-.LFE987:
-	.size	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_, .-_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
+.LFE323:
+	.size	_ZL8fel_initP13loop_iteratorPP4loopj, .-_ZL8fel_initP13loop_iteratorPP4loopj
+	.section	.rodata.str1.4
+	.align 2
+.LC10:
+	.string	";; %d loops found\n"
+	.align 2
+.LC11:
+	.string	";; %d succs { "
+	.align 2
+.LC12:
+	.string	"%d "
+	.align 2
+.LC13:
+	.string	"}\n"
 	.text
 	.align 1
-	.global	_Z20flow_loop_nodes_findP15basic_block_defP4loop
-	.type	_Z20flow_loop_nodes_findP15basic_block_defP4loop, @function
-_Z20flow_loop_nodes_findP15basic_block_defP4loop:
-.LFB906:
+	.global	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi
+	.type	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi, @function
+_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi:
+.LFB903:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r1
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r5,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov	#1,r9
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
+	.cfi_offset 11, -16
 	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov	#0,r12
 	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
 	mov.l	r13,@-r15
 	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
 	mov.l	r14,@-r15
 	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
 	sts.l	pr,@-r15
 	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
 	add	#-24,r15
 	.cfi_def_cfa_offset 56
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_def_cfa_register 14
-	mov	r14,r10
-	add	#-40,r10
-	mov.l	r1,@(60,r10)
-	mov	r14,r11
-	mov.l	@(8,r5),r1
-	add	#20,r11
-	mov.l	r5,@(12,r4)
-	bra	.L606
-	mov.l	r1,@(4,r14)
-.L614:
-	mov.l	@(56,r10),r1
-	mov.l	@r1,r5
-	mov.l	@(12,r5),r1
-	cmp/eq	r8,r1
-	bt.s	.L609
-	mov	#1,r4
-	mov.l	.L616,r1
-	jsr	@r1
-	mov.l	@(8,r8),r6
-	tst	r0,r0
-	bf.s	.L608
-	mov	r11,r4
-	bra	.L606
-	add	#1,r12
-.L613:
-	mov.l	.L617,r1
-	jsr	@r1
-	mov	#0,r13
-	mov.l	@r0,r0
-	bra	.L610
-	mov.l	r0,@r14
-.L612:
-	mov.l	@(52,r10),r1
-	mov.l	@r1,r1
-	mov.l	@(12,r1),r2
-	cmp/eq	r8,r2
-	bt.s	.L611
-	mov.l	r1,@(48,r10)
-	mov.l	r8,@(12,r1)
-	mov	r14,r5
-	mov.l	.L623,r1
-	add	#1,r9
-	mov	r11,r4
-	jsr	@r1
+	mov.l	.L923,r10
+	mov	r4,r8
+	mov	r5,r12
+	mov.l	@r10,r1
+	mov.l	@(16,r1),r1
+	tst	r1,r1
+	bt.s	.L904
+	mov	r6,r9
+	tst	r4,r4
+	bt	.L904
+	mov.l	.L924,r0
+	mov.l	.L925,r11
+	jsr	@r0
+	nop
+	mov	r0,r6
+	mov.l	.L926,r5
+	jsr	@r11
+	mov	r8,r4
+	mov.l	.L927,r1
+	mov	r15,r4
+	mov.l	.L928,r14
+	mov	r15,r5
+	mov.l	.L929,r13
+	add	#16,r4
 	add	#8,r5
-.L611:
-	add	#1,r13
-.L610:
-	mov.l	.L621,r1
-	mov	r14,r6
-	mov	r13,r4
-	mov.l	@r14,r5
 	jsr	@r1
+	mov	#1,r6
+	mov.l	@(8,r15),r4
+.L936:
+	tst	r4,r4
+	bt.s	.L921
+	mov	r8,r5
+	mov	r12,r6
+	jsr	@r14
+	mov	r9,r7
+	mov	r15,r4
+	mov	r15,r5
+	add	#16,r4
+	jsr	@r13
+	add	#8,r5
+	bra	.L936
+	mov.l	@(8,r15),r4
+.L921:
+	tst	r9,r9
+	bt	.L904
+	mov.l	@r10,r1
+	mov.l	.L930,r12
+	mov.l	@(4,r1),r1
+	mov.l	.L931,r13
+	mov.l	@r1,r1
+	mov.l	@(28,r1),r9
+.L910:
+	mov.l	@r10,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(4,r1),r1
+	cmp/eq	r1,r9
+	bt.s	.L904
+	mov	r8,r4
+	mov.l	.L932,r5
+	mov	#0,r14
+	jsr	@r11
+	mov.l	@(44,r9),r6
+	mov	r9,r1
+	add	#4,r1
+	mov.l	r1,@(4,r15)
+.L911:
+	mov	r15,r6
+	mov	r14,r4
+	mov.l	@(4,r15),r5
 	add	#12,r6
+	jsr	@r12
+	add	#1,r14
 	tst	r0,r0
-	bf	.L612
-.L615:
-	mov.l	.L620,r1
-	jsr	@r1
-	mov	r11,r4
-	tst	r0,r0
-	bt.s	.L613
-	mov	r11,r4
-.L609:
-	add	#1,r12
-.L606:
-	mov.l	.L621,r1
-	mov	r14,r6
-	mov	r12,r4
-	mov.l	@(4,r14),r5
-	jsr	@r1
-	add	#16,r6
-	tst	r0,r0
-	bf.s	.L614
-	mov	r14,r4
-	mov.l	.L622,r1
-	jsr	@r1
-	add	#20,r4
-	mov	r9,r0
-	add	#24,r14
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
-	mov.l	@r15+,r10
+	bt.s	.L922
+	mov.l	r14,@r15
+	mov.l	@(12,r15),r1
+	mov	r8,r4
+	mov.l	.L933,r5
+	mov.l	@(4,r1),r1
+	jsr	@r11
+	mov.l	@(44,r1),r6
+	bra	.L911
+	mov.l	@r15,r14
+.L922:
+	mov.l	.L934,r4
+	jsr	@r13
+	mov	r8,r5
+	bra	.L910
+	mov.l	@(28,r9),r9
+.L904:
+	add	#24,r15
+	.cfi_def_cfa_offset 32
+	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
+	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
+	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
+	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
+	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
+	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L608:
-	mov.l	.L623,r1
-	jsr	@r1
-	mov.l	@(56,r10),r5
-	mov.l	@(56,r10),r1
-	add	#1,r9
-	mov.l	@r1,r1
-	bra	.L615
-	mov.l	r8,@(12,r1)
-.L624:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L935:
 	.align 2
-.L616:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L617:
-	.long	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE3popEv
-.L623:
-	.long	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE9safe_pushERKS1_
-.L621:
+.L923:
+	.long	cfun
+.L924:
+	.long	_ZL15number_of_loopsv
+.L925:
+	.long	fprintf
+.L926:
+	.long	.LC10
+.L927:
+	.long	_ZL8fel_initP13loop_iteratorPP4loopj
+.L928:
+	.long	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
+.L929:
+	.long	_ZL8fel_nextP13loop_iteratorPP4loop
+.L930:
 	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L620:
-	.long	_ZNK3vecIP15basic_block_def7va_heap6vl_ptrE8is_emptyEv
-.L622:
-	.long	_ZN3vecIP15basic_block_def7va_heap6vl_ptrE7releaseEv
+.L931:
+	.long	fputs
+.L932:
+	.long	.LC11
+.L933:
+	.long	.LC12
+.L934:
+	.long	.LC13
 	.cfi_endproc
-.LFE906:
-	.size	_Z20flow_loop_nodes_findP15basic_block_defP4loop, .-_Z20flow_loop_nodes_findP15basic_block_defP4loop
-	.section	.text._Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj,"axG",@progbits,_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj,comdat
+.LFE903:
+	.size	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi, .-_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi
+	.section	.rodata.str1.4
+	.align 2
+.LC14:
+	.string	"Disambiguating loop %d with multiple latches\n"
+	.align 2
+.LC15:
+	.string	"Found latch edge %d -> %d using profile information.\n"
+	.align 2
+.LC16:
+	.string	"Found latch edge %d -> %d using iv structure.\n"
+	.align 2
+.LC17:
+	.string	"Merged latch edges of loop %d\n"
+	.text
 	.align 1
-	.weak	_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj
-	.type	_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj, @function
-_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj:
-.LFB1057:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r4,r4
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L626
-	mov	r15,r14
-	mov.l	@r4,r1
-	mov.l	@(4,r4),r2
-	sub	r2,r1
-	bra	.L628
-	cmp/hs	r5,r1
-.L626:
-	tst	r5,r5
-.L628:
-	movt	r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE1057:
-	.size	_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj, .-_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj
-	.section	.text._ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb,"axG",@progbits,_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb,comdat
-	.align 1
-	.weak	_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb
-	.type	_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb, @function
-_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb:
-.LFB1058:
+	.global	_Z40disambiguate_loops_with_multiple_latchesv
+	.type	_Z40disambiguate_loops_with_multiple_latchesv, @function
+_Z40disambiguate_loops_with_multiple_latchesv:
+.LFB921:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	extu.b	r6,r6
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
-	mov	r4,r8
 	.cfi_offset 9, -8
-	.cfi_offset 8, -4
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
+	.cfi_offset 10, -12
+	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
-	mov.l	.L636,r0
-	sts.l	pr,@-r15
+	.cfi_offset 11, -16
+	mov.l	r12,@-r15
 	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
+	.cfi_offset 12, -20
+	mov.l	r13,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
+	mov.l	r14,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
+	add	#-52,r15
+	.cfi_def_cfa_offset 84
+	mov.l	.L1018,r1
+	mov	r15,r4
+	mov	r15,r5
+	add	#32,r4
+	add	#12,r5
+	jsr	@r1
+	mov	#0,r6
+	mov.l	@(12,r15),r12
+.L1078:
+	tst	r12,r12
+	bf	.L1074
+	bra	.L1011
+	nop
+.L1074:
+	mov.l	@(12,r12),r1
+	tst	r1,r1
+	bt	.L1073
+	bra	.L939
+	nop
+.L1073:
+	mov.l	.L1047,r0
+	mov.l	@r0,r4
+	tst	r4,r4
+	bt	.L940
+	mov.l	.L1048,r0
+	mov.l	.L1021,r5
 	jsr	@r0
-	mov.l	@r4,r4
+	mov.l	@r12,r6
+.L940:
+	mov.l	.L1022,r1
+	mov.l	.L1023,r0
+	mov.l	@r1,r1
+	mov.l	@(8,r12),r5
+	mov.l	@(4,r1),r1
+	jsr	@r0
+	mov.l	@r1,r4
 	tst	r0,r0
-	bf.s	.L631
-	mov	r0,r9
-	mov.l	.L637,r1
-	jsr	@r1
-	mov.l	@r8,r4
-	bra	.L629
-	mov.l	r9,@r8
-.L631:
+	bt.s	.L968
 	mov	r0,r4
-	mov.l	.L638,r0
-	add	#2,r4
+	mov.l	.L1024,r0
 	jsr	@r0
-	shll2	r4
-	mov	r0,r9
-	add	#-8,r9
-	mov.l	@r8,r4
-	shlr2	r9
-	mov	r9,r5
-	shll2	r5
-	tst	r4,r4
-	bt.s	.L635
-	add	#8,r5
-	bra	.L633
-	mov.l	@(4,r4),r10
-.L635:
+	nop
+.L968:
+	mov	r12,r1
+.L1076:
+	add	#8,r1
+	mov.l	r1,@(8,r15)
+	mov	r1,r4
+	mov.l	.L1042,r1
+	jsr	@r1
+	nop
+	tst	r0,r0
+	bt.s	.L980
+	mov.l	r0,@(16,r15)
+	mov.l	@(4,r0),r2
+	mov	#1,r1
+	cmp/hi	r1,r2
+	bf.s	.L980
+	mov	#0,r8
+	mov.l	.L1052,r3
+	mov.l	r0,@(20,r15)
+	mov	#0,r9
 	mov	#0,r10
-.L633:
-	mov.l	.L639,r0
+	mov	#0,r11
+	mov	#0,r13
+	mov	#0,r2
+.L943:
+	mov	r15,r4
+	mov	r15,r6
+	mov	r2,r5
+	mov.l	r2,@(4,r15)
+	add	#20,r4
+	mov.l	r3,@r15
+	jsr	@r3
+	add	#40,r6
+	tst	r0,r0
+	mov.l	.L1052,r14
+	mov.l	@(4,r15),r2
+	bt.s	.L1012
+	mov.l	@r15,r3
+	mov.l	@(40,r15),r5
+	mov.l	@(32,r5),r6
+	mov.l	@(36,r5),r7
+	cmp/eq	r11,r7
+	bf.s	0f
+	cmp/gt	r11,r7
+	cmp/hi	r10,r6
+0:
+	bt	.L981
+	mov	r13,r5
+	bra	.L1079
+	clrt
+.L981:
+	mov	r6,r10
+	mov	r7,r11
+	clrt
+.L1079:
+	addc	r6,r8
+	addc	r7,r9
+	add	#1,r2
+	bra	.L943
+	mov	r5,r13
+.L1012:
+	mov	#9,r2
+	mov	#0,r3
+	cmp/eq	r3,r9
+	bf.s	0f
+	cmp/gt	r3,r9
+	cmp/hi	r2,r8
+0:
+	bf.s	.L983
+	mov	r8,r6
+	clrt
+	subc	r10,r6
+	mov	r9,r7
+	mov	r6,r5
+	mov	#-29,r0
+	subc	r11,r7
+	shld	r0,r5
+	shll2	r7
+	mov	r6,r2
+	add	r7,r7
+	shll2	r2
+	mov	r5,r3
+	add	r2,r2
+	or	r7,r3
+	cmp/eq	r9,r3
+	bf.s	0f
+	cmp/gt	r9,r3
+	cmp/hi	r8,r2
+0:
+	bt	.L983
+	mov.l	.L1047,r1
+	mov.l	@r1,r4
+	tst	r4,r4
+	bt	.L946
+	mov.l	@r13,r3
+	mov.l	@(4,r13),r2
+	mov.l	.L1048,r0
+	mov.l	.L1030,r5
+	mov.l	@(44,r3),r6
 	jsr	@r0
-	nop
-	mov.l	r0,@r8
-	mov.l	r9,@r0
-	mov.l	r10,@(4,r0)
-.L629:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L640:
-	.align 2
-.L636:
-	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
-.L637:
-	.long	_Z8ggc_freePv
-.L638:
-	.long	_Z20ggc_round_alloc_sizej
-.L639:
-	.long	_Z16ggc_realloc_statPvj
-	.cfi_endproc
-.LFE1058:
-	.size	_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb, .-_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb
-	.section	.text._Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb,"axG",@progbits,_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb,comdat
-	.align 1
-	.weak	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
-	.type	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb, @function
-_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb:
-.LFB1034:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r5,r5
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r5,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r4,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	extu.b	r6,r10
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	.cfi_def_cfa_register 14
-	bt.s	.L644
-	mov	r15,r14
-	mov.l	.L645,r0
-	.cfi_offset 17, -20
+	mov.l	@(44,r2),r7
+	bra	.L1075
+	tst	r13,r13
+.L983:
+	bra	.L1008
+	mov	#0,r13
+.L946:
+	tst	r13,r13
+.L1075:
+	bf	.L942
+.L1008:
+	mov.l	.L1031,r0
 	jsr	@r0
-	mov.l	@r4,r4
+	nop
 	tst	r0,r0
-	bf.s	.L644
+	bf	.L942
+	bra	.L948
+	mov.l	@(16,r15),r1
+.L980:
+	mov	#0,r13
+.L942:
+	mov.l	.L1057,r8
+	mov	r15,r4
+	jsr	@r8
+	add	#16,r4
+	tst	r13,r13
+	bt	.L964
+	mov.l	.L1050,r0
+	mov.l	.L1051,r8
+	jsr	@r0
+	mov	#0,r9
+	mov.l	@(8,r12),r1
+	mov	r8,r10
+	mov.l	.L1035,r14
+	mov.l	.L1053,r11
+	mov.l	r0,@r8
+	mov.l	r1,@(8,r15)
+.L965:
+	mov	r15,r6
 	mov	r9,r4
-	mov.l	.L646,r1
-	mov	r8,r5
-	jsr	@r1
-	mov	r10,r6
-	bra	.L642
-	mov	#1,r0
-.L644:
-	mov	#0,r0
-.L642:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L647:
-	.align 2
-.L645:
-	.long	_Z14vec_safe_spaceIP4loop5va_gcEbPK3vecIT_T0_8vl_embedEj
-.L646:
-	.long	_ZN5va_gc7reserveIP4loopS_EEvRP3vecIT_T0_8vl_embedEjb
-	.cfi_endproc
-.LFE1034:
-	.size	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb, .-_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
-	.section	.text._Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj,"axG",@progbits,_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj,comdat
-	.align 1
-	.weak	_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj
-	.type	_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj, @function
-_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj:
-.LFB991:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r1
-	mov.l	.L649,r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	#0,r6
-	mov.l	r1,@r4
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L650:
-	.align 2
-.L649:
-	.long	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
-	.cfi_endproc
-.LFE991:
-	.size	_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj, .-_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj
-	.text
-	.align 1
-	.type	_ZL15establish_predsP4loopS0_, @function
-_ZL15establish_predsP4loopS0_:
-.LFB907:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r8
-	.cfi_offset 8, -4
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r5,r9
-	.cfi_offset 9, -8
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	@(32,r5),r1
-	tst	r1,r1
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	bt.s	.L657
-	mov	r15,r14
-	bra	.L652
-	mov.l	@(4,r1),r5
-.L657:
-	mov	#0,r5
-.L652:
-	mov	#0,r1
-	mov.l	r1,@(32,r8)
-	mov	r8,r4
-	mov.l	.L658,r1
-	add	#32,r4
-	jsr	@r1
-	add	#1,r5
-	mov.l	@(32,r9),r2
-	mov	r2,r7
-	tst	r2,r2
-	bt.s	.L653
-	add	#8,r7
-	mov	#0,r1
-.L654:
-	mov.l	@(4,r2),r3
-	cmp/hs	r3,r1
-	bt	.L653
-	mov.l	@(32,r8),r3
-	add	#1,r1
-	mov.l	@r7+,r6
-	mov.l	@(4,r3),r0
-	mov	r0,r5
-	add	#2,r0
-	add	#1,r5
-	shll2	r0
-	mov.l	r5,@(4,r3)
-	bra	.L654
-	mov.l	r6,@(r0,r3)
-.L653:
-	mov.l	@(32,r8),r1
-	mov.l	.L659,r10
-	mov.l	@(4,r1),r0
-	mov	r0,r2
-	add	#2,r0
-	shll2	r0
-	mov.l	r9,@(r0,r1)
-	add	#1,r2
-	mov.l	r2,@(4,r1)
-	bra	.L655
-	mov.l	@(36,r8),r9
-.L656:
-	jsr	@r10
-	mov	r8,r5
-	mov.l	@(40,r9),r9
-.L655:
-	tst	r9,r9
-	bf.s	.L656
-	mov	r9,r4
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L660:
-	.align 2
-.L658:
-	.long	_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj
-.L659:
-	.long	_ZL15establish_predsP4loopS0_
-	.cfi_endproc
-.LFE907:
-	.size	_ZL15establish_predsP4loopS0_, .-_ZL15establish_predsP4loopS0_
-	.align 1
-	.global	_Z23flow_loop_tree_node_addP4loopS0_
-	.type	_Z23flow_loop_tree_node_addP4loopS0_, @function
-_Z23flow_loop_tree_node_addP4loopS0_:
-.LFB908:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r1
-	mov.l	@(36,r4),r2
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov.l	r5,@(36,r4)
-	mov	r5,r4
-	mov.l	r2,@(40,r5)
-	mov	r1,r5
-	mov.l	.L662,r1
-	mov	r14,r15
-	jmp	@r1
-	mov.l	@r15+,r14
-.L663:
-	.align 2
-.L662:
-	.long	_ZL15establish_predsP4loopS0_
-	.cfi_endproc
-.LFE908:
-	.size	_Z23flow_loop_tree_node_addP4loopS0_, .-_Z23flow_loop_tree_node_addP4loopS0_
-	.section	.text._Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_,"axG",@progbits,_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_,comdat
-	.align 1
-	.weak	_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_
-	.type	_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_, @function
-_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_:
-.LFB996:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	.L665,r0
-	mov	#1,r5
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov	r15,r14
-	mov.l	@r8,r1
-	mov.l	@r9,r2
-	mov.l	@(4,r1),r0
-	mov	r0,r3
-	add	#2,r0
-	shll2	r0
-	add	r1,r0
-	add	#1,r3
-	mov.l	r3,@(4,r1)
-	mov.l	r2,@r0
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L666:
-	.align 2
-.L665:
-	.long	_Z16vec_safe_reserveIP4loop5va_gcEbRP3vecIT_T0_8vl_embedEjb
-	.cfi_endproc
-.LFE996:
-	.size	_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_, .-_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_
-	.section	.text._ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi,"axG",@progbits,_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi,comdat
-	.align 1
-	.weak	_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi
-	.type	_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi, @function
-_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi:
-.LFB1059:
-	.cfi_startproc
-	mov.l	@r4,r2
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r2,r2
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L668
-	mov	r15,r14
-	mov.l	@r2,r1
-	mov.l	@(4,r2),r2
-	sub	r2,r1
-	bra	.L670
-	cmp/hs	r5,r1
-.L668:
-	tst	r5,r5
-.L670:
-	movt	r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE1059:
-	.size	_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi, .-_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi
-	.section	.text._ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb,"axG",@progbits,_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb,comdat
-	.align 1
-	.weak	_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb
-	.type	_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb, @function
-_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb:
-.LFB1060:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	extu.b	r6,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L677,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov.l	@r4,r4
-	tst	r0,r0
-	bf.s	.L673
-	mov	r0,r9
-	mov.l	.L678,r1
-	mov	r8,r4
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L673:
-	mov.l	@r8,r4
-	mov	r0,r5
-	add	#2,r5
-	tst	r4,r4
-	bt.s	.L676
-	shll2	r5
-	bra	.L674
-	mov.l	@(4,r4),r10
-.L676:
-	mov	#0,r10
-.L674:
-	mov.l	.L679,r0
-	jsr	@r0
-	nop
-	mov.l	r0,@r8
-	mov.l	r9,@r0
-	mov.l	r10,@(4,r0)
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L680:
-	.align 2
-.L677:
-	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
-.L678:
-	.long	_ZN7va_heap7releaseIP4loopEEvRP3vecIT_S_8vl_embedE
-.L679:
-	.long	xrealloc
-	.cfi_endproc
-.LFE1060:
-	.size	_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb, .-_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb
-	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb,comdat
-	.align 1
-	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
-	.type	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb, @function
-_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb:
-.LFB1037:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r5,r5
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r5,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r4,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	extu.b	r6,r10
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	.cfi_def_cfa_register 14
-	bt.s	.L684
-	mov	r15,r14
-	mov.l	.L685,r0
-	.cfi_offset 17, -20
-	jsr	@r0
-	nop
-	tst	r0,r0
-	bf.s	.L684
-	mov	r9,r4
-	mov.l	.L686,r1
-	mov	r8,r5
-	jsr	@r1
-	mov	r10,r6
-	bra	.L682
-	mov	#1,r0
-.L684:
-	mov	#0,r0
-.L682:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L687:
-	.align 2
-.L685:
-	.long	_ZNK3vecIP4loop7va_heap6vl_ptrE5spaceEi
-.L686:
-	.long	_ZN7va_heap7reserveIP4loopEEvRP3vecIT_S_8vl_embedEjb
-	.cfi_endproc
-.LFE1037:
-	.size	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb, .-_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
-	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj,comdat
-	.align 1
-	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj
-	.type	_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj, @function
-_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj:
-.LFB1036:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#1,r6
-	mov.l	.L689,r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L690:
-	.align 2
-.L689:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
-	.cfi_endproc
-.LFE1036:
-	.size	_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj, .-_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj
-	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE6createEj,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE6createEj,comdat
-	.align 1
-	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE6createEj
-	.type	_ZN3vecIP4loop7va_heap6vl_ptrE6createEj, @function
-_ZN3vecIP4loop7va_heap6vl_ptrE6createEj:
-.LFB994:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r1
-	mov.l	r1,@r4
-	tst	r5,r5
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L691
-	mov	r15,r14
-	mov.l	.L693,r0
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L691:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L694:
-	.align 2
-.L693:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE13reserve_exactEj
-	.cfi_endproc
-.LFE994:
-	.size	_ZN3vecIP4loop7va_heap6vl_ptrE6createEj, .-_ZN3vecIP4loop7va_heap6vl_ptrE6createEj
-	.section	.text._ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_,"axG",@progbits,_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_,comdat
-	.align 1
-	.weak	_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_
-	.type	_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_, @function
-_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_:
-.LFB997:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	.L696,r0
-	mov	#1,r5
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 16
-	.cfi_offset 17, -16
-	.cfi_offset 14, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov	r15,r14
-	mov.l	@r8,r1
-	mov.l	@r9,r2
-	mov.l	@(4,r1),r0
-	mov	r0,r3
-	add	#2,r0
-	shll2	r0
-	add	r1,r0
-	add	#1,r3
-	mov.l	r3,@(4,r1)
-	mov.l	r2,@r0
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L697:
-	.align 2
-.L696:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE7reserveEjb
-	.cfi_endproc
-.LFE997:
-	.size	_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_, .-_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_
-	.section	.rodata.str1.4
-	.align 2
-.LC9:
-	.string	"flow_loops_find: discovered new loop %d with header %d\n"
-	.text
-	.align 1
-	.global	_Z15flow_loops_findP5loops
-	.type	_Z15flow_loops_findP5loops, @function
-_Z15flow_loops_findP5loops:
-.LFB913:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r4,r4
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov	#1,r4
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	movt	r11
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L715,r1
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-20,r15
-	.cfi_def_cfa_offset 52
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_def_cfa_register 14
-	jsr	@r1
-	mov	r15,r14
-	tst	r11,r11
-	bt	.L699
-	mov.l	.L716,r0
-	jsr	@r0
-	mov	#16,r4
-	mov	r0,r8
-	mov	r0,r4
-	mov.l	.L717,r0
-	mov	#16,r6
-	jsr	@r0
-	mov	#0,r5
-	mov.l	.L718,r1
-	mov	r8,r4
-	add	#4,r4
-	jsr	@r1
-	mov	#1,r5
-	mov.l	.L731,r0
-	jsr	@r0
-	nop
-	mov.l	.L738,r1
-	mov	r0,r7
-	mov.l	@r1,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(12,r1),r2
-	mov.l	r2,@(28,r0)
-	mov.l	@(4,r1),r2
-	mov.l	@r1,r1
-	mov.l	r2,@(12,r0)
-	mov.l	r1,@(8,r0)
-	mov.l	r0,@(12,r1)
-	mov.l	r0,@(12,r2)
-	mov.l	@(4,r8),r2
-	mov.l	@(4,r2),r1
-	mov	r1,r3
-	add	#2,r1
-	shll2	r1
-	add	#1,r3
-	mov	r1,r0
-	mov.l	r3,@(4,r2)
-	mov.l	r7,@(r0,r2)
-	mov.l	r7,@(12,r8)
-.L699:
-	mov.l	@(8,r8),r1
-	tst	r1,r1
-	bt	.L700
-	mov.l	.L721,r1
-	mov.l	.L722,r4
-	mov.w	.L723,r5
-	mov.l	.L724,r6
-	jsr	@r1
-	nop
-.L700:
-	mov.l	.L738,r9
-	mov.l	@r9,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(12,r1),r4
-	mov	#2,r1
-	cmp/eq	r1,r4
-	bf	.L747
-	bra	.L748
-	mov	r8,r0
-.L747:
-	mov.l	@(12,r8),r1
-	mov	r14,r10
-	mov.l	.L726,r0
-	mov	#0,r12
-	mov.l	r4,@(28,r1)
-	jsr	@r0
-	shll2	r4
-	mov	r0,r5
-	mov	r0,r13
-	mov.l	.L727,r0
-	mov	#0,r4
-	jsr	@r0
-	mov	#0,r6
-	mov.l	@(4,r8),r1
-	mov	r14,r4
-	add	#16,r4
-	mov.l	@(4,r1),r5
-	mov.l	.L728,r1
-	jsr	@r1
-	add	#-44,r10
-	bra	.L702
-	mov.l	r13,@(4,r14)
-.L706:
-	mov.l	@r1+,r0
-	mov.l	r1,@(4,r14)
-	add	#2,r0
-	mov.l	@(8,r2),r1
-	shll2	r0
-	mov.l	.L729,r2
-	mov.l	@(r0,r1),r9
-	jsr	@r2
-	mov	r9,r4
-	tst	r0,r0
-	bt.s	.L703
-	tst	r11,r11
-	bf	.L704
-	mov.l	@(12,r9),r4
-	mov.l	@(8,r4),r1
-	cmp/eq	r9,r1
-	bf	.L704
-	mov.l	.L730,r0
-	jsr	@r0
-	mov.l	r4,@(56,r10)
-	bra	.L749
-	mov.l	@(56,r10),r1
-.L704:
-	mov.l	.L731,r1
-	jsr	@r1
-	nop
-	mov.l	@(4,r8),r1
-	mov	r8,r4
-	mov.l	.L732,r2
-	mov	r14,r5
-	mov.l	@(4,r1),r1
-	add	#4,r4
-	mov.l	r0,@(56,r10)
-	add	#12,r5
-	jsr	@r2
-	mov.l	r1,@r0
-	mov.l	@(56,r10),r1
-	tst	r11,r11
-	bf.s	.L705
-	mov.l	r9,@(8,r1)
-	mov.l	.L733,r0
-	mov.l	@r0,r4
-	tst	r4,r4
-	bt	.L705
-	mov.l	.L734,r2
-	mov.l	@r2,r0
-	and	#8,r0
-	tst	r0,r0
-	bt	.L705
-	mov.l	@r1,r6
-	mov.l	.L735,r1
-	mov.l	.L736,r5
-	jsr	@r1
-	mov.l	@(44,r9),r7
-.L705:
-	mov.l	@(56,r10),r1
-.L749:
-	mov	#0,r2
-	mov	r14,r4
-	mov.l	r2,@(12,r1)
-	mov	r14,r5
-	mov.l	.L737,r2
-	add	#16,r4
-	jsr	@r2
-	add	#12,r5
-.L703:
-	mov.l	@(12,r8),r1
-	add	#1,r12
-	mov.l	r1,@(12,r9)
-.L702:
-	mov.l	.L738,r0
-	mov.l	@r0,r1
-	mov.l	@(4,r1),r2
-	mov.l	@(12,r2),r1
-	add	#-2,r1
-	cmp/ge	r1,r12
-	bf.s	.L706
-	mov.l	@(4,r14),r1
-	mov.l	.L739,r1
-	mov	r14,r12
-	mov	r13,r4
-	jsr	@r1
-	mov	#0,r10
-	bra	.L707
-	add	#-44,r12
-.L714:
-	mov	r10,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r9
-	mov	#0,r11
-	mov.l	@(8,r9),r13
-	mov.l	@(12,r13),r5
-	mov.l	@(36,r5),r1
-	mov.l	r9,@(36,r5)
-	mov.l	r1,@(40,r9)
-	mov.l	.L740,r1
-	jsr	@r1
-	mov	r9,r4
-	mov.l	.L741,r2
-	mov	r9,r5
-	jsr	@r2
-	mov.l	@(8,r9),r4
-	bra	.L708
-	mov.l	r0,@(28,r9)
-.L712:
-	mov.l	@(52,r12),r1
-	mov.l	.L742,r2
-	mov.l	@r1,r1
-	mov	r1,r5
-	jsr	@r2
-	mov.l	r1,@r14
-	tst	r0,r0
-	bt.s	.L709
-	mov.l	@r14,r1
-	mov.l	@(12,r9),r2
-	tst	r2,r2
-	bt.s	.L710
-	mov	#0,r0
-	bra	.L711
-	mov.l	r0,@(12,r9)
-.L710:
-	mov.l	r1,@(12,r9)
-.L709:
-	add	#1,r11
-.L708:
-	mov.l	.L743,r1
-	mov	r14,r6
-	mov	r11,r4
-	mov	r13,r5
-	jsr	@r1
-	add	#8,r6
-	tst	r0,r0
-	bf.s	.L712
-	mov	r9,r4
-.L711:
-	add	#1,r10
-.L707:
-	mov.l	@(60,r12),r1
-	tst	r1,r1
-	bt	.L713
-	mov.l	@(4,r1),r2
-	cmp/hs	r2,r10
-	bf	.L714
-.L713:
-	mov.l	.L744,r1
-	mov	r14,r4
-	jsr	@r1
-	add	#16,r4
-	mov	r8,r0
-.L748:
-	add	#20,r14
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-	.align 1
-.L723:
-	.short	418
-.L745:
-	.align 2
-.L715:
-	.long	_Z24calculate_dominance_info13cdi_direction
-.L716:
-	.long	_Z31ggc_internal_cleared_alloc_statj
-.L717:
-	.long	memset
-.L718:
-	.long	_Z9vec_allocIP4loop5va_gcEvRP3vecIT_T0_8vl_embedEj
-.L731:
-	.long	_Z10alloc_loopv
-.L738:
-	.long	cfun
-.L721:
-	.long	_Z11fancy_abortPKciS0_
-.L722:
-	.long	.LC1
-.L724:
-	.long	_ZZ15flow_loops_findP5loopsE12__FUNCTION__
-.L726:
-	.long	xmalloc
-.L727:
-	.long	_Z30pre_and_rev_post_order_computePiS_b
-.L728:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE6createEj
-.L729:
-	.long	_Z16bb_loop_header_pP15basic_block_def
-.L730:
-	.long	_Z26flow_loop_tree_node_removeP4loop
-.L732:
-	.long	_Z13vec_safe_pushIP4loop5va_gcEPT_RP3vecIS3_T0_8vl_embedERKS3_
-.L733:
-	.long	dump_file
-.L734:
-	.long	dump_flags
-.L735:
-	.long	fprintf
-.L736:
-	.long	.LC9
-.L737:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE9safe_pushERKS1_
-.L739:
-	.long	free
-.L740:
-	.long	_ZL15establish_predsP4loopS0_
-.L741:
-	.long	_Z20flow_loop_nodes_findP15basic_block_defP4loop
-.L742:
-	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L743:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L744:
-	.long	_ZN3vecIP4loop7va_heap6vl_ptrE7releaseEv
-	.cfi_endproc
-.LFE913:
-	.size	_Z15flow_loops_findP5loops, .-_Z15flow_loops_findP5loops
-	.section	.text._ZNK3vecIi7va_heap6vl_ptrE5spaceEi,"axG",@progbits,_ZNK3vecIi7va_heap6vl_ptrE5spaceEi,comdat
-	.align 1
-	.weak	_ZNK3vecIi7va_heap6vl_ptrE5spaceEi
-	.type	_ZNK3vecIi7va_heap6vl_ptrE5spaceEi, @function
-_ZNK3vecIi7va_heap6vl_ptrE5spaceEi:
-.LFB1065:
-	.cfi_startproc
-	mov.l	@r4,r2
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r2,r2
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L751
-	mov	r15,r14
-	mov.l	@r2,r1
-	mov.l	@(4,r2),r2
-	sub	r2,r1
-	bra	.L753
-	cmp/hs	r5,r1
-.L751:
-	tst	r5,r5
-.L753:
-	movt	r0
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-	.cfi_endproc
-.LFE1065:
-	.size	_ZNK3vecIi7va_heap6vl_ptrE5spaceEi, .-_ZNK3vecIi7va_heap6vl_ptrE5spaceEi
-	.section	.text._ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb,"axG",@progbits,_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb,comdat
-	.align 1
-	.weak	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
-	.type	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb, @function
-_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb:
-.LFB1066:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	extu.b	r6,r6
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	.L760,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	mov	r15,r14
-	.cfi_offset 17, -20
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov.l	@r4,r4
-	tst	r0,r0
-	bf.s	.L756
-	mov	r0,r9
-	mov.l	.L761,r1
-	mov	r8,r4
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L756:
-	mov.l	@r8,r4
-	mov	r0,r5
-	add	#2,r5
-	tst	r4,r4
-	bt.s	.L759
-	shll2	r5
-	bra	.L757
-	mov.l	@(4,r4),r10
-.L759:
-	mov	#0,r10
-.L757:
-	mov.l	.L762,r0
-	jsr	@r0
-	nop
-	mov.l	r0,@r8
-	mov.l	r9,@r0
-	mov.l	r10,@(4,r0)
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L763:
-	.align 2
-.L760:
-	.long	_ZN10vec_prefix20calculate_allocationEPS_jb
-.L761:
-	.long	_ZN7va_heap7releaseIiEEvRP3vecIT_S_8vl_embedE
-.L762:
-	.long	xrealloc
-	.cfi_endproc
-.LFE1066:
-	.size	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb, .-_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
-	.section	.text._ZN3vecIi7va_heap6vl_ptrE7reserveEjb,"axG",@progbits,_ZN3vecIi7va_heap6vl_ptrE7reserveEjb,comdat
-	.align 1
-	.weak	_ZN3vecIi7va_heap6vl_ptrE7reserveEjb
-	.type	_ZN3vecIi7va_heap6vl_ptrE7reserveEjb, @function
-_ZN3vecIi7va_heap6vl_ptrE7reserveEjb:
-.LFB1047:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	tst	r5,r5
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r5,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r4,r9
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 16
-	extu.b	r6,r10
-	.cfi_offset 14, -16
-	.cfi_offset 10, -12
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 20
-	.cfi_def_cfa_register 14
-	bt.s	.L767
-	mov	r15,r14
-	mov.l	.L768,r0
-	.cfi_offset 17, -20
-	jsr	@r0
-	nop
-	tst	r0,r0
-	bf.s	.L767
-	mov	r9,r4
-	mov.l	.L769,r1
-	mov	r8,r5
-	jsr	@r1
-	mov	r10,r6
-	bra	.L765
-	mov	#1,r0
-.L767:
-	mov	#0,r0
-.L765:
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L770:
-	.align 2
-.L768:
-	.long	_ZNK3vecIi7va_heap6vl_ptrE5spaceEi
-.L769:
-	.long	_ZN7va_heap7reserveIiEEvRP3vecIT_S_8vl_embedEjb
-	.cfi_endproc
-.LFE1047:
-	.size	_ZN3vecIi7va_heap6vl_ptrE7reserveEjb, .-_ZN3vecIi7va_heap6vl_ptrE7reserveEjb
-	.section	.text._ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj,"axG",@progbits,_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj,comdat
-	.align 1
-	.weak	_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj
-	.type	_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj, @function
-_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj:
-.LFB1008:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#1,r6
-	mov.l	.L772,r0
-	mov	r15,r14
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L773:
-	.align 2
-.L772:
-	.long	_ZN3vecIi7va_heap6vl_ptrE7reserveEjb
-	.cfi_endproc
-.LFE1008:
-	.size	_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj, .-_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj
-	.section	.text._ZN3vecIi7va_heap6vl_ptrE6createEj,"axG",@progbits,_ZN3vecIi7va_heap6vl_ptrE6createEj,comdat
-	.align 1
-	.weak	_ZN3vecIi7va_heap6vl_ptrE6createEj
-	.type	_ZN3vecIi7va_heap6vl_ptrE6createEj, @function
-_ZN3vecIi7va_heap6vl_ptrE6createEj:
-.LFB962:
-	.cfi_startproc
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r1
-	mov.l	r1,@r4
-	tst	r5,r5
-	.cfi_offset 14, -4
-	.cfi_def_cfa_register 14
-	bt.s	.L774
-	mov	r15,r14
-	mov.l	.L776,r0
-	mov	r14,r15
-	jmp	@r0
-	mov.l	@r15+,r14
-.L774:
-	mov	r14,r15
-	rts	
-	mov.l	@r15+,r14
-.L777:
-	.align 2
-.L776:
-	.long	_ZN3vecIi7va_heap6vl_ptrE13reserve_exactEj
-	.cfi_endproc
-.LFE962:
-	.size	_ZN3vecIi7va_heap6vl_ptrE6createEj, .-_ZN3vecIi7va_heap6vl_ptrE6createEj
-	.text
-	.align 1
-	.type	_ZL8fel_initP13loop_iteratorPP4loopj, @function
-_ZL8fel_initP13loop_iteratorPP4loopj:
-.LFB323:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	#0,r1
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r4,r8
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov	r5,r9
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	mov	r6,r11
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L807,r10
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	mov.l	r1,@(4,r4)
-	mov.l	@r10,r1
-	mov.l	.L808,r12
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	mov.l	@(16,r1),r13
-	tst	r13,r13
-	.cfi_def_cfa_register 14
-	bf.s	.L779
-	mov	r15,r14
-	jsr	@r12
-	mov	#0,r5
-	mov.l	r13,@r9
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L779:
-	mov.l	.L809,r0
-	jsr	@r0
-	nop
-	mov	r0,r5
-	jsr	@r12
-	mov	r8,r4
-	mov	#1,r0
-	and	r11,r0
-	mov	#1,r12
-	xor	r0,r12
-	mov	#4,r0
-	and	r11,r0
-	tst	r0,r0
-	bt.s	.L781
-	mov	#2,r0
-	mov.l	.L813,r13
-	bra	.L782
-	mov	#0,r11
-.L785:
-	mov.l	@(36,r5),r1
-	tst	r1,r1
-	bf	.L783
-	mov.l	@r5,r1
-	cmp/ge	r12,r1
-	bf	.L783
-	jsr	@r13
-	mov	r8,r4
-.L783:
-	add	#1,r11
-.L782:
-	mov.l	@r10,r1
-.L817:
-	mov.l	@(16,r1),r1
-	mov.l	@(4,r1),r1
-	tst	r1,r1
-	bt	.L784
-	mov.l	@(4,r1),r2
-	cmp/hs	r2,r11
-	bt.s	.L784
-	mov	r11,r0
-	add	#2,r0
-	shll2	r0
-	mov.l	@(r0,r1),r5
-	tst	r5,r5
-	bf	.L785
-	add	#1,r11
-	bra	.L817
-	mov.l	@r10,r1
-.L781:
-	and	r11,r0
-	tst	r0,r0
-	bt.s	.L786
-	mov.l	@r10,r1
-	mov.l	@(16,r1),r1
-	bra	.L787
-	mov.l	@(12,r1),r10
-.L797:
-	mov	r1,r10
-.L787:
-	mov.l	@(36,r10),r1
-	tst	r1,r1
-	bf	.L797
-	mov.l	.L813,r13
-	mov.l	.L814,r11
-.L802:
-	mov.l	@r10,r1
-.L818:
-	cmp/ge	r12,r1
-	bf.s	.L789
-	mov	r8,r4
-	jsr	@r13
-	mov	r10,r5
-.L789:
-	mov.l	@(40,r10),r0
-	tst	r0,r0
-	bf	.L803
-	bra	.L806
-	nop
-.L798:
-	mov	r1,r0
-.L803:
-	mov.l	@(36,r0),r1
-	tst	r1,r1
-	bf.s	.L798
-	mov	r0,r10
-	bra	.L818
-	mov.l	@r10,r1
-.L806:
-	jsr	@r11
-	mov.l	@(32,r10),r4
-	tst	r0,r0
-	bf.s	.L802
-	mov	r0,r10
-	bra	.L784
-	nop
-.L786:
-	mov.l	.L813,r13
-	mov.l	@(16,r1),r1
-	mov.l	.L814,r11
-	mov.l	@(12,r1),r1
-.L799:
-	mov	r1,r10
-	mov.l	@r1,r1
-	cmp/ge	r12,r1
-	bf.s	.L793
-	mov	r8,r4
-	jsr	@r13
-	mov	r10,r5
-.L793:
-	mov.l	@(36,r10),r1
-	tst	r1,r1
-	bf	.L799
-.L804:
-	tst	r10,r10
-	bt	.L784
-	mov.l	@(40,r10),r1
-	tst	r1,r1
-	bf	.L799
-	jsr	@r11
-	mov.l	@(32,r10),r4
-	bra	.L804
-	mov	r0,r10
-.L784:
-	mov.l	.L815,r1
-	mov	r8,r4
-	mov	r9,r5
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	jmp	@r1
-	mov.l	@r15+,r8
-.L816:
-	.align 2
-.L807:
-	.long	cfun
-.L808:
-	.long	_ZN3vecIi7va_heap6vl_ptrE6createEj
-.L809:
-	.long	_ZL15number_of_loopsv
-.L813:
-	.long	_ZN3vecIi7va_heap6vl_ptrE10quick_pushERKi
-.L814:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L815:
-	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-	.cfi_endproc
-.LFE323:
-	.size	_ZL8fel_initP13loop_iteratorPP4loopj, .-_ZL8fel_initP13loop_iteratorPP4loopj
-	.section	.rodata.str1.4
-	.align 2
-.LC10:
-	.string	"size of loop %d should be %d, not %d"
-	.align 2
-.LC11:
-	.string	"loop with header %d not in loop tree"
-	.align 2
-.LC12:
-	.string	"bb %d does not belong to loop %d"
-	.align 2
-.LC13:
-	.string	"bb %d has father loop %d, should be loop %d"
-	.align 2
-.LC14:
-	.string	"loop %d%'s header is not a loop header"
-	.align 2
-.LC15:
-	.string	"loop %d%'s header does not have exactly 2 entries"
-	.align 2
-.LC16:
-	.string	"loop %d%'s latch does not have an edge to its header"
-	.align 2
-.LC17:
-	.string	"loop %d%'s latch is not dominated by its header"
-	.align 2
-.LC18:
-	.string	"loop %d%'s latch does not have exactly 1 successor"
-	.align 2
-.LC19:
-	.string	"loop %d%'s latch does not have header as successor"
-	.align 2
-.LC20:
-	.string	"loop %d%'s latch does not belong directly to it"
-	.align 2
-.LC21:
-	.string	"loop %d%'s header does not belong directly to it"
-	.align 2
-.LC22:
-	.string	"loop %d%'s latch is marked as part of irreducible region"
-	.align 2
-.LC23:
-	.string	"basic block %d should be marked irreducible"
-	.align 2
-.LC24:
-	.string	"basic block %d should not be marked irreducible"
-	.align 2
-.LC25:
-	.string	"edge from %d to %d should be marked irreducible"
-	.align 2
-.LC26:
-	.string	"edge from %d to %d should not be marked irreducible"
-	.align 2
-.LC27:
-	.string	"corrupted head of the exits list of loop %d"
-	.align 2
-.LC28:
-	.string	"corrupted exits list of loop %d"
-	.align 2
-.LC29:
-	.string	"nonempty exits list of loop %d, but exits are not recorded"
-	.align 2
-.LC30:
-	.string	"exit %d->%d not recorded"
-	.align 2
-.LC31:
-	.string	"wrong list of exited loops for edge  %d->%d"
-	.align 2
-.LC32:
-	.string	"too many loop exits recorded"
-	.align 2
-.LC33:
-	.string	"%d exits recorded for loop %d (having %d exits)"
-	.text
-	.align 1
-	.global	_Z21verify_loop_structurev
-	.type	_Z21verify_loop_structurev, @function
-_Z21verify_loop_structurev:
-.LFB947:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L903,r0
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	add	#-52,r15
-	.cfi_def_cfa_offset 84
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	.cfi_def_cfa_register 14
-	jsr	@r0
-	mov	r15,r14
-	mov.l	r0,@(24,r14)
-	mov.l	.L904,r0
-	jsr	@r0
-	mov	#1,r4
-	tst	r0,r0
-	bf.s	.L820
-	mov.l	r0,@(20,r14)
-	mov.l	.L905,r1
-	bra	.L898
-	mov	#1,r4
-.L820:
-	mov.l	.L906,r1
-	mov	#1,r4
-.L898:
-	jsr	@r1
-	mov	r14,r9
-	mov.l	.L907,r0
-	mov	#4,r5
-	jsr	@r0
-	mov.l	@(24,r14),r4
-	mov	#2,r1
-	mov.l	r0,@(28,r14)
-	mov.l	r1,@r0
-	add	#-12,r9
-	mov.l	.L948,r1
-	mov.l	.L909,r11
-	mov.l	@r1,r1
-	mov.l	@(4,r1),r10
-	mov.l	@r10,r1
-	bra	.L822
-	mov.l	@(28,r1),r8
-.L825:
-	mov.l	@(12,r8),r1
-	bra	.L823
-	mov.l	r1,@(60,r9)
-.L824:
-	mov.l	@r2,r1
-	shll2	r1
-	mov.l	@(32,r2),r4
-	add	r3,r1
-	mov.l	@r1,r3
-	add	#1,r3
-	jsr	@r11
-	mov.l	r3,@r1
-	mov.l	r0,@(60,r9)
-.L823:
-	mov.l	@(60,r9),r2
-	tst	r2,r2
-	bf.s	.L824
-	mov.l	@(28,r14),r3
-	mov.l	@(28,r8),r8
-.L822:
-	mov.l	@(4,r10),r1
-	cmp/eq	r1,r8
-	bf	.L825
-	mov	r14,r10
-	mov.l	.L930,r1
-	mov	r14,r9
-	add	#36,r10
-	add	#48,r9
-	mov	r14,r13
-	mov	r10,r4
-	mov	r9,r5
-	mov	#1,r6
-	jsr	@r1
-	mov	#0,r12
-	mov.l	.L932,r11
-	mov.l	.L946,r8
-	bra	.L826
-	add	#-12,r13
-.L828:
-	mov.l	@r1,r5
-	mov.l	@(28,r1),r7
-	mov	r5,r0
-	mov.l	@(28,r14),r1
-	shll2	r0
-	mov.l	@(r0,r1),r6
-	cmp/eq	r6,r7
-	bt.s	.L1014
-	mov	r10,r4
-	mov.l	.L913,r4
-	jsr	@r11
-	mov	#1,r12
-	mov	r10,r4
-.L1014:
-	jsr	@r8
-	mov	r9,r5
-.L826:
-	mov.l	@(60,r13),r1
-	tst	r1,r1
-	bf	.L828
-	mov.l	.L948,r11
-	mov.l	.L931,r10
-	mov.l	@r11,r1
-	mov.l	.L932,r9
-	mov.l	@(4,r1),r1
-	mov.l	@r1,r1
-	bra	.L829
-	mov.l	@(28,r1),r8
-.L831:
-	jsr	@r10
-	mov	r8,r4
-	tst	r0,r0
-	bt	.L830
-	mov.l	@(12,r8),r1
-	mov.l	@(8,r1),r1
-	cmp/eq	r8,r1
-	bt	.L830
-	mov	#1,r12
-	mov.l	.L917,r4
-	jsr	@r9
-	mov.l	@(44,r8),r5
-.L830:
-	mov.l	@(28,r8),r8
-.L829:
-	mov.l	@r11,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r2
-	cmp/eq	r2,r8
-	bf	.L831
-	mov	r14,r11
-	mov.l	.L949,r0
-	jsr	@r0
-	mov.l	@(20,r1),r4
-	mov.l	.L919,r1
-	mov	r0,r4
-	jsr	@r1
-	mov	r0,r8
-	mov.l	.L930,r1
-	mov	r14,r10
-	add	#36,r11
-	add	#48,r10
-	mov	r14,r9
-	mov	r11,r4
-	mov	r10,r5
-	mov	#2,r6
-	jsr	@r1
-	add	#-12,r9
-	bra	.L832
-	mov.l	r12,@(32,r14)
-.L837:
-	mov.l	.L921,r2
-	jsr	@r2
-	mov	#0,r10
-	mov	r0,r13
-	bra	.L833
-	mov	r0,r11
-.L836:
-	mov.l	@r11+,r12
-	mov.l	.L922,r3
-	mov	r12,r5
-	jsr	@r3
-	mov.l	r1,@(12,r14)
-	tst	r0,r0
-	bf.s	.L834
-	mov.l	@(12,r14),r1
-	mov.l	.L932,r7
-	mov.l	@r1,r6
-	mov.l	.L924,r4
-	jsr	@r7
-	mov.l	@(44,r12),r5
-	mov	#1,r1
-	mov.l	r1,@(32,r14)
-.L834:
-	mov.l	@(44,r12),r5
-	mov	#-5,r2
-	mov	#31,r3
-	mov	r5,r1
-	shld	r2,r1
-	add	#3,r1
-	shll2	r1
-	add	r8,r1
-	mov.l	@r1,r2
-	and	r5,r3
-	neg	r3,r7
-	mov	r2,r0
-	shld	r7,r0
-	and	#1,r0
-	tst	r0,r0
-	bf.s	.L835
-	mov	#1,r7
-	shld	r3,r7
-	mov	r7,r3
-	or	r2,r3
-	mov.l	r3,@r1
-	mov.l	@(12,r12),r2
-	mov.l	@(60,r9),r1
-	cmp/eq	r1,r2
-	bt	.L835
-	mov.l	@r1,r7
-	mov.l	.L932,r1
-	mov.l	.L926,r4
-	jsr	@r1
-	mov.l	@r2,r6
-	mov	#1,r2
-	mov.l	r2,@(32,r14)
-.L835:
-	add	#1,r10
-.L833:
-	mov.l	@(60,r9),r1
-	mov.l	@(28,r1),r2
-	cmp/hs	r2,r10
-	bf.s	.L836
-	mov	r1,r4
-	mov.l	.L927,r3
-	jsr	@r3
-	mov	r13,r4
-	mov.l	.L946,r7
-	mov	r14,r4
-	mov	r14,r5
-	add	#36,r4
-	jsr	@r7
-	add	#48,r5
-.L832:
-	mov.l	@(60,r9),r4
-	tst	r4,r4
-	bf	.L837
-	mov	r8,r4
-	mov.l	.L929,r1
-	jsr	@r1
-	mov.l	@(32,r14),r12
-	mov.l	.L930,r2
-	mov	r14,r1
-	mov	r14,r10
-	add	#36,r1
-	add	#48,r10
-	mov	r14,r9
-	mov	r1,r4
-	mov	r10,r5
-	mov	#0,r6
-	mov.l	r1,@(12,r14)
-	jsr	@r2
-	add	#-12,r9
-	mov.l	.L931,r13
-	mov.l	.L932,r8
-	mov.l	.L947,r11
-	bra	.L1009
-	mov.l	@(60,r9),r1
-.L850:
-	jsr	@r13
-	mov.l	@(8,r1),r4
-	tst	r0,r0
-	bf.s	.L839
-	mov	r10,r5
-	mov.l	.L934,r4
-	jsr	@r8
-	mov	#1,r12
-.L839:
-	jsr	@r11
-	mov	#1,r4
-	tst	r0,r0
-	bt	.L840
-	mov.l	@(60,r9),r1
-	mov.l	@(8,r1),r1
-	mov.l	@r1,r1
-	tst	r1,r1
-	bt	.L841
-	mov.l	@(4,r1),r0
-	cmp/eq	#2,r0
-	bt	.L840
-.L841:
-	mov.l	.L935,r4
-	mov	r10,r5
-	jsr	@r8
-	mov	#1,r12
-.L840:
-	mov.l	@(60,r9),r1
-	mov.l	@(12,r1),r4
-	tst	r4,r4
-	bt	.L842
-	mov.l	@(8,r1),r5
-	mov.l	.L936,r1
-	jsr	@r1
-	nop
-	tst	r0,r0
-	bf.s	.L843
-	mov	r10,r5
-	mov.l	.L937,r4
-	jsr	@r8
-	mov	#1,r12
-.L843:
-	mov.l	@(60,r9),r1
-	mov	#1,r4
-	mov.l	.L938,r2
-	mov.l	@(12,r1),r5
-	jsr	@r2
-	mov.l	@(8,r1),r6
-	tst	r0,r0
-	bf.s	.L842
-	mov	r10,r5
-	mov.l	.L939,r4
-	jsr	@r8
-	mov	#1,r12
-.L842:
-	jsr	@r11
-	mov	#2,r4
-	tst	r0,r0
-	bt	.L844
-	mov.l	@(60,r9),r1
-	mov.l	@(12,r1),r1
-	mov.l	@(4,r1),r1
-	tst	r1,r1
-	bt	.L845
-	mov.l	@(4,r1),r0
-	cmp/eq	#1,r0
-	bt	.L846
-.L845:
-	mov.l	.L940,r4
-	mov	r10,r5
-	jsr	@r8
-	mov	#1,r12
-.L846:
-	mov.l	@(60,r9),r1
-	mov.l	@(12,r1),r2
-	mov.l	@(8,r1),r1
-	mov.l	@(4,r2),r2
-	mov.l	@(8,r2),r2
-	mov.l	@(4,r2),r2
-	cmp/eq	r1,r2
-	bt.s	.L847
-	mov	r10,r5
-	mov.l	.L941,r4
-	jsr	@r8
-	mov	#1,r12
-.L847:
-	mov.l	@(60,r9),r1
-	mov.l	@(12,r1),r2
-	mov.l	@(12,r2),r2
-	cmp/eq	r1,r2
-	bt.s	.L1018
-	mov	r10,r5
-	mov.l	.L942,r4
-	jsr	@r8
-	mov	#1,r12
-.L844:
-	mov.l	@(60,r9),r1
-.L1018:
-	mov.l	@(8,r1),r2
-	mov.l	@(12,r2),r2
-	cmp/eq	r1,r2
-	bt.s	.L848
-	mov	r10,r5
-	mov.l	.L943,r4
-	jsr	@r8
-	mov	#1,r12
-.L848:
-	jsr	@r11
-	mov	#4,r4
-	tst	r0,r0
-	bt	.L897
-	mov.l	.L944,r3
-	jsr	@r3
-	mov.l	@(60,r9),r4
-	mov.l	@(24,r0),r0
-	and	#128,r0
-	tst	r0,r0
-	bt	.L897
-	mov	r10,r5
-	mov.l	.L945,r4
-	jsr	@r8
-	mov	#1,r12
-.L897:
-	mov.l	.L946,r7
-	mov	r14,r4
-	mov	r14,r5
-	add	#36,r4
-	jsr	@r7
-	add	#48,r5
-	mov.l	@(60,r9),r1
-.L1009:
-	tst	r1,r1
-	bt	.L1008
-	bra	.L850
-	mov.l	@r1,r10
-.L1008:
-	mov.l	.L947,r0
-	jsr	@r0
-	mov	#4,r4
-	tst	r0,r0
-	bf	.L1007
-	bra	.L851
-	nop
-.L1007:
-	mov.l	.L948,r13
-	mov	#-5,r11
-	mov.l	.L949,r0
-	mov.l	@r13,r1
-	mov.l	@(4,r1),r1
-	jsr	@r0
-	mov.l	@(20,r1),r4
-	mov.l	@r13,r1
-	mov	r14,r3
-	mov	r0,r9
-	mov.l	@(4,r1),r1
-	add	#44,r3
-	mov.l	.L950,r7
-	mov.l	@r1,r1
-	mov.l	@(28,r1),r8
-	bra	.L852
-	mov	#1,r1
-.L951:
-	.align 2
-.L903:
-	.long	_ZL15number_of_loopsv
-.L904:
-	.long	_Z20dom_info_available_p13cdi_direction
-.L905:
-	.long	_Z24calculate_dominance_info13cdi_direction
-.L906:
-	.long	_Z17verify_dominators13cdi_direction
-.L907:
-	.long	xcalloc
-.L948:
-	.long	cfun
-.L909:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L930:
-	.long	_ZL8fel_initP13loop_iteratorPP4loopj
-.L932:
-	.long	_Z5errorPKcz
-.L946:
-	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-.L913:
-	.long	.LC10
-.L931:
-	.long	_Z16bb_loop_header_pP15basic_block_def
-.L917:
-	.long	.LC11
-.L949:
-	.long	_Z13sbitmap_allocj
-.L919:
-	.long	_Z12bitmap_clearP17simple_bitmap_def
-.L921:
-	.long	_Z13get_loop_bodyPK4loop
-.L922:
-	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L924:
-	.long	.LC12
-.L926:
-	.long	.LC13
-.L927:
-	.long	free
-.L929:
-	.long	_Z12sbitmap_freeP17simple_bitmap_def
-.L947:
-	.long	_ZL23loops_state_satisfies_pj
-.L934:
-	.long	.LC14
-.L935:
-	.long	.LC15
-.L936:
-	.long	_Z9find_edgeP15basic_block_defS0_
-.L937:
-	.long	.LC16
-.L938:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L939:
-	.long	.LC17
-.L940:
-	.long	.LC18
-.L941:
-	.long	.LC19
-.L942:
-	.long	.LC20
-.L943:
-	.long	.LC21
-.L944:
-	.long	_Z15loop_latch_edgePK4loop
-.L945:
-	.long	.LC22
-.L950:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L858:
-	mov.l	@(40,r8),r0
-	and	#4,r0
-	tst	r0,r0
-	bt.s	.L853
-	mov.l	@(44,r8),r0
-	mov	r0,r2
-	shld	r11,r2
-	add	#3,r2
-	shll2	r2
-	add	r9,r2
-	and	#31,r0
-	mov	r1,r5
-	mov.l	@r2,r6
-	shld	r0,r5
-	bra	.L899
-	or	r5,r6
-.L853:
-	mov	r0,r2
-	shld	r11,r2
-	add	#3,r2
-	shll2	r2
-	add	r9,r2
-	and	#31,r0
-	mov	r1,r6
-	shld	r0,r6
-	mov.l	@r2,r5
-	not	r6,r6
-	and	r5,r6
-.L899:
-	mov.l	r6,@r2
-	mov	r8,r2
-	add	#4,r2
-	bra	.L855
-	mov	#0,r10
-.L857:
-	mov.l	@(44,r14),r6
-	mov.w	.L960,r5
-	mov.l	@(24,r6),r0
-	and	r0,r5
-	tst	r5,r5
-	bt	.L856
-	mov.l	.L962,r5
-	or	r5,r0
-	mov.l	r0,@(24,r6)
-.L856:
-	add	#1,r10
-.L855:
-	mov	r2,r5
-	mov	r3,r6
-	mov.l	r1,@(12,r14)
-	mov	r10,r4
-	mov.l	r2,@r14
-	mov.l	r3,@(4,r14)
-	jsr	@r7
-	mov.l	r7,@(8,r14)
-	tst	r0,r0
-	mov.l	@(12,r14),r1
-	mov.l	@r14,r2
-	mov.l	@(4,r14),r3
-	bf.s	.L857
-	mov.l	@(8,r14),r7
-	mov.l	@(28,r8),r8
-.L852:
-	mov.l	@r13,r2
-	mov.l	.L966,r10
-	mov.l	@(4,r2),r2
-	mov.l	@(4,r2),r2
-	cmp/eq	r2,r8
-	bf	.L858
-	mov.l	.L955,r0
-	jsr	@r0
-	nop
-	mov.l	@r10,r1
-	mov.l	.L969,r10
-	mov.l	@(4,r1),r1
-	mov.l	@r1,r1
-	bra	.L859
-	mov.l	@(28,r1),r8
-.L866:
-	mov.l	@(40,r8),r0
-	and	#4,r0
-	tst	r0,r0
-	bt.s	.L860
-	mov.l	@(44,r8),r5
-	mov	#-5,r1
-	mov	r5,r0
-	shld	r1,r0
-	add	#3,r0
-	shll2	r0
-	mov	#31,r1
-	mov.l	@(r0,r9),r0
-	and	r5,r1
-	neg	r1,r1
-	shld	r1,r0
-	and	#1,r0
-	tst	r0,r0
-	bf.s	.L1015
-	mov	r8,r7
-	mov.l	.L957,r4
-	bra	.L900
-	nop
-.L860:
-	mov	#-5,r1
-	mov	r5,r0
-	shld	r1,r0
-	add	#3,r0
-	shll2	r0
-	mov	#31,r1
-	mov.l	@(r0,r9),r0
-	and	r5,r1
-	neg	r1,r1
-	shld	r1,r0
-	and	#1,r0
-	tst	r0,r0
-	bt.s	.L1015
-	mov	r8,r7
-	mov.l	.L958,r4
-.L900:
-	jsr	@r10
-	mov	#1,r12
-	mov	r8,r7
-.L1015:
-	add	#4,r7
-	mov	r14,r13
-	mov.l	r7,@(32,r14)
-	mov	#0,r11
-	bra	.L862
-	add	#-12,r13
-.L865:
-	mov.l	@(56,r13),r1
-	mov.l	.L959,r3
-	mov.l	@(24,r1),r2
-	mov.w	.L960,r5
-	and	r3,r2
-	cmp/eq	r5,r2
-	bf	.L863
-	mov.l	@r1,r2
-	mov.l	.L961,r4
-	bra	.L901
-	mov.l	@(4,r1),r1
-.L863:
-	mov.l	.L962,r7
-	cmp/eq	r7,r2
-	bf	.L864
-	mov.l	@r1,r2
-	mov.l	.L963,r4
-	mov.l	@(4,r1),r1
-.L901:
-	mov.l	@(44,r2),r5
-	mov	#1,r12
-	jsr	@r10
-	mov.l	@(44,r1),r6
-.L864:
-	mov.l	@(56,r13),r2
-	add	#1,r11
-	mov.l	.L964,r3
-	mov.l	@(24,r2),r1
-	and	r3,r1
-	mov.l	r1,@(24,r2)
-.L862:
-	mov.l	.L965,r7
-	mov	r14,r6
-	mov	r11,r4
-	mov.l	@(32,r14),r5
-	jsr	@r7
-	add	#44,r6
-	tst	r0,r0
-	bf	.L865
-	mov.l	@(28,r8),r8
-.L859:
-	mov.l	.L966,r2
-	mov.l	@r2,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r1
-	cmp/eq	r1,r8
-	bf	.L866
-	mov.l	.L967,r1
-	jsr	@r1
-	mov	r9,r4
-.L851:
-	mov.l	.L968,r1
-	mov	r14,r13
-	mov	r14,r11
-	add	#36,r13
-	add	#48,r11
-	mov	r14,r9
-	mov	r13,r4
-	mov	r11,r5
-	mov	#0,r6
-	jsr	@r1
-	add	#-12,r9
-	mov.l	.L969,r8
-	mov.l	.L970,r10
-	bra	.L1010
-	mov.l	@(60,r9),r1
-.L876:
-	add	#64,r2
-	mov.l	@(32,r2),r2
-	tst	r2,r2
-	bt	.L868
-	mov.l	@r2,r3
-	tst	r3,r3
-	bt.s	.L869
-	mov	r2,r7
-.L868:
-	mov.l	.L971,r4
-	bra	.L1011
-	mov.l	@r1,r5
-.L869:
-	mov.l	@(8,r2),r3
-	bra	.L871
-	mov	#0,r0
-.L873:
-	mov.l	@(8,r7),r7
-	mov.l	@(8,r3),r3
-.L871:
-	mov.l	@r3,r6
-	tst	r6,r6
-	bt.s	.L872
-	cmp/eq	r7,r3
-	bt.s	.L872
-	mov	#1,r6
-	and	r0,r6
-	tst	r6,r6
-	bf.s	.L873
-	add	#1,r0
-	bra	.L871
-	mov.l	@(8,r3),r3
-	.align 1
-.L960:
-	.short	128
-.L972:
-	.align 2
-.L962:
-	.long	131072
-.L966:
-	.long	cfun
-.L955:
-	.long	_Z22mark_irreducible_loopsv
-.L969:
-	.long	_Z5errorPKcz
-.L957:
-	.long	.LC23
-.L958:
-	.long	.LC24
-.L959:
-	.long	131200
-.L961:
-	.long	.LC25
-.L963:
-	.long	.LC26
-.L964:
-	.long	-131073
-.L965:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L967:
-	.long	free
-.L968:
-	.long	_ZL8fel_initP13loop_iteratorPP4loopj
-.L970:
-	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-.L971:
-	.long	.LC27
-.L872:
-	cmp/eq	r2,r3
-	bt	.L870
-	mov.l	@r1,r5
-	mov.l	.L973,r4
-.L1011:
-	jsr	@r8
-	mov	#1,r12
-.L870:
-	mov.l	.L976,r3
-	jsr	@r3
-	mov	#8,r4
+	mov.l	@(8,r15),r5
+	jsr	@r14
+	add	#40,r6
 	tst	r0,r0
-	bf.s	.L1016
-	mov	r13,r4
-	mov.l	@(60,r9),r1
-	mov	r1,r2
-	add	#64,r2
-	mov.l	@(32,r2),r2
-	mov.l	@(8,r2),r3
-	cmp/eq	r2,r3
-	bt	.L1016
-	mov	#1,r12
-	mov.l	.L975,r4
-	jsr	@r8
-	mov.l	@r1,r5
-	mov	r13,r4
-.L1016:
-	jsr	@r10
-	mov	r11,r5
-	mov.l	@(60,r9),r1
-.L1010:
-	tst	r1,r1
-	bf.s	.L876
-	mov	r1,r2
-	mov.l	.L976,r0
+	bt.s	.L1013
+	mov.l	@(40,r15),r5
+	cmp/eq	r13,r5
+	bt	.L966
+	jsr	@r11
+	mov.l	@r10,r4
+.L966:
+	bra	.L965
+	add	#1,r9
+.L1013:
+	mov.l	.L1054,r0
+	mov	#0,r6
+	mov.l	.L1055,r5
 	jsr	@r0
-	mov	#8,r4
-	tst	r0,r0
-	bf	.L1006
-	bra	.L1012
-	tst	r12,r12
-.L1006:
-	mov.l	@(24,r14),r6
-	mov	#0,r5
-	mov.l	.L977,r0
-	shll2	r6
-	mov.l	.L978,r13
-	mov	r14,r9
+	mov.l	@(8,r12),r4
+	mov.l	.L1056,r2
+	mov	r0,r9
+	jsr	@r2
+	mov.l	@r8,r4
+	mov.l	@r9,r2
+	mov.l	.L1040,r0
 	jsr	@r0
-	mov.l	@(28,r14),r4
+	mov.l	r2,@(8,r12)
 	mov.l	@r13,r1
-	mov	#0,r10
-	add	#-12,r9
-	mov.l	@(4,r1),r1
-	mov.l	@r1,r1
-	bra	.L878
-	mov.l	@(28,r1),r8
-.L888:
-	mov.l	@(12,r8),r2
-	mov.l	@(12,r1),r1
-	cmp/eq	r1,r2
-	bt.s	.L879
-	mov	r8,r5
-	add	#4,r5
-	mov.l	r5,@(16,r14)
-	bra	.L880
-	mov	#0,r11
-.L887:
-	mov.l	@(56,r9),r7
-	mov.l	.L979,r1
-	mov.l	r7,@(32,r14)
-	mov.l	@(12,r8),r4
+	mov	r0,r4
+	mov.l	@(4,r9),r2
+	mov	r12,r5
+	mov.l	r1,@(12,r0)
+	mov.l	.L1041,r1
 	jsr	@r1
-	mov.l	@(4,r7),r5
-	tst	r0,r0
-	bf	.L881
-	mov.l	@r13,r1
-	add	#1,r10
-	mov.l	.L980,r2
-	mov.l	@(16,r1),r1
-	mov.l	@r2,r0
-	mov.l	@(8,r1),r1
-	mov.l	@(32,r14),r4
+	mov.l	r2,@(8,r0)
+	bra	.L1076
+	mov	r12,r1
+.L964:
+	mov.l	.L1042,r0
 	jsr	@r0
-	mov.l	r1,@(24,r14)
-	mov.l	.L981,r3
-	mov	r0,r6
-	mov.l	@(24,r14),r4
-	jsr	@r3
-	mov.l	@(32,r14),r5
-	tst	r0,r0
-	bf	.L882
-	mov.l	@(56,r9),r1
-	mov	#1,r12
-	mov.l	.L993,r7
-	mov.l	@r1,r2
-	mov.l	@(4,r1),r1
-	mov.l	@(44,r2),r5
-	mov.l	@(44,r1),r6
-	mov.l	.L983,r4
-	jsr	@r7
-	mov.l	r0,@(12,r14)
-	mov.l	@(12,r14),r0
-.L882:
-	bra	.L883
-	mov	#0,r2
-.L884:
-	mov.l	@(12,r0),r0
-	add	#1,r2
-.L883:
+	mov.l	@(8,r15),r4
+	mov.l	r0,@(28,r15)
 	tst	r0,r0
-	bf	.L884
-	mov.l	@(12,r8),r1
-	mov.l	r10,@(32,r14)
-	mov	r2,r10
-	mov.l	r1,@(60,r9)
-	mov.l	r11,@(24,r14)
-	mov	r8,r11
-.L886:
-	mov.l	@(56,r9),r7
-	mov.l	@(60,r9),r8
-	mov.l	@(4,r7),r1
-	mov.l	@(12,r1),r2
-	cmp/eq	r2,r8
-	bt	.L885
-	mov.l	@(32,r2),r4
-	mov.l	.L985,r2
-	mov.l	r1,@(12,r14)
-	jsr	@r2
-	mov.l	r7,@(8,r14)
-	cmp/eq	r0,r8
-	mov.l	@(12,r14),r1
-	bt.s	.L885
-	mov.l	@(8,r14),r7
-	mov.l	@r8,r1
-	add	#-1,r10
-	mov.l	@(28,r14),r3
-	shll2	r1
-	mov.l	.L985,r5
-	add	r3,r1
-	mov.l	@r1,r2
-	mov.l	@(32,r8),r4
-	add	#1,r2
-	jsr	@r5
-	mov.l	r2,@r1
-	bra	.L886
-	mov.l	r0,@(60,r9)
-.L885:
-	mov	r10,r2
-	tst	r2,r2
-	mov	r11,r8
-	mov.l	@(32,r14),r10
-	bt.s	.L881
-	mov.l	@(24,r14),r11
-	mov.l	@r7,r2
-	mov	#1,r12
-	mov.l	.L993,r7
-	mov.l	.L987,r4
-	mov.l	@(44,r2),r5
-	jsr	@r7
-	mov.l	@(44,r1),r6
-.L881:
-	add	#1,r11
-.L880:
-	mov.l	.L988,r1
-	mov	r14,r6
-	mov	r11,r4
-	mov.l	@(16,r14),r5
+	bt.s	.L969
+	mov	r0,r2
+	mov.l	@(4,r0),r1
+	tst	r1,r1
+	bf.s	.L970
+	mov	r1,r0
+.L969:
+	mov.l	.L1043,r1
+	mov.l	.L1044,r4
+	mov.w	.L1045,r5
+	mov.l	.L1046,r6
 	jsr	@r1
-	add	#44,r6
-	tst	r0,r0
-	bf	.L887
-.L879:
-	mov.l	@(28,r8),r8
-.L878:
-	mov.l	@r13,r1
-	mov.l	@(4,r1),r2
-	mov.l	@(4,r2),r2
-	cmp/eq	r2,r8
-	bf.s	.L888
-	mov.l	@(16,r1),r1
-	mov.l	.L989,r0
+	nop
+.L970:
+	cmp/eq	#1,r0
+	bf	.L971
+	mov.l	@(8,r2),r1
+	bra	.L1010
+	mov.l	@r1,r1
+.L971:
+	mov.l	.L1047,r1
+	mov.l	@r1,r4
+	tst	r4,r4
+	bt	.L973
+	mov.l	.L1048,r0
+	mov.l	.L1049,r5
 	jsr	@r0
-	mov.l	@(8,r1),r4
-	cmp/eq	r0,r10
-	bt	.L889
-	mov.l	.L993,r1
-	mov.l	.L991,r4
-	jsr	@r1
-	mov	#1,r12
-.L889:
-	mov.l	.L992,r1
-	mov	r14,r10
-	mov	r14,r9
-	add	#36,r10
-	add	#48,r9
-	mov	r14,r13
-	mov	r10,r4
+	mov.l	@r12,r6
+.L973:
+	mov.l	.L1050,r0
+	mov.l	.L1051,r8
+	jsr	@r0
+	mov	#0,r9
+	mov.l	.L1052,r10
+	mov	r8,r11
+	mov.l	.L1053,r14
+	mov.l	r0,@r8
+	mov	r15,r4
+.L1077:
+	mov	r15,r6
+	add	#28,r4
 	mov	r9,r5
+	jsr	@r10
+	add	#40,r6
+	tst	r0,r0
+	bt	.L1014
+	mov.l	@r11,r4
+	add	#1,r9
+	jsr	@r14
+	mov.l	@(40,r15),r5
+	bra	.L1077
+	mov	r15,r4
+.L1014:
+	mov.l	.L1054,r0
 	mov	#0,r6
+	mov.l	.L1055,r5
+	jsr	@r0
+	mov.l	@(8,r12),r4
+	mov.l	.L1056,r1
+	mov	r0,r9
 	jsr	@r1
-	add	#-12,r13
-	mov.l	.L993,r11
-	mov.l	.L994,r8
-	bra	.L1013
-	mov.l	@(60,r13),r1
-.L894:
-	add	#64,r2
-	mov.l	@(32,r2),r2
-	mov	#0,r5
-	bra	.L891
-	mov.l	@(8,r2),r2
-.L892:
-	mov.l	@(8,r2),r2
-	add	#1,r5
-.L891:
-	mov.l	@r2,r3
-	tst	r3,r3
-	bf	.L892
+	mov.l	@r8,r4
+	mov.l	@(4,r9),r1
+	mov.l	r1,@(8,r12)
+	mov.l	@r9,r1
+.L1010:
+	mov	r15,r4
+	mov.l	.L1057,r0
+	add	#28,r4
+	jsr	@r0
+	mov.l	r1,@(12,r12)
+.L939:
+	mov.l	.L1058,r1
+	mov	r15,r4
+	mov	r15,r5
+	add	#32,r4
+	jsr	@r1
+	add	#12,r5
+	bra	.L1078
+	mov.l	@(12,r15),r12
+.L948:
+	mov	#1,r9
+	mov.l	.L1060,r10
+	mov.l	@(8,r1),r8
+	mov.l	r1,@(24,r15)
+.L977:
+	mov	r15,r11
+	add	#28,r11
+	mov	r15,r4
+	add	#24,r4
+	mov	r9,r5
+	jsr	@r14
+	mov	r11,r6
+	tst	r0,r0
+	bt.s	.L1015
+	mov.l	@(28,r15),r1
+	mov	#1,r4
+	mov.l	@r8,r5
+	jsr	@r10
 	mov.l	@r1,r6
-	mov.l	@(28,r14),r2
-	mov	r6,r0
-	shll2	r0
-	mov.l	@(r0,r2),r7
-	cmp/eq	r7,r5
-	bt.s	.L1017
-	mov	r10,r4
-	mov.l	.L995,r4
-	jsr	@r11
-	mov	#1,r12
-	mov	r10,r4
+	tst	r0,r0
+	bt	.L949
+	mov.l	@(28,r15),r8
+.L949:
+	bra	.L977
+	add	#1,r9
+.L1015:
+	mov.l	.L1060,r10
+	mov	#0,r9
+.L951:
+	mov	r15,r4
+	add	#24,r4
+	mov	r9,r5
+	jsr	@r14
+	mov	r11,r6
+	tst	r0,r0
+	bt.s	.L1016
+	mov.l	@(28,r15),r1
+	mov	#1,r4
+	mov.l	@r8,r6
+	jsr	@r10
+	mov.l	@r1,r5
+	tst	r0,r0
+	bf	.L952
+.L961:
+	bra	.L953
+	mov	#0,r8
+.L952:
+	bra	.L951
+	add	#1,r9
+.L1016:
+	mov.l	.L1061,r1
+	mov	r15,r2
+	add	#40,r2
+	jsr	@r1
+	mov.l	@(8,r12),r4
+	mov.l	.L1062,r13
+	mov.l	@(40,r15),r10
+.L955:
+	tst	r10,r10
+	bt	.L1017
+	mov.l	@(20,r8),r2
+	mov	#24,r1
+	mov.w	.L1063,r0
+	mul.l	r1,r2
+	sts	macl,r1
+	add	r10,r1
+	mov.l	@(52,r1),r1
+	mov.l	@r1,r9
+	mov.w	@r9,r2
+	extu.w	r2,r2
+	cmp/eq	r0,r2
+	bf	.L957
+	mov.l	@(16,r9),r2
+	cmp/eq	r10,r2
+	bt	.L957
+	mov.l	@(16,r2),r5
+	tst	r5,r5
+	bt	.L957
+	jsr	@r13
+	mov	r12,r4
+	tst	r0,r0
+	bt.s	.L957
+	mov	#0,r11
+.L978:
+	mov	r15,r4
+	mov	r15,r6
+	add	#24,r4
+	mov	r11,r5
+	jsr	@r14
+	add	#28,r6
+	tst	r0,r0
+	bt.s	.L957
+	mov.l	@(28,r15),r2
+	cmp/eq	r8,r2
+	bt	.L960
+	mov.l	@(20,r2),r3
+	mov	#24,r2
+	mul.l	r2,r3
+	sts	macl,r2
+	add	r10,r2
+	mov.l	@(52,r2),r2
+	mov.l	@r2,r2
+	cmp/eq	r9,r2
+	bf	.L960
+	bra	.L961
+	nop
+.L957:
+	bra	.L955
+	mov.l	@(20,r10),r10
+	.align 1
+.L1045:
+	.short	696
+.L1063:
+	.short	142
+.L1064:
+	.align 2
+.L1018:
+	.long	_ZL8fel_initP13loop_iteratorPP4loopj
+.L1047:
+	.long	dump_file
+.L1048:
+	.long	fprintf
+.L1021:
+	.long	.LC14
+.L1022:
+	.long	cfun
+.L1023:
+	.long	_Z9find_edgeP15basic_block_defS0_
+.L1024:
+	.long	_Z10split_edgeP8edge_def
+.L1042:
+	.long	_ZL20get_loop_latch_edgesPK4loop.isra.28
+.L1052:
+	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
+.L1030:
+	.long	.LC15
+.L1031:
+	.long	_Z15current_ir_typev
+.L1057:
+	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
+.L1050:
+	.long	_Z18pointer_set_createv
+.L1051:
+	.long	_ZL12mfb_reis_set
+.L1035:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L1053:
+	.long	_Z18pointer_set_insertP13pointer_set_tPKv
+.L1054:
+	.long	_Z20make_forwarder_blockP15basic_block_defPFbP8edge_defEPFvS0_E
+.L1055:
+	.long	_ZL25mfb_redirect_edges_in_setP8edge_def
+.L1056:
+	.long	_Z19pointer_set_destroyP13pointer_set_t
+.L1040:
+	.long	_Z10alloc_loopv
+.L1041:
+	.long	_Z8add_loopP4loopS0_
+.L1043:
+	.long	_Z11fancy_abortPKciS0_
+.L1044:
+	.long	.LC1
+.L1046:
+	.long	_ZZL17merge_latch_edgesP4loopE12__FUNCTION__
+.L1049:
+	.long	.LC17
+.L1058:
+	.long	_ZL8fel_nextP13loop_iteratorPP4loop
+.L1060:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
+.L1061:
+	.long	_Z14gsi_start_phisP15basic_block_def
+.L1062:
+	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
 .L1017:
-	jsr	@r8
-	mov	r9,r5
-	mov.l	@(60,r13),r1
-.L1013:
-	tst	r1,r1
-	bf.s	.L894
-	mov	r1,r2
-	tst	r12,r12
-.L1012:
-	bt	.L895
-	mov.l	.L996,r1
-	mov.l	.L997,r4
-	mov.w	.L998,r5
-	mov.l	.L999,r6
-	jsr	@r1
-	nop
-.L895:
-	mov.l	.L1000,r1
-	jsr	@r1
-	mov.l	@(28,r14),r4
-	mov.l	@(20,r14),r3
-	tst	r3,r3
-	bf	.L819
-	mov.l	.L1001,r1
-	jsr	@r1
-	mov	#1,r4
-.L819:
-	add	#52,r14
-	mov	r14,r15
+	mov.l	.L1065,r1
+	mov.l	@r1,r4
+	tst	r4,r4
+	bt	.L953
+	mov.l	@r8,r2
+	mov.l	@(4,r8),r1
+	mov.l	.L1066,r0
+	mov.l	.L1067,r5
+	mov.l	@(44,r2),r6
+	jsr	@r0
+	mov.l	@(44,r1),r7
+.L953:
+	bra	.L942
+	mov	r8,r13
+.L960:
+	bra	.L978
+	add	#1,r11
+.L1011:
+	add	#52,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-	.align 1
-.L998:
-	.short	1629
-.L1002:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+.L1068:
 	.align 2
-.L973:
-	.long	.LC28
-.L976:
-	.long	_ZL23loops_state_satisfies_pj
-.L975:
-	.long	.LC29
-.L977:
-	.long	memset
-.L978:
-	.long	cfun
-.L979:
-	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L980:
-	.long	htab_hash_pointer
-.L981:
-	.long	htab_find_with_hash
-.L993:
-	.long	_Z5errorPKcz
-.L983:
-	.long	.LC30
-.L985:
-	.long	_ZL10loop_outerPK4loop.clone.13
-.L987:
-	.long	.LC31
-.L988:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L989:
-	.long	htab_elements
-.L991:
-	.long	.LC32
-.L992:
-	.long	_ZL8fel_initP13loop_iteratorPP4loopj
-.L994:
-	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-.L995:
-	.long	.LC33
-.L996:
-	.long	_Z11fancy_abortPKciS0_
-.L997:
-	.long	.LC1
-.L999:
-	.long	_ZZ21verify_loop_structurevE12__FUNCTION__
-.L1000:
-	.long	free
-.L1001:
-	.long	_Z19free_dominance_info13cdi_direction
+.L1065:
+	.long	dump_file
+.L1066:
+	.long	fprintf
+.L1067:
+	.long	.LC16
 	.cfi_endproc
-.LFE947:
-	.size	_Z21verify_loop_structurev, .-_Z21verify_loop_structurev
+.LFE921:
+	.size	_Z40disambiguate_loops_with_multiple_latchesv, .-_Z40disambiguate_loops_with_multiple_latchesv
 	.section	.rodata.str1.4
 	.align 2
+.LC18:
+	.string	"size of loop %d should be %d, not %d"
+	.align 2
+.LC19:
+	.string	"bb %d does not belong to loop %d"
+	.align 2
+.LC20:
+	.string	"bb %d has father loop %d, should be loop %d"
+	.align 2
+.LC21:
+	.string	"loop %d%'s header is not a loop header"
+	.align 2
+.LC22:
+	.string	"loop %d%'s latch does not have an edge to its header"
+	.align 2
+.LC23:
+	.string	"loop %d%'s latch is not dominated by its header"
+	.align 2
+.LC24:
+	.string	"loop %d%'s latch does not have exactly 1 successor"
+	.align 2
+.LC25:
+	.string	"loop %d%'s latch does not have header as successor"
+	.align 2
+.LC26:
+	.string	"loop %d%'s latch does not belong directly to it"
+	.align 2
+.LC27:
+	.string	"loop %d%'s header does not belong directly to it"
+	.align 2
+.LC28:
+	.string	"edge from %d to %d should be marked irreducible"
+	.align 2
+.LC29:
+	.string	"edge from %d to %d should not be marked irreducible"
+	.align 2
+.LC30:
+	.string	"corrupted head of the exits list of loop %d"
+	.align 2
+.LC31:
+	.string	"corrupted exits list of loop %d"
+	.align 2
+.LC32:
+	.string	"nonempty exits list of loop %d, but exits are not recorded"
+	.align 2
+.LC33:
+	.string	"exit %d->%d not recorded"
+	.align 2
 .LC34:
-	.string	"Disambiguating loop %d with multiple latches\n"
+	.string	"wrong list of exited loops for edge  %d->%d"
 	.align 2
 .LC35:
-	.string	"Found latch edge %d -> %d using profile information.\n"
+	.string	"too many loop exits recorded"
 	.align 2
 .LC36:
-	.string	"Found latch edge %d -> %d using iv structure.\n"
+	.string	"%d exits recorded for loop %d (having %d exits)"
 	.align 2
 .LC37:
-	.string	"Merged latch edges of loop %d\n"
+	.string	"loop with header %d not in loop tree"
+	.align 2
+.LC38:
+	.string	"loop %d%'s header does not have exactly 2 entries"
+	.align 2
+.LC39:
+	.string	"loop %d%'s latch is marked as part of irreducible region"
+	.align 2
+.LC40:
+	.string	"basic block %d should be marked irreducible"
+	.align 2
+.LC41:
+	.string	"basic block %d should not be marked irreducible"
 	.text
 	.align 1
-	.global	_Z40disambiguate_loops_with_multiple_latchesv
-	.type	_Z40disambiguate_loops_with_multiple_latchesv, @function
-_Z40disambiguate_loops_with_multiple_latchesv:
-.LFB921:
+	.global	_Z21verify_loop_structurev
+	.type	_Z21verify_loop_structurev, @function
+_Z21verify_loop_structurev:
+.LFB947:
 	.cfi_startproc
 	mov.l	r8,@-r15
 	.cfi_def_cfa_offset 4
-	mov	#0,r6
+	.cfi_offset 8, -4
 	mov.l	r9,@-r15
 	.cfi_def_cfa_offset 8
+	.cfi_offset 9, -8
 	mov.l	r10,@-r15
 	.cfi_def_cfa_offset 12
+	.cfi_offset 10, -12
 	mov.l	r11,@-r15
 	.cfi_def_cfa_offset 16
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
-	mov.l	.L1065,r1
-	add	#-56,r15
-	.cfi_def_cfa_offset 88
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
 	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_offset 9, -8
-	.cfi_offset 8, -4
-	.cfi_def_cfa_register 14
-	mov	r14,r4
-	mov	r14,r5
-	add	#32,r4
-	jsr	@r1
-	add	#52,r5
-	bra	.L1132
-	mov	r14,r1
-.L1055:
-	tst	r1,r1
-	bt	.L1131
-	bra	.L1021
-	nop
-.L1131:
-	mov.l	.L1106,r1
-	mov.l	@r1,r4
-	tst	r4,r4
-	bt	.L1022
-	mov.l	.L1107,r0
-	mov.l	.L1068,r5
-	jsr	@r0
-	mov.l	@r9,r6
-.L1022:
-	mov.l	.L1069,r2
-	mov.l	.L1070,r7
-	mov.l	@r2,r1
-	mov.l	@(8,r9),r5
-	mov.l	@(4,r1),r1
-	jsr	@r7
-	mov.l	@r1,r4
-	tst	r0,r0
-	bt.s	.L1061
-	mov	r0,r4
-	mov.l	.L1071,r0
-	jsr	@r0
-	nop
-.L1061:
-	mov.l	.L1101,r2
-	mov	r9,r1
-	add	#8,r1
-	mov.l	r1,@(16,r14)
-	jsr	@r2
-	mov	r1,r4
-	mov	r14,r7
-	add	#-8,r7
-	tst	r0,r0
-	bt.s	.L1122
-	mov.l	r0,@(56,r7)
-	mov.l	@(4,r0),r2
-	mov	#1,r1
-	cmp/hi	r1,r2
-	bf	.L1122
-	mov	r14,r13
-	mov	r14,r3
-	mov.l	r0,@(52,r7)
-	mov	#0,r10
-	mov	#0,r11
-	mov	#0,r1
-	mov	#0,r2
-	mov	#0,r8
-	mov	#0,r12
-	add	#44,r13
-	bra	.L1025
-	add	#40,r3
-.L1027:
-	mov.l	@(40,r14),r4
-	mov.l	@(32,r4),r5
-	mov.l	@(36,r4),r6
-	cmp/eq	r2,r6
-	bf.s	.Ldi9042
-	cmp/gt	r2,r6
-	cmp/hi	r1,r5
-.Ldi9042:
-	bf.s	.L1133
-	clrt
-	mov	r5,r1
-	mov	r6,r2
-	mov	r4,r8
-.L1133:
-	addc	r5,r10
-	addc	r6,r11
-	add	#1,r12
-.L1025:
-	mov.l	.L1085,r7
-	mov	r3,r6
-	mov.l	r1,@(8,r14)
-	mov	r13,r4
-	mov.l	r2,@(4,r14)
-	mov	r12,r5
-	jsr	@r7
-	mov.l	r3,@(12,r14)
-	tst	r0,r0
-	mov.l	@(8,r14),r1
-	mov.l	@(4,r14),r2
-	bf.s	.L1027
-	mov.l	@(12,r14),r3
-	mov	#9,r3
-	mov	#0,r4
-	cmp/eq	r4,r11
-	bf.s	.Ldi9075
-	cmp/gt	r4,r11
-	cmp/hi	r3,r10
-.Ldi9075:
-	bf.s	.L1028
-	mov	r10,r3
-	clrt
-	subc	r1,r3
-	mov	r11,r4
-	subc	r2,r4
-	mov	#-29,r1
-	mov	r3,r6
-	shld	r1,r6
-	mov	r4,r7
-	mov	#3,r1
-	shld	r1,r7
-	mov	#3,r5
-	mov	r3,r1
-	shld	r5,r1
-	mov	r6,r2
-	or	r7,r2
-	cmp/eq	r11,r2
-	bf.s	.Ldi9097
-	cmp/gt	r11,r2
-	cmp/hi	r10,r1
-.Ldi9097:
-	bt	.L1028
-	mov.l	.L1106,r7
-	mov.l	@r7,r4
-	tst	r4,r4
-	bt	.L1029
-	mov.l	@(4,r8),r1
-	mov.l	@r8,r2
-	mov.l	@(44,r1),r7
-	mov.l	.L1107,r1
-	mov.l	.L1076,r5
-	jsr	@r1
-	mov.l	@(44,r2),r6
-.L1029:
-	tst	r8,r8
-	bt	.L1028
-	bra	.L1024
-	nop
-.L1028:
-	mov.l	.L1077,r2
-	jsr	@r2
+	mov.l	r12,@-r15
+	.cfi_def_cfa_offset 20
+	.cfi_offset 12, -20
+	mov.l	r13,@-r15
+	.cfi_def_cfa_offset 24
+	.cfi_offset 13, -24
+	mov.l	r14,@-r15
+	.cfi_def_cfa_offset 28
+	.cfi_offset 14, -28
+	sts.l	pr,@-r15
+	.cfi_def_cfa_offset 32
+	.cfi_offset 17, -32
+	add	#-40,r15
+	.cfi_def_cfa_offset 72
+	mov.l	.L1227,r0
+	jsr	@r0
 	nop
-	tst	r0,r0
-	bf	.L1130
-	bra	.L1031
-	mov	r14,r11
-.L1130:
-.L1122:
-	bra	.L1024
-	mov	#0,r8
-.L1033:
-	mov.l	@(48,r11),r1
-	mov.l	.L1080,r7
-	mov.l	@r8,r5
-	jsr	@r7
-	mov.l	@r1,r6
-	tst	r0,r0
-	bt	.L1032
-	mov.l	@(48,r11),r8
-.L1032:
-	add	#1,r10
-.L1056:
-	mov.l	.L1085,r1
-	mov	r13,r4
-	mov	r10,r5
-	jsr	@r1
-	mov	r12,r6
-	tst	r0,r0
-	bf.s	.L1033
+	mov.l	r0,@(12,r15)
+	mov.l	.L1228,r0
+	jsr	@r0
 	mov	#1,r4
-	mov	r14,r13
-	mov	r14,r12
-	mov	r14,r11
-	mov	#0,r10
-	add	#44,r13
-	add	#40,r12
-	bra	.L1034
-	add	#-8,r11
-.L1036:
-	mov.l	@(48,r11),r1
-	mov.l	.L1080,r2
-	mov.l	@r1,r5
-	jsr	@r2
-	mov.l	@r8,r6
-	tst	r0,r0
-	bt.s	.L1058
-	add	#1,r10
-.L1034:
-	mov.l	.L1085,r7
-	mov	r13,r4
-	mov	r10,r5
-	jsr	@r7
-	mov	r12,r6
+	mov.l	r0,@(20,r15)
 	tst	r0,r0
-	bf.s	.L1036
+	bf.s	.L1081
 	mov	#1,r4
-	mov.l	.L1082,r1
-	mov	r14,r10
-	add	#20,r10
-	mov	r10,r2
-	mov.l	@(8,r9),r4
-	jsr	@r1
-	mov	#24,r13
-	bra	.L1037
-	mov.l	@r10,r10
-.L1042:
-	mov.l	@(20,r8),r1
-	mov.w	.L1083,r2
-	mul.l	r13,r1
-	sts	macl,r1
-	add	r10,r1
-	mov.l	@(52,r1),r1
-	mov.l	@r1,r12
-	mov.w	@r12,r1
-	extu.w	r1,r1
-	cmp/eq	r2,r1
-	bf	.L1038
-	mov.l	@(16,r12),r1
-	cmp/eq	r10,r1
-	bt	.L1038
-	mov.l	@(16,r1),r5
-	tst	r5,r5
-	bt	.L1038
-	mov.l	.L1084,r7
-	jsr	@r7
-	mov	r9,r4
-	tst	r0,r0
-	bt	.L1038
-	mov	#0,r11
-	bra	.L1039
+	mov.l	.L1229,r1
+	bra	.L1207
 	nop
-.L1041:
-	cmp/eq	r8,r1
-	bt	.L1125
-	mov.l	@(20,r1),r1
-	mul.l	r13,r1
-	sts	macl,r1
-	add	r10,r1
-	mov.l	@(52,r1),r1
+.L1081:
+	mov.l	.L1230,r1
+.L1207:
+	jsr	@r1
+	nop
+	mov.l	.L1231,r0
+	mov	#4,r5
+	jsr	@r0
+	mov.l	@(12,r15),r4
+	mov	#2,r1
+	mov.l	r1,@r0
+	mov.l	.L1232,r1
+	mov.l	.L1233,r10
+	mov	r1,r14
+	mov.l	@r1,r2
+	mov.l	r0,@(8,r15)
+	mov.l	@(4,r2),r2
+	mov.l	@r2,r3
+	mov.l	@(4,r2),r9
+	mov.l	@(28,r3),r8
+.L1083:
+	cmp/eq	r9,r8
+	bt	.L1212
+	mov.l	@(12,r8),r1
+	mov.l	r1,@(24,r15)
+.L1084:
+	mov.l	@(24,r15),r2
+	tst	r2,r2
+	bt	.L1213
+	mov.l	@r2,r1
+	mov.l	@(8,r15),r3
+	shll2	r1
+	mov.l	@(32,r2),r4
+	add	r3,r1
+	mov.l	@r1,r3
+	add	#1,r3
+	jsr	@r10
+	mov.l	r3,@r1
+	bra	.L1084
+	mov.l	r0,@(24,r15)
+.L1213:
+	bra	.L1083
+	mov.l	@(28,r8),r8
+.L1212:
+	mov.l	.L1250,r10
+	mov	r15,r4
+	mov.l	.L1267,r9
+	mov	r15,r5
+	mov.l	.L1270,r11
+	add	#32,r4
+	add	#24,r5
+	mov	#1,r6
+	jsr	@r10
+	mov	#0,r8
+	mov.l	@(24,r15),r1
+.L1346:
+	tst	r1,r1
+	bt	.L1214
+	mov.l	@r1,r5
+	mov.l	@(28,r1),r7
+	mov	r5,r0
+	mov.l	@(8,r15),r1
+	shll2	r0
+	mov.l	@(r0,r1),r6
+	cmp/eq	r6,r7
+	bt.s	.L1355
+	mov	r15,r4
+	mov.l	.L1237,r4
+	jsr	@r9
+	mov	#1,r8
+	mov	r15,r4
+.L1355:
+	mov	r15,r5
+	add	#32,r4
+	jsr	@r11
+	add	#24,r5
+	bra	.L1346
+	mov.l	@(24,r15),r1
+.L1214:
+	mov.l	@r14,r1
+	mov.l	.L1252,r11
+	mov.l	@(4,r1),r1
+	mov.l	.L1267,r9
 	mov.l	@r1,r1
+	mov.l	@(28,r1),r12
+.L1090:
+	mov.l	@r14,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(4,r1),r2
+	cmp/eq	r2,r12
+	bt	.L1215
+	jsr	@r11
+	mov	r12,r4
+	tst	r0,r0
+	bt	.L1091
+	mov.l	@(12,r12),r1
+	mov.l	@(8,r1),r1
 	cmp/eq	r12,r1
-	bt	.L1129
-.L1125:
-	bra	.L1039
-	add	#1,r11
-.L1129:
-	bra	.L1024
-	mov	#0,r8
-.L1039:
-	mov.l	.L1085,r1
-	mov	r14,r4
-	mov	r14,r6
-	add	#44,r4
-	mov	r11,r5
+	bt	.L1091
+	bra	.L1092
+	mov	#1,r8
+.L1091:
+	bra	.L1090
+	mov.l	@(28,r12),r12
+.L1215:
+	mov.l	.L1272,r13
+	jsr	@r13
+	mov.l	@(20,r1),r4
+	mov.l	.L1241,r1
+	mov	r0,r4
 	jsr	@r1
-	add	#40,r6
-	tst	r0,r0
-	bf.s	.L1041
-	mov.l	@(40,r14),r1
-.L1038:
-	mov.l	@(20,r10),r10
-.L1037:
-	tst	r10,r10
-	bf	.L1042
-	mov.l	.L1106,r2
-	mov.l	@r2,r4
+	mov	r0,r9
+	mov	r15,r4
+	mov	r15,r5
+	add	#32,r4
+	add	#24,r5
+	jsr	@r10
+	mov	#2,r6
+	mov.l	@(24,r15),r4
+.L1347:
 	tst	r4,r4
-	bt	.L1024
-	mov.l	@(4,r8),r1
-	mov.l	@r8,r2
-	mov.l	@(44,r1),r7
-	mov.l	.L1107,r1
-	mov.l	.L1088,r5
-	jsr	@r1
-	mov.l	@(44,r2),r6
-	bra	.L1024
-	nop
-.L1058:
-	mov	#0,r8
-.L1024:
-	mov.l	.L1089,r2
-	mov	r14,r4
+	bt	.L1216
+	mov.l	.L1242,r2
+	mov.l	.L1267,r12
 	jsr	@r2
-	add	#48,r4
-	tst	r8,r8
-	bt.s	.L1043
-	mov	r14,r13
-	mov.l	.L1109,r0
-	jsr	@r0
-	mov	r14,r11
-	mov.l	.L1110,r1
 	mov	#0,r10
-	mov.l	@(8,r9),r5
-	add	#40,r13
-	mov.l	r0,@r1
-	add	#-8,r11
-	mov.l	.L1092,r12
-	bra	.L1044
-	mov.l	r5,@(16,r14)
-.L1046:
-	mov.l	@(48,r11),r5
-	cmp/eq	r8,r5
-	bt	.L1045
-	mov.l	.L1110,r7
-	mov.l	.L1094,r1
-	jsr	@r1
-	mov.l	@r7,r4
-.L1045:
-	add	#1,r10
-.L1044:
-	mov	r10,r4
-	mov.l	@(16,r14),r5
-	jsr	@r12
-	mov	r13,r6
+	mov	r0,r11
+.L1095:
+	mov.l	@(24,r15),r1
+	mov.l	@(28,r1),r2
+	cmp/hs	r2,r10
+	bt.s	.L1217
+	mov	r10,r0
+	shll2	r0
+	mov.l	@(r0,r11),r13
+	mov	r1,r4
+	mov.l	.L1244,r3
+	mov	r13,r5
+	jsr	@r3
+	mov.l	r1,@r15
 	tst	r0,r0
-	bf.s	.L1046
-	mov	#0,r6
-	mov.l	.L1095,r0
-	mov.l	.L1096,r5
-	jsr	@r0
-	mov.l	@(8,r9),r4
-	mov.l	.L1110,r1
-	mov.l	@r1,r4
-	mov.l	.L1098,r1
+	bf.s	.L1096
+	mov.l	@r15,r1
+	mov.l	.L1245,r4
+	mov	#1,r8
+	mov.l	@(44,r13),r5
+	jsr	@r12
+	mov.l	@r1,r6
+.L1096:
+	mov.l	@(44,r13),r5
+	mov	#-5,r2
+	mov	#31,r6
+	mov	r5,r1
+	shld	r2,r1
+	shll2	r1
+	add	r9,r1
+	mov.l	@(12,r1),r7
+	and	r5,r6
+	neg	r6,r2
+	mov	r7,r0
+	shld	r2,r0
+	tst	#1,r0
+	bf.s	.L1097
+	mov	#1,r2
+	shld	r6,r2
+	or	r7,r2
+	mov.l	r2,@(12,r1)
+	mov.l	@(12,r13),r2
+	mov.l	@(24,r15),r1
+	cmp/eq	r1,r2
+	bt	.L1097
+	mov	#1,r8
+	mov.l	.L1246,r4
+	mov.l	@r2,r6
+	jsr	@r12
+	mov.l	@r1,r7
+.L1097:
+	bra	.L1095
+	add	#1,r10
+.L1217:
+	mov.l	.L1249,r1
 	jsr	@r1
-	mov	r0,r10
-	mov.l	@r10,r1
-	mov.l	.L1099,r0
-	jsr	@r0
-	mov.l	r1,@(8,r9)
-	mov.l	@(4,r10),r1
-	mov	r0,r4
-	mov.l	r1,@(8,r0)
-	mov.l	@r8,r1
-	mov.l	r1,@(12,r0)
-	mov.l	.L1100,r1
+	mov	r11,r4
+	mov.l	.L1270,r1
+	mov	r15,r4
+	mov	r15,r5
+	add	#32,r4
 	jsr	@r1
-	mov	r9,r5
-	bra	.L1061
+	add	#24,r5
+	bra	.L1347
+	mov.l	@(24,r15),r4
+.L1216:
+	mov.l	.L1249,r10
+	jsr	@r10
+	mov.l	@r9,r4
+	jsr	@r10
+	mov	r9,r4
+	mov.l	.L1250,r1
+	mov	r15,r4
+	mov.l	.L1271,r10
+	mov	r15,r5
+	mov.l	.L1252,r11
+	add	#32,r4
+	add	#24,r5
+	jsr	@r1
+	mov	#0,r6
+	mov.l	@(24,r15),r1
+.L1348:
+	tst	r1,r1
+	bf	.L1344
+	bra	.L1218
 	nop
-.L1043:
-	mov.l	.L1101,r2
-	jsr	@r2
-	mov.l	@(16,r14),r4
-	mov	r14,r1
-	add	#-8,r1
+.L1344:
+	mov.l	@r1,r9
+	jsr	@r11
+	mov.l	@(8,r1),r4
 	tst	r0,r0
-	bt.s	.L1048
-	mov.l	r0,@(52,r1)
-	mov.l	@(4,r0),r1
-	tst	r1,r1
-	bf.s	.L1049
-	mov	#1,r5
-.L1048:
-	mov.l	.L1102,r1
-	mov.l	.L1103,r4
-	mov.w	.L1104,r5
-	mov.l	.L1105,r6
+	bf.s	.L1101
+	mov	r9,r5
+	mov.l	.L1267,r1
+	mov.l	.L1254,r4
 	jsr	@r1
-	nop
-.L1049:
-	cmp/eq	r5,r1
-	bf	.L1050
-	mov.l	@(8,r0),r1
-	bra	.L1063
-	mov.l	@r1,r1
-.L1050:
-	mov.l	.L1106,r7
-	mov.l	@r7,r4
-	tst	r4,r4
-	bt	.L1052
-	mov.l	.L1107,r0
-	mov.l	.L1108,r5
-	jsr	@r0
-	mov.l	@r9,r6
-.L1052:
-	mov.l	.L1109,r0
-	mov.l	.L1110,r11
-	jsr	@r0
-	mov	r14,r13
-	mov	r14,r12
-	mov	r14,r10
-	mov.l	r0,@r11
-	mov	#0,r8
-	add	#44,r13
-	add	#40,r12
-	bra	.L1053
-	add	#-8,r10
-	.align 1
-.L1083:
-	.short	142
-.L1104:
-	.short	696
-.L1111:
-	.align 2
-.L1065:
-	.long	_ZL8fel_initP13loop_iteratorPP4loopj
-.L1106:
-	.long	dump_file
-.L1107:
-	.long	fprintf
-.L1068:
-	.long	.LC34
-.L1069:
-	.long	cfun
-.L1070:
-	.long	_Z9find_edgeP15basic_block_defS0_
-.L1071:
-	.long	_Z10split_edgeP8edge_def
+	mov	#1,r8
 .L1101:
-	.long	_ZL20get_loop_latch_edgesPK4loop.clone.27
-.L1085:
-	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
-.L1076:
-	.long	.LC35
-.L1077:
-	.long	_Z15current_ir_typev
-.L1080:
-	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
-.L1082:
-	.long	_Z14gsi_start_phisP15basic_block_def
-.L1084:
-	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
-.L1088:
-	.long	.LC36
-.L1089:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
-.L1109:
-	.long	_Z18pointer_set_createv
-.L1110:
-	.long	_ZL12mfb_reis_set
-.L1092:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L1094:
-	.long	_Z18pointer_set_insertP13pointer_set_tPKv
-.L1095:
-	.long	_Z20make_forwarder_blockP15basic_block_defPFbP8edge_defEPFvS0_E
-.L1096:
-	.long	_ZL25mfb_redirect_edges_in_setP8edge_def
-.L1098:
-	.long	_Z19pointer_set_destroyP13pointer_set_t
-.L1099:
-	.long	_Z10alloc_loopv
-.L1100:
-	.long	_Z8add_loopP4loopS0_
-.L1102:
-	.long	_Z11fancy_abortPKciS0_
-.L1103:
-	.long	.LC1
-.L1105:
-	.long	_ZZL17merge_latch_edgesP4loopE12__FUNCTION__
-.L1108:
-	.long	.LC37
-.L1054:
-	mov.l	.L1112,r1
-	mov.l	@r11,r4
-	jsr	@r1
-	mov.l	@(48,r10),r5
-.L1053:
-	mov.l	.L1113,r2
-	mov	r13,r4
-	mov	r8,r5
-	jsr	@r2
-	mov	r12,r6
+	jsr	@r10
+	mov	#1,r4
 	tst	r0,r0
-	bf.s	.L1054
-	add	#1,r8
-	mov.l	.L1114,r0
-	mov	#0,r6
-	mov.l	.L1115,r5
+	bt.s	.L1354
+	mov.l	@(24,r15),r1
+	mov.l	@(8,r1),r1
+	mov.l	@r1,r1
+	tst	r1,r1
+	bt	.L1332
+	mov.l	@(4,r1),r0
+	cmp/eq	#2,r0
+	bt	.L1102
+.L1332:
+	bra	.L1103
+	mov	r9,r5
+.L1102:
+	mov.l	@(24,r15),r1
+.L1354:
+	mov.l	@(12,r1),r4
+	tst	r4,r4
+	bt	.L1104
+	mov.l	.L1255,r0
 	jsr	@r0
-	mov.l	@(8,r9),r4
-	mov.l	.L1116,r1
-	mov.l	@r1,r4
-	mov.l	.L1117,r1
+	mov.l	@(8,r1),r5
+	tst	r0,r0
+	bf.s	.L1356
+	mov.l	@(24,r15),r1
+	mov.l	.L1267,r1
+	mov	r9,r5
+	mov.l	.L1257,r4
 	jsr	@r1
-	mov	r0,r8
-	mov.l	@(4,r8),r1
-	mov.l	r1,@(8,r9)
-	mov.l	@r8,r1
-.L1063:
-	mov.l	r1,@(12,r9)
-	mov	r14,r4
-	mov.l	.L1118,r1
+	mov	#1,r8
+	mov.l	@(24,r15),r1
+.L1356:
+	mov	#1,r4
+	mov.l	.L1258,r0
+	mov.l	@(12,r1),r5
+	jsr	@r0
+	mov.l	@(8,r1),r6
+	tst	r0,r0
+	bf.s	.L1104
+	mov	r9,r5
+	mov.l	.L1267,r1
+	mov.l	.L1260,r4
 	jsr	@r1
-	add	#44,r4
-.L1021:
-	mov.l	.L1119,r1
-	mov	r14,r4
-	mov	r14,r5
+	mov	#1,r8
+.L1104:
+	jsr	@r10
+	mov	#2,r4
+	tst	r0,r0
+	bt.s	.L1357
+	mov.l	@(24,r15),r1
+	mov.l	@(12,r1),r1
+	mov.l	@(4,r1),r1
+	tst	r1,r1
+	bt	.L1107
+	mov.l	@(4,r1),r0
+	cmp/eq	#1,r0
+	bt.s	.L1358
+	mov.l	@(24,r15),r1
+.L1107:
+	mov.l	.L1267,r1
+	mov	r9,r5
+	mov.l	.L1262,r4
+	jsr	@r1
+	mov	#1,r8
+	mov.l	@(24,r15),r1
+.L1358:
+	mov.l	@(12,r1),r2
+	mov.l	@(8,r1),r1
+	mov.l	@(4,r2),r2
+	mov.l	@(8,r2),r2
+	mov.l	@(4,r2),r2
+	cmp/eq	r1,r2
+	bt.s	.L1109
+	mov	r9,r5
+	mov.l	.L1267,r1
+	mov.l	.L1264,r4
+	jsr	@r1
+	mov	#1,r8
+.L1109:
+	mov.l	@(24,r15),r1
+	mov.l	@(12,r1),r2
+	mov.l	@(12,r2),r2
+	cmp/eq	r1,r2
+	bt.s	.L1357
+	mov	r9,r5
+	mov.l	.L1267,r1
+	mov.l	.L1266,r4
+	jsr	@r1
+	mov	#1,r8
+	mov.l	@(24,r15),r1
+.L1357:
+	mov.l	@(8,r1),r2
+	mov.l	@(12,r2),r2
+	cmp/eq	r1,r2
+	bt.s	.L1110
+	mov	r9,r5
+	mov.l	.L1267,r1
+	mov.l	.L1268,r4
+	jsr	@r1
+	mov	#1,r8
+.L1110:
+	jsr	@r10
+	mov	#4,r4
+	tst	r0,r0
+	bt	.L1165
+	mov.l	.L1269,r0
+	jsr	@r0
+	mov.l	@(24,r15),r4
+	mov.l	@(24,r0),r0
+	tst	#128,r0
+	bt	.L1165
+	bra	.L1112
+	mov	r9,r5
+.L1165:
+	mov.l	.L1270,r1
+	mov	r15,r4
+	mov	r15,r5
 	add	#32,r4
 	jsr	@r1
-	add	#52,r5
-	mov	r14,r1
-.L1132:
-	add	#-8,r1
-	mov.l	@(60,r1),r9
-	tst	r9,r9
-	bt	.L1064
-	bra	.L1055
-	mov.l	@(12,r9),r1
-.L1031:
-	add	#-8,r11
-	mov.l	@(56,r11),r1
-	mov	r14,r13
-	mov	r14,r12
-	mov.l	r1,@(52,r11)
-	mov	#1,r10
-	mov.l	@(8,r1),r8
-	add	#44,r13
-	bra	.L1056
-	add	#40,r12
-.L1064:
-	add	#56,r14
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r13
-	mov.l	@r15+,r12
-	mov.l	@r15+,r11
-	mov.l	@r15+,r10
-	mov.l	@r15+,r9
-	rts	
-	mov.l	@r15+,r8
-.L1120:
-	.align 2
-.L1112:
-	.long	_Z18pointer_set_insertP13pointer_set_tPKv
-.L1113:
-	.long	_ZNK3vecIP8edge_def7va_heap6vl_ptrE7iterateEjPS1_
-.L1114:
-	.long	_Z20make_forwarder_blockP15basic_block_defPFbP8edge_defEPFvS0_E
+	add	#24,r5
+	bra	.L1348
+	mov.l	@(24,r15),r1
+.L1218:
+	mov.l	.L1271,r0
+	jsr	@r0
+	mov	#4,r4
+	tst	r0,r0
+	bf	.L1341
+	bra	.L1114
+	nop
+.L1341:
+	mov.l	@r14,r1
+	mov.l	.L1272,r3
+	mov.l	@(4,r1),r1
+	mov.l	.L1273,r12
+	jsr	@r3
+	mov.l	@(20,r1),r4
+	mov.l	@r14,r1
+	mov	r0,r10
+	mov.l	@(4,r1),r1
+	mov.l	@r1,r1
+	mov.l	@(28,r1),r11
 .L1115:
-	.long	_ZL25mfb_redirect_edges_in_setP8edge_def
+	mov.l	@r14,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(4,r1),r1
+	cmp/eq	r1,r11
+	bt	.L1219
+	mov.l	@(40,r11),r0
+	tst	#4,r0
+	mov.l	@(44,r11),r0
+	bt.s	.L1116
+	mov	r0,r1
+	mov	#-5,r2
+	shld	r2,r1
+	shll2	r1
+	add	r10,r1
+	and	#31,r0
+	mov	#1,r3
+	mov.l	@(12,r1),r2
+	shld	r0,r3
+	bra	.L1208
+	or	r3,r2
+.L1274:
+	.align 2
+.L1227:
+	.long	_ZL15number_of_loopsv
+.L1228:
+	.long	_Z20dom_info_available_p13cdi_direction
+.L1229:
+	.long	_Z24calculate_dominance_info13cdi_direction
+.L1230:
+	.long	_Z17verify_dominators13cdi_direction
+.L1231:
+	.long	xcalloc
+.L1232:
+	.long	cfun
+.L1233:
+	.long	_ZL10loop_outerPK4loop.isra.13
+.L1250:
+	.long	_ZL8fel_initP13loop_iteratorPP4loopj
+.L1267:
+	.long	_Z5errorPKcz
+.L1270:
+	.long	_ZL8fel_nextP13loop_iteratorPP4loop
+.L1237:
+	.long	.LC18
+.L1252:
+	.long	_Z16bb_loop_header_pP15basic_block_def
+.L1272:
+	.long	_Z13sbitmap_allocj
+.L1241:
+	.long	_Z12bitmap_clearP17simple_bitmap_def
+.L1242:
+	.long	_Z13get_loop_bodyPK4loop
+.L1244:
+	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
+.L1245:
+	.long	.LC19
+.L1246:
+	.long	.LC20
+.L1249:
+	.long	free
+.L1271:
+	.long	_ZL23loops_state_satisfies_pj
+.L1254:
+	.long	.LC21
+.L1255:
+	.long	_Z9find_edgeP15basic_block_defS0_
+.L1257:
+	.long	.LC22
+.L1258:
+	.long	_Z14dominated_by_p13cdi_directionPK15basic_block_defS2_
+.L1260:
+	.long	.LC23
+.L1262:
+	.long	.LC24
+.L1264:
+	.long	.LC25
+.L1266:
+	.long	.LC26
+.L1268:
+	.long	.LC27
+.L1269:
+	.long	_Z15loop_latch_edgePK4loop
+.L1273:
+	.long	131072
 .L1116:
-	.long	_ZL12mfb_reis_set
-.L1117:
-	.long	_Z19pointer_set_destroyP13pointer_set_t
+	mov	#-5,r3
+	shld	r3,r1
+	and	#31,r0
+	mov	#1,r2
+	shld	r0,r2
+	shll2	r1
+	add	r10,r1
+	not	r2,r3
+	mov.l	@(12,r1),r2
+	and	r3,r2
+.L1208:
+	mov.l	r2,@(12,r1)
+	mov	r11,r1
+	add	#4,r1
+	mov.l	.L1280,r9
+	mov	#0,r13
+	mov.l	r1,@(4,r15)
 .L1118:
-	.long	_ZN3vecIP8edge_def7va_heap6vl_ptrE7releaseEv
+	mov	r15,r6
+	mov	r13,r4
+	mov.l	@(4,r15),r5
+	jsr	@r9
+	add	#28,r6
+	tst	r0,r0
+	bt.s	.L1220
+	mov.l	@(28,r15),r1
+	mov.l	@(24,r1),r0
+	tst	#128,r0
+	bt.s	.L1119
+	or	r12,r0
+	mov.l	r0,@(24,r1)
 .L1119:
-	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-	.cfi_endproc
-.LFE921:
-	.size	_Z40disambiguate_loops_with_multiple_latchesv, .-_Z40disambiguate_loops_with_multiple_latchesv
-	.section	.rodata.str1.4
-	.align 2
-.LC38:
-	.string	";; %d loops found\n"
-	.align 2
-.LC39:
-	.string	";; %d succs { "
-	.align 2
-.LC40:
-	.string	"%d "
-	.align 2
-.LC41:
-	.string	"}\n"
-	.text
-	.align 1
-	.global	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi
-	.type	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi, @function
-_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi:
-.LFB903:
-	.cfi_startproc
-	mov.l	r8,@-r15
-	.cfi_def_cfa_offset 4
-	mov	r4,r8
-	.cfi_offset 8, -4
-	mov.l	r9,@-r15
-	.cfi_def_cfa_offset 8
-	mov	r6,r9
-	.cfi_offset 9, -8
-	mov.l	r10,@-r15
-	.cfi_def_cfa_offset 12
-	mov.l	r11,@-r15
-	.cfi_def_cfa_offset 16
-	mov.l	r12,@-r15
-	.cfi_def_cfa_offset 20
-	mov.l	r13,@-r15
-	.cfi_def_cfa_offset 24
-	mov.l	r14,@-r15
-	.cfi_def_cfa_offset 28
-	mov.l	.L1149,r1
-	sts.l	pr,@-r15
-	.cfi_def_cfa_offset 32
+	bra	.L1118
+	add	#1,r13
+.L1220:
+	bra	.L1115
+	mov.l	@(28,r11),r11
+.L1219:
+	mov.l	.L1276,r0
+	mov.l	.L1277,r12
+	jsr	@r0
+	nop
+	mov.l	.L1278,r1
+	mov.w	.L1279,r13
 	mov.l	@r1,r1
-	add	#-20,r15
-	.cfi_def_cfa_offset 52
-	mov	r15,r14
-	.cfi_offset 17, -32
-	.cfi_offset 14, -28
-	.cfi_offset 13, -24
-	.cfi_offset 12, -20
-	.cfi_offset 11, -16
-	.cfi_offset 10, -12
-	.cfi_def_cfa_register 14
-	mov.l	@(16,r1),r1
+	mov.l	@(4,r1),r1
+	mov.l	@r1,r1
+	mov.l	@(28,r1),r9
+.L1122:
+	mov.l	@r14,r1
+	mov.l	@(4,r1),r1
+	mov.l	@(4,r1),r1
+	cmp/eq	r1,r9
+	bt	.L1221
+	mov.l	@(40,r9),r0
+	mov.l	@(44,r9),r5
+	tst	#4,r0
+	bt.s	.L1123
+	mov	r5,r1
+	mov	#-5,r2
+	shld	r2,r1
+	shll2	r1
+	add	r10,r1
+	mov.l	@(12,r1),r0
+	mov	#31,r1
+	and	r5,r1
+	neg	r1,r1
+	shld	r1,r0
+	tst	#1,r0
+	bf	.L1340
+	bra	.L1124
+	nop
+.L1340:
+	bra	.L1349
+	mov	r9,r1
+.L1123:
+	mov	#-5,r3
+	shld	r3,r1
+	shll2	r1
+	add	r10,r1
+	mov.l	@(12,r1),r0
+	mov	#31,r1
+	and	r5,r1
+	neg	r1,r1
+	shld	r1,r0
+	tst	#1,r0
+	bt	.L1125
+	bra	.L1126
+	nop
+.L1125:
+	mov	r9,r1
+.L1349:
+	add	#4,r1
+	mov.l	r1,@(4,r15)
+	mov	#0,r11
+.L1127:
+	mov.l	.L1280,r0
+	mov	r15,r6
+	mov	r11,r4
+	mov.l	@(4,r15),r5
+	jsr	@r0
+	add	#28,r6
+	tst	r0,r0
+	bt.s	.L1222
+	mov.l	@(28,r15),r1
+	mov.l	@(24,r1),r2
+	and	r12,r2
+	cmp/eq	r13,r2
+	bf	.L1128
+	mov.l	@r1,r2
+	mov.l	.L1281,r4
+	bra	.L1210
+	mov.l	@(4,r1),r1
+.L1128:
+	mov.l	.L1282,r3
+	cmp/eq	r3,r2
+	bf.s	.L1359
+	mov.l	@(28,r15),r2
+	mov.l	@r1,r2
+	mov.l	.L1283,r4
+	mov.l	@(4,r1),r1
+.L1210:
+	mov	#1,r8
+	mov.l	@(44,r1),r6
+	mov.l	.L1288,r1
+	jsr	@r1
+	mov.l	@(44,r2),r5
+	mov.l	@(28,r15),r2
+.L1359:
+	add	#1,r11
+	mov.l	.L1285,r3
+	mov.l	@(24,r2),r1
+	and	r3,r1
+	bra	.L1127
+	mov.l	r1,@(24,r2)
+.L1222:
+	bra	.L1122
+	mov.l	@(28,r9),r9
+.L1221:
+	mov.l	.L1286,r1
+	jsr	@r1
+	mov	r10,r4
+.L1114:
+	mov.l	.L1287,r1
+	mov	r15,r4
+	mov.l	.L1288,r9
+	mov	r15,r5
+	mov.l	.L1289,r10
+	add	#32,r4
+	add	#24,r5
+	jsr	@r1
+	mov	#0,r6
+	mov.l	@(24,r15),r3
+.L1351:
+	tst	r3,r3
+	bt.s	.L1223
+	mov	r3,r1
+	add	#64,r1
+	mov.l	@(32,r1),r2
+	tst	r2,r2
+	bt	.L1133
+	mov.l	@r2,r1
 	tst	r1,r1
 	bt.s	.L1134
-	mov.l	r5,@r14
-	tst	r4,r4
-	bt	.L1134
-	mov	r14,r11
-	mov.l	.L1143,r0
-	jsr	@r0
-	mov	r14,r10
+	mov	r2,r7
+.L1133:
+	mov.l	.L1290,r4
+	bra	.L1350
+	mov.l	@r3,r5
+.L1134:
+	mov.l	@(8,r2),r1
+	mov	#0,r0
+.L1136:
+	mov.l	@r1,r6
+	tst	r6,r6
+	bf.s	.L1138
+	cmp/eq	r7,r1
+.L1141:
+	cmp/eq	r2,r1
+	bt	.L1135
+	mov.l	@r3,r5
+	mov.l	.L1291,r4
+	bra	.L1211
+	nop
+.L1138:
+	bt.s	.L1141
 	mov	r0,r6
-	mov.l	.L1150,r0
-	mov.l	.L1145,r5
-	jsr	@r0
-	mov	r8,r4
-	mov.l	.L1146,r1
-	add	#16,r10
-	add	#4,r11
-	mov	r14,r13
-	mov	r10,r5
-	mov	r11,r4
-	mov	#1,r6
-	jsr	@r1
-	add	#-44,r13
-	mov.l	.L1147,r12
-	mov.l	.L1148,r10
-	bra	.L1157
-	mov.l	@(60,r13),r4
+	tst	#1,r0
+	bt.s	.L1137
+	add	#1,r6
+	mov.l	@(8,r7),r7
 .L1137:
-	mov	r8,r5
-	jsr	@r12
-	mov	r9,r7
-	mov	r14,r5
-	mov	r11,r4
+	mov	r6,r0
+	bra	.L1136
+	mov.l	@(8,r1),r1
+.L1211:
+.L1350:
+	jsr	@r9
+	mov	#1,r8
+.L1135:
 	jsr	@r10
-	add	#16,r5
-	mov.l	@(60,r13),r4
-.L1157:
-	tst	r4,r4
-	bf.s	.L1137
-	mov.l	@r14,r6
-	tst	r9,r9
-	bt	.L1134
-	mov	r14,r12
-	mov.l	.L1149,r13
-	mov.l	.L1150,r11
-	add	#-44,r12
-	mov.l	@r13,r1
+	mov	#8,r4
+	tst	r0,r0
+	bf.s	.L1142
+	mov.l	@(24,r15),r1
+	mov	r1,r2
+	add	#64,r2
+	mov.l	@(32,r2),r2
+	mov.l	@(8,r2),r3
+	cmp/eq	r2,r3
+	bt	.L1142
+	mov	#1,r8
+	mov.l	.L1292,r4
+	jsr	@r9
+	mov.l	@r1,r5
+.L1142:
+	mov.l	.L1293,r1
+	mov	r15,r4
+	mov	r15,r5
+	add	#32,r4
+	jsr	@r1
+	add	#24,r5
+	bra	.L1351
+	mov.l	@(24,r15),r3
+	.align 1
+.L1279:
+	.short	128
+.L1294:
+	.align 2
+.L1280:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L1276:
+	.long	_Z22mark_irreducible_loopsv
+.L1277:
+	.long	131200
+.L1278:
+	.long	cfun
+.L1281:
+	.long	.LC28
+.L1282:
+	.long	131072
+.L1283:
+	.long	.LC29
+.L1288:
+	.long	_Z5errorPKcz
+.L1285:
+	.long	-131073
+.L1286:
+	.long	free
+.L1287:
+	.long	_ZL8fel_initP13loop_iteratorPP4loopj
+.L1289:
+	.long	_ZL23loops_state_satisfies_pj
+.L1290:
+	.long	.LC30
+.L1291:
+	.long	.LC31
+.L1292:
+	.long	.LC32
+.L1293:
+	.long	_ZL8fel_nextP13loop_iteratorPP4loop
+.L1223:
+	mov.l	.L1295,r0
+	jsr	@r0
+	mov	#8,r4
+	tst	r0,r0
+	bf	.L1338
+	bra	.L1352
+	tst	r8,r8
+.L1338:
+	mov.l	@(12,r15),r6
+	mov	#0,r5
+	mov.l	.L1296,r0
+	shll2	r6
+	jsr	@r0
+	mov.l	@(8,r15),r4
+	mov.l	@r14,r1
+	mov	#0,r10
 	mov.l	@(4,r1),r1
 	mov.l	@r1,r1
-	bra	.L1138
 	mov.l	@(28,r1),r9
-.L1141:
-	mov.l	.L1151,r5
-	mov	#0,r10
-	jsr	@r11
-	mov.l	@(44,r9),r6
-	mov	r9,r1
-	add	#4,r1
-	bra	.L1139
-	mov.l	r1,@r14
-.L1140:
-	mov.l	@(56,r12),r1
-	mov	r8,r4
-	mov.l	.L1152,r5
-	mov.l	@(4,r1),r1
-	jsr	@r11
-	mov.l	@(44,r1),r6
-.L1139:
-	mov.l	.L1153,r1
-	mov	r14,r6
-	mov	r10,r4
-	mov.l	@r14,r5
+.L1145:
+	mov.l	.L1297,r2
+	mov.l	@r2,r1
+	mov.l	@(4,r1),r2
+	mov.l	@(4,r2),r2
+	cmp/eq	r2,r9
+	bt.s	.L1224
+	mov.l	@(16,r1),r1
+	mov.l	@(12,r9),r2
+	mov.l	@(12,r1),r1
+	cmp/eq	r1,r2
+	bt.s	.L1155
+	mov	r9,r2
+	add	#4,r2
+	mov.l	r2,@(16,r15)
+	mov	#0,r13
+.L1147:
+	mov.l	.L1298,r1
+	mov	r15,r6
+	mov	r13,r4
+	mov.l	@(16,r15),r5
 	jsr	@r1
-	add	#12,r6
+	add	#28,r6
 	tst	r0,r0
-	bf.s	.L1140
+	bt	.L1155
+	mov.l	@(28,r15),r11
+	mov.l	.L1299,r3
+	mov.l	@(12,r9),r4
+	jsr	@r3
+	mov.l	@(4,r11),r5
+	tst	r0,r0
+	bf	.L1148
+	mov.l	@r14,r1
+	mov	r11,r4
+	mov.l	@(16,r1),r1
+	mov.l	@(8,r1),r12
+	mov.l	.L1300,r1
+	mov.l	@r1,r0
+	jsr	@r0
 	add	#1,r10
-	mov.l	.L1154,r1
-	mov.l	.L1155,r4
+	mov	r0,r6
+	mov.l	.L1301,r0
+	mov	r11,r5
+	jsr	@r0
+	mov	r12,r4
+	tst	r0,r0
+	bf.s	.L1149
+	mov	r0,r11
+	mov.l	@(28,r15),r1
+	mov	#1,r8
+	mov.l	.L1302,r4
+	mov.l	@r1,r2
+	mov.l	@(4,r1),r1
+	mov.l	@(44,r1),r6
+	mov.l	.L1327,r1
 	jsr	@r1
-	mov	r8,r5
+	mov.l	@(44,r2),r5
+.L1149:
+	mov	#0,r12
+.L1150:
+	tst	r11,r11
+	bt	.L1225
+	add	#1,r12
+	bra	.L1150
+	mov.l	@(12,r11),r11
+.L1225:
+	mov.l	@(12,r9),r1
+	mov.l	r1,@(24,r15)
+	mov.l	@(28,r15),r1
+	mov.l	@(4,r1),r2
+	mov.l	r1,@(12,r15)
+	mov.l	@(12,r2),r11
+	mov.l	r2,@(4,r15)
+.L1167:
+	mov.l	@(24,r15),r3
+	cmp/eq	r11,r3
+	bt	.L1152
+	mov.l	@(32,r11),r4
+	mov.l	.L1328,r1
+	jsr	@r1
+	mov.l	r3,@r15
+	mov.l	@r15,r3
+	cmp/eq	r0,r3
+	bf.s	.L1153
+	mov.l	@(8,r15),r2
+.L1152:
+	tst	r12,r12
+	bt.s	.L1148
+	mov.l	@(12,r15),r2
+	mov	#1,r8
+	mov.l	@(4,r15),r3
+	mov.l	@r2,r1
+	mov.l	.L1305,r4
+	mov.l	@(44,r1),r5
+	mov.l	.L1327,r1
+	jsr	@r1
+	mov.l	@(44,r3),r6
+.L1148:
+	bra	.L1147
+	add	#1,r13
+.L1155:
+	bra	.L1145
 	mov.l	@(28,r9),r9
-.L1138:
-	mov.l	@r13,r1
-	mov.l	@(4,r1),r1
-	mov.l	@(4,r1),r1
-	cmp/eq	r1,r9
-	bf.s	.L1141
-	mov	r8,r4
-.L1134:
-	add	#20,r14
-	mov	r14,r15
+.L1224:
+	mov.l	.L1307,r0
+	jsr	@r0
+	mov.l	@(8,r1),r4
+	cmp/eq	r0,r10
+	bt	.L1157
+	mov.l	.L1327,r1
+	mov.l	.L1309,r4
+	jsr	@r1
+	mov	#1,r8
+.L1157:
+	mov.l	.L1310,r1
+	mov	r15,r4
+	mov.l	.L1327,r9
+	mov	r15,r5
+	mov.l	.L1312,r10
+	add	#32,r4
+	add	#24,r5
+	jsr	@r1
+	mov	#0,r6
+	mov.l	@(24,r15),r1
+.L1353:
+	tst	r1,r1
+	bt.s	.L1144
+	mov	r1,r2
+	add	#64,r2
+	mov.l	@(32,r2),r2
+	mov	#0,r5
+	mov.l	@(8,r2),r2
+.L1159:
+	mov.l	@r2,r3
+	tst	r3,r3
+	bt	.L1226
+	add	#1,r5
+	bra	.L1159
+	mov.l	@(8,r2),r2
+.L1226:
+	mov.l	@r1,r6
+	mov.l	@(8,r15),r3
+	mov	r6,r0
+	shll2	r0
+	mov.l	@(r0,r3),r7
+	cmp/eq	r7,r5
+	bt.s	.L1360
+	mov	r15,r4
+	mov.l	.L1313,r4
+	jsr	@r9
+	mov	#1,r8
+	mov	r15,r4
+.L1360:
+	mov	r15,r5
+	add	#32,r4
+	jsr	@r10
+	add	#24,r5
+	bra	.L1353
+	mov.l	@(24,r15),r1
+.L1144:
+	tst	r8,r8
+.L1352:
+	bt	.L1163
+	mov.l	.L1314,r1
+	mov.l	.L1315,r4
+	mov.w	.L1316,r5
+	mov.l	.L1317,r6
+	jsr	@r1
+	nop
+.L1163:
+	mov.l	.L1318,r1
+	jsr	@r1
+	mov.l	@(8,r15),r4
+	mov.l	@(20,r15),r1
+	tst	r1,r1
+	bf	.L1080
+	mov.l	.L1319,r1
+	jsr	@r1
+	mov	#1,r4
+	bra	.L1080
+	nop
+.L1092:
+	mov.l	.L1320,r4
+	jsr	@r9
+	mov.l	@(44,r12),r5
+	bra	.L1091
+	nop
+.L1103:
+	mov.l	.L1327,r1
+	mov.l	.L1322,r4
+	jsr	@r1
+	mov	#1,r8
+	bra	.L1354
+	mov.l	@(24,r15),r1
+.L1112:
+	mov.l	.L1327,r1
+	mov.l	.L1324,r4
+	jsr	@r1
+	mov	#1,r8
+	bra	.L1165
+	nop
+.L1124:
+	mov.l	.L1325,r4
+	bra	.L1209
+	nop
+.L1126:
+	mov.l	.L1326,r4
+.L1209:
+	mov.l	.L1327,r1
+	jsr	@r1
+	mov	#1,r8
+	bra	.L1349
+	mov	r9,r1
+.L1153:
+	mov.l	@r3,r1
+	add	#-1,r12
+	shll2	r1
+	mov.l	@(32,r3),r4
+	add	r2,r1
+	mov.l	@r1,r7
+	mov.l	.L1328,r3
+	add	#1,r7
+	jsr	@r3
+	mov.l	r7,@r1
+	bra	.L1167
+	mov.l	r0,@(24,r15)
+.L1080:
+	add	#40,r15
+	.cfi_def_cfa_offset 32
 	lds.l	@r15+,pr
+	.cfi_restore 17
+	.cfi_def_cfa_offset 28
 	mov.l	@r15+,r14
+	.cfi_restore 14
+	.cfi_def_cfa_offset 24
 	mov.l	@r15+,r13
+	.cfi_restore 13
+	.cfi_def_cfa_offset 20
 	mov.l	@r15+,r12
+	.cfi_restore 12
+	.cfi_def_cfa_offset 16
 	mov.l	@r15+,r11
+	.cfi_restore 11
+	.cfi_def_cfa_offset 12
 	mov.l	@r15+,r10
+	.cfi_restore 10
+	.cfi_def_cfa_offset 8
 	mov.l	@r15+,r9
+	.cfi_restore 9
+	.cfi_def_cfa_offset 4
 	rts	
 	mov.l	@r15+,r8
-.L1156:
+	.cfi_def_cfa_offset 0
+	.cfi_restore 8
+	.align 1
+.L1316:
+	.short	1629
+.L1329:
 	.align 2
-.L1149:
+.L1295:
+	.long	_ZL23loops_state_satisfies_pj
+.L1296:
+	.long	memset
+.L1297:
 	.long	cfun
-.L1143:
-	.long	_ZL15number_of_loopsv
-.L1150:
-	.long	fprintf
-.L1145:
-	.long	.LC38
-.L1146:
+.L1298:
+	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
+.L1299:
+	.long	_Z21flow_bb_inside_loop_pPK4loopPK15basic_block_def
+.L1300:
+	.long	htab_hash_pointer
+.L1301:
+	.long	htab_find_with_hash
+.L1302:
+	.long	.LC33
+.L1327:
+	.long	_Z5errorPKcz
+.L1328:
+	.long	_ZL10loop_outerPK4loop.isra.13
+.L1305:
+	.long	.LC34
+.L1307:
+	.long	htab_elements
+.L1309:
+	.long	.LC35
+.L1310:
 	.long	_ZL8fel_initP13loop_iteratorPP4loopj
-.L1147:
-	.long	_Z14flow_loop_dumpPK4loopP7__sFILEPFvS1_S3_iEi
-.L1148:
+.L1312:
 	.long	_ZL8fel_nextP13loop_iteratorPP4loop
-.L1151:
+.L1313:
+	.long	.LC36
+.L1314:
+	.long	_Z11fancy_abortPKciS0_
+.L1315:
+	.long	.LC1
+.L1317:
+	.long	_ZZ21verify_loop_structurevE12__FUNCTION__
+.L1318:
+	.long	free
+.L1319:
+	.long	_Z19free_dominance_info13cdi_direction
+.L1320:
+	.long	.LC37
+.L1322:
+	.long	.LC38
+.L1324:
 	.long	.LC39
-.L1152:
+.L1325:
 	.long	.LC40
-.L1153:
-	.long	_ZL7ei_cond13edge_iteratorPP8edge_def
-.L1154:
-	.long	fputs
-.L1155:
+.L1326:
 	.long	.LC41
 	.cfi_endproc
-.LFE903:
-	.size	_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi, .-_Z15flow_loops_dumpP7__sFILEPFvPK4loopS0_iEi
+.LFE947:
+	.size	_Z21verify_loop_structurev, .-_Z21verify_loop_structurev
 	.section	.rodata
 	.align 2
 	.type	_ZZ19loop_preheader_edgePK4loopE12__FUNCTION__, @object
@@ -8219,8 +7042,6 @@
 	.size	_ZZ13get_loop_bodyPK4loopE12__FUNCTION__, 14
 _ZZ13get_loop_bodyPK4loopE12__FUNCTION__:
 	.string	"get_loop_body"
-	.local	_ZL12mfb_reis_set
-	.comm	_ZL12mfb_reis_set,4,4
 	.align 2
 	.type	_ZZL17merge_latch_edgesP4loopE12__FUNCTION__, @object
 	.size	_ZZL17merge_latch_edgesP4loopE12__FUNCTION__, 18
@@ -8236,4 +7057,6 @@
 	.size	_ZZ18superloop_at_depthP4loopjE12__FUNCTION__, 19
 _ZZ18superloop_at_depthP4loopjE12__FUNCTION__:
 	.string	"superloop_at_depth"
-	.ident	"GCC: (NetBSD nb1 20140527) 4.5.4"
+	.local	_ZL12mfb_reis_set
+	.comm	_ZL12mfb_reis_set,4,4
+	.ident	"GCC: (NetBSD nb1 20140527) 4.8.4 20141009 (prerelease)"
