A8.6.92 MCR (Encoding A1): if coproc == '101x' then SEE "Advanced SIMD and VFP"
[llvm/stm8.git] / test / Transforms / SimplifyCFG / 2005-08-03-PHIFactorCrash.ll
blob477c9c9e3a0215c82076d1f650866267a494830c
1 ; RUN: opt < %s -simplifycfg -disable-output
2 ; END.
4         %arraytype.1.Char = type { i32, [0 x i8] }
5         %arraytype.4.Signed = type { i32, [0 x i32] }
6         %functiontype.23 = type %structtype.Task* (%structtype.Task*, %structtype.Packet*, %structtype.FailedRun*)
7         %functiontype.27 = type %structtype.object* ()
8         %functiontype.28 = type i1 (%structtype.object*, %structtype.object_vtable*)
9         %functiontype.39 = type i32 (%structtype.listiter*)
10         %opaquetype.RuntimeTypeInfo = type i8* (i8*)
11         %structtype.AssertionError_vtable = type { %structtype.FailedRun_vtable }
12         %structtype.DeviceTask = type { %structtype.Task }
13         %structtype.FailedRun = type { %structtype.object }
14         %structtype.FailedRun_vtable = type { %structtype.object_vtable }
15         %structtype.Packet = type { %structtype.object, %structtype.list.1*, i32, i32, i32, %structtype.Packet* }
16         %structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, i32, %structtype.Packet*, %structtype.Task*, i32 }
17         %structtype.TaskState = type { %structtype.object, i1, i1, i1 }
18         %structtype.list.1 = type { %arraytype.4.Signed* }
19         %structtype.listiter = type { %structtype.list.1*, i32 }
20         %structtype.object = type { %structtype.object_vtable* }
21         %structtype.object_vtable = type { %structtype.object_vtable*, %opaquetype.RuntimeTypeInfo*, %arraytype.1.Char*, %functiontype.27* }
22 @structinstance.59 = external global %structtype.AssertionError_vtable          ; <%structtype.AssertionError_vtable*> [#uses=0]
24 declare fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr()
26 declare fastcc void @ll_listnext__listiterPtr()
28 define fastcc void @WorkTask.fn() {
29 block0:
30         br label %block1
31 block1:         ; preds = %block0
32         %v2542 = call fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr( )           ; <i1> [#uses=1]
33         br i1 %v2542, label %block4, label %block2
34 block2:         ; preds = %block1
35         br label %block3
36 block3:         ; preds = %block2
37         unwind
38 block4:         ; preds = %block1
39         br label %block5
40 block5:         ; preds = %block4
41         %v2565 = icmp eq %structtype.Packet* null, null         ; <i1> [#uses=1]
42         br i1 %v2565, label %block15, label %block6
43 block6:         ; preds = %block5
44         %self_2575 = phi %structtype.DeviceTask* [ null, %block5 ]              ; <%structtype.DeviceTask*> [#uses=1]
45         br i1 false, label %block14, label %block7
46 block7:         ; preds = %block14, %block6
47         %self_2635 = phi %structtype.DeviceTask* [ %self_2575, %block6 ], [ null, %block14 ]            ; <%structtype.DeviceTask*> [#uses=1]
48         %tmp.124 = getelementptr %structtype.Packet* null, i32 0, i32 2         ; <i32*> [#uses=0]
49         br label %block8
50 block8:         ; preds = %block10, %block7
51         %self_2672 = phi %structtype.DeviceTask* [ %self_2635, %block7 ], [ null, %block10 ]            ; <%structtype.DeviceTask*> [#uses=0]
52         invoke fastcc void @ll_listnext__listiterPtr( )
53                         to label %block9 unwind label %block8_exception_handling
54 block8_exception_handling:              ; preds = %block8
55         br i1 false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10
56 block8_not_exception_structinstance.10:         ; preds = %block8_exception_handling
57         unwind
58 block8_exception_found_branchto_block12:                ; preds = %block8_exception_handling
59         br label %block12
60 block9:         ; preds = %block8
61         br i1 false, label %block11, label %block10
62 block10:                ; preds = %block11, %block9
63         br label %block8
64 block11:                ; preds = %block9
65         br label %block10
66 block12:                ; preds = %block8_exception_found_branchto_block12
67         br label %block13
68 block13:                ; preds = %block15, %block12
69         ret void
70 block14:                ; preds = %block6
71         br label %block7
72 block15:                ; preds = %block5
73         %v2586 = phi %structtype.DeviceTask* [ null, %block5 ]          ; <%structtype.DeviceTask*> [#uses=0]
74         br label %block13