; RUN: opt < %s -simplifycfg -disable-output
; END.

	%arraytype.1.Char = type { i32, [0 x i8] }
	%arraytype.4.Signed = type { i32, [0 x i32] }
	%functiontype.23 = type %structtype.Task* (%structtype.Task*, %structtype.Packet*, %structtype.FailedRun*)
	%functiontype.27 = type %structtype.object* ()
	%functiontype.28 = type i1 (%structtype.object*, %structtype.object_vtable*)
	%functiontype.39 = type i32 (%structtype.listiter*)
	%opaquetype.RuntimeTypeInfo = type i8* (i8*)
	%structtype.AssertionError_vtable = type { %structtype.FailedRun_vtable }
	%structtype.DeviceTask = type { %structtype.Task }
	%structtype.FailedRun = type { %structtype.object }
	%structtype.FailedRun_vtable = type { %structtype.object_vtable }
	%structtype.Packet = type { %structtype.object, %structtype.list.1*, i32, i32, i32, %structtype.Packet* }
	%structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, i32, %structtype.Packet*, %structtype.Task*, i32 }
	%structtype.TaskState = type { %structtype.object, i1, i1, i1 }
	%structtype.list.1 = type { %arraytype.4.Signed* }
	%structtype.listiter = type { %structtype.list.1*, i32 }
	%structtype.object = type { %structtype.object_vtable* }
	%structtype.object_vtable = type { %structtype.object_vtable*, %opaquetype.RuntimeTypeInfo*, %arraytype.1.Char*, %functiontype.27* }
@structinstance.59 = external global %structtype.AssertionError_vtable		; <%structtype.AssertionError_vtable*> [#uses=0]

declare fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr()

declare fastcc void @ll_listnext__listiterPtr()

define fastcc void @WorkTask.fn() {
block0:
	br label %block1
block1:		; preds = %block0
	%v2542 = call fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr( )		; <i1> [#uses=1]
	br i1 %v2542, label %block4, label %block2
block2:		; preds = %block1
	br label %block3
block3:		; preds = %block2
	unwind
block4:		; preds = %block1
	br label %block5
block5:		; preds = %block4
	%v2565 = icmp eq %structtype.Packet* null, null		; <i1> [#uses=1]
	br i1 %v2565, label %block15, label %block6
block6:		; preds = %block5
	%self_2575 = phi %structtype.DeviceTask* [ null, %block5 ]		; <%structtype.DeviceTask*> [#uses=1]
	br i1 false, label %block14, label %block7
block7:		; preds = %block14, %block6
	%self_2635 = phi %structtype.DeviceTask* [ %self_2575, %block6 ], [ null, %block14 ]		; <%structtype.DeviceTask*> [#uses=1]
	%tmp.124 = getelementptr %structtype.Packet* null, i32 0, i32 2		; <i32*> [#uses=0]
	br label %block8
block8:		; preds = %block10, %block7
	%self_2672 = phi %structtype.DeviceTask* [ %self_2635, %block7 ], [ null, %block10 ]		; <%structtype.DeviceTask*> [#uses=0]
	invoke fastcc void @ll_listnext__listiterPtr( )
			to label %block9 unwind label %block8_exception_handling
block8_exception_handling:		; preds = %block8
	br i1 false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10
block8_not_exception_structinstance.10:		; preds = %block8_exception_handling
	unwind
block8_exception_found_branchto_block12:		; preds = %block8_exception_handling
	br label %block12
block9:		; preds = %block8
	br i1 false, label %block11, label %block10
block10:		; preds = %block11, %block9
	br label %block8
block11:		; preds = %block9
	br label %block10
block12:		; preds = %block8_exception_found_branchto_block12
	br label %block13
block13:		; preds = %block15, %block12
	ret void
block14:		; preds = %block6
	br label %block7
block15:		; preds = %block5
	%v2586 = phi %structtype.DeviceTask* [ null, %block5 ]		; <%structtype.DeviceTask*> [#uses=0]
	br label %block13
}
