1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2024-12-28 19:31:58 +00:00
llvm-6502/test/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll
Dan Gohman f2f6ce65b7 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 18:01:28 +00:00

76 lines
3.5 KiB
LLVM

; 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
}