xref: /aosp_15_r20/external/llvm/test/Transforms/LCSSA/invoke-dest.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -lcssa
2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -passes=lcssa
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@.str12 = external constant [3 x i8], align 1		; <[3 x i8]*> [#uses=1]
7*9880d681SAndroid Build Coastguard Worker@.str17175 = external constant [4 x i8], align 1		; <[4 x i8]*> [#uses=1]
8*9880d681SAndroid Build Coastguard Worker@.str21179 = external constant [12 x i8], align 1		; <[12 x i8]*> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker@.str25183 = external constant [10 x i8], align 1		; <[10 x i8]*> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker@.str32190 = external constant [92 x i8], align 1		; <[92 x i8]*> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker@.str41 = external constant [25 x i8], align 1		; <[25 x i8]*> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerdefine void @_ZN8EtherBus10initializeEv() personality i32 (...)* @__gxx_personality_v0 {
14*9880d681SAndroid Build Coastguard Workerentry:
15*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %_ZN7cObjectnwEj.exit, label %bb.i
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerbb.i:		; preds = %entry
18*9880d681SAndroid Build Coastguard Worker	br label %_ZN7cObjectnwEj.exit
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker_ZN7cObjectnwEj.exit:		; preds = %bb.i, %entry
21*9880d681SAndroid Build Coastguard Worker	invoke void @_ZN7cObjectC2EPKc(i8* undef, i8* getelementptr ([12 x i8], [12 x i8]* @.str21179, i32 0, i32 0))
22*9880d681SAndroid Build Coastguard Worker			to label %bb1 unwind label %lpad
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workerbb1:		; preds = %_ZN7cObjectnwEj.exit
25*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %_ZNK5cGate4sizeEv.exit, label %bb.i110
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerbb.i110:		; preds = %bb1
28*9880d681SAndroid Build Coastguard Worker	br label %_ZNK5cGate4sizeEv.exit
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker_ZNK5cGate4sizeEv.exit:		; preds = %bb.i110, %bb1
31*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %_ZNK5cGate4sizeEv.exit122, label %bb.i120
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerbb.i120:		; preds = %_ZNK5cGate4sizeEv.exit
34*9880d681SAndroid Build Coastguard Worker	br label %_ZNK5cGate4sizeEv.exit122
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker_ZNK5cGate4sizeEv.exit122:		; preds = %bb.i120, %_ZNK5cGate4sizeEv.exit
37*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %bb8, label %bb2
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerbb2:		; preds = %_ZNK5cGate4sizeEv.exit122
40*9880d681SAndroid Build Coastguard Worker	unreachable
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerbb8:		; preds = %_ZNK5cGate4sizeEv.exit122
43*9880d681SAndroid Build Coastguard Worker	%tmp = invoke i8* @_ZN7cModule3parEPKc(i8* undef, i8* getelementptr ([10 x i8], [10 x i8]* @.str25183, i32 0, i32 0))
44*9880d681SAndroid Build Coastguard Worker			to label %invcont9 unwind label %lpad119		; <i8*> [#uses=1]
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Workerinvcont9:		; preds = %bb8
47*9880d681SAndroid Build Coastguard Worker	%tmp1 = invoke i8* @_ZN4cPar11stringValueEv(i8* %tmp)
48*9880d681SAndroid Build Coastguard Worker			to label %invcont10 unwind label %lpad119		; <i8*> [#uses=1]
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Workerinvcont10:		; preds = %invcont9
51*9880d681SAndroid Build Coastguard Worker	invoke void @_ZN8EtherBus8tokenizeEPKcRSt6vectorIdSaIdEE(i8* null, i8* %tmp1, i8* undef)
52*9880d681SAndroid Build Coastguard Worker			to label %invcont11 unwind label %lpad119
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Workerinvcont11:		; preds = %invcont10
55*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %bb12, label %bb18
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Workerbb12:		; preds = %invcont11
58*9880d681SAndroid Build Coastguard Worker	invoke void (i8*, i8*, ...) @_ZN6cEnvir6printfEPKcz(i8* null, i8* getelementptr ([3 x i8], [3 x i8]* @.str12, i32 0, i32 0), i32 undef)
59*9880d681SAndroid Build Coastguard Worker			to label %bb.i.i159 unwind label %lpad119
60*9880d681SAndroid Build Coastguard Worker
61*9880d681SAndroid Build Coastguard Workerbb.i.i159:		; preds = %bb12
62*9880d681SAndroid Build Coastguard Worker	unreachable
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Workerbb18:		; preds = %invcont11
65*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %bb32, label %bb34
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Workerbb32:		; preds = %bb18
68*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %bb.i.i123, label %bb34
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Workerbb.i.i123:		; preds = %bb32
71*9880d681SAndroid Build Coastguard Worker	br label %bb34
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard Workerbb34:		; preds = %bb.i.i123, %bb32, %bb18
74*9880d681SAndroid Build Coastguard Worker	%tmp2 = invoke i8* @_Znaj(i32 undef)
75*9880d681SAndroid Build Coastguard Worker			to label %invcont35 unwind label %lpad119		; <i8*> [#uses=0]
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Workerinvcont35:		; preds = %bb34
78*9880d681SAndroid Build Coastguard Worker	br i1 undef, label %bb49, label %bb61
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Workerbb49:		; preds = %invcont35
81*9880d681SAndroid Build Coastguard Worker	invoke void (i8*, i8*, ...) @_ZNK13cSimpleModule5errorEPKcz(i8* undef, i8* getelementptr ([92 x i8], [92 x i8]* @.str32190, i32 0, i32 0))
82*9880d681SAndroid Build Coastguard Worker			to label %bb51 unwind label %lpad119
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerbb51:		; preds = %bb49
85*9880d681SAndroid Build Coastguard Worker	unreachable
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerbb61:		; preds = %invcont35
88*9880d681SAndroid Build Coastguard Worker	br label %bb106
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Worker.noexc:		; preds = %bb106
91*9880d681SAndroid Build Coastguard Worker	invoke void @_ZN7cObjectC2EPKc(i8* undef, i8* getelementptr ([25 x i8], [25 x i8]* @.str41, i32 0, i32 0))
92*9880d681SAndroid Build Coastguard Worker			to label %bb102 unwind label %lpad123
93*9880d681SAndroid Build Coastguard Worker
94*9880d681SAndroid Build Coastguard Workerbb102:		; preds = %.noexc
95*9880d681SAndroid Build Coastguard Worker	invoke void undef(i8* undef, i8 zeroext 1)
96*9880d681SAndroid Build Coastguard Worker			to label %invcont103 unwind label %lpad119
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Workerinvcont103:		; preds = %bb102
99*9880d681SAndroid Build Coastguard Worker	invoke void undef(i8* undef, double 1.000000e+07)
100*9880d681SAndroid Build Coastguard Worker			to label %invcont104 unwind label %lpad119
101*9880d681SAndroid Build Coastguard Worker
102*9880d681SAndroid Build Coastguard Workerinvcont104:		; preds = %invcont103
103*9880d681SAndroid Build Coastguard Worker	%tmp3 = invoke i32 @_ZN13cSimpleModule11sendDelayedEP8cMessagedPKci(i8* undef, i8* undef, double 0.000000e+00, i8* getelementptr ([4 x i8], [4 x i8]* @.str17175, i32 0, i32 0), i32 undef)
104*9880d681SAndroid Build Coastguard Worker			to label %invcont105 unwind label %lpad119		; <i32> [#uses=0]
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Workerinvcont105:		; preds = %invcont104
107*9880d681SAndroid Build Coastguard Worker	br label %bb106
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Workerbb106:		; preds = %invcont105, %bb61
110*9880d681SAndroid Build Coastguard Worker	%tmp4 = invoke i8* @_Znaj(i32 124)
111*9880d681SAndroid Build Coastguard Worker			to label %.noexc unwind label %lpad119		; <i8*> [#uses=1]
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Workerlpad:		; preds = %_ZN7cObjectnwEj.exit
114*9880d681SAndroid Build Coastguard Worker        %exn = landingpad {i8*, i32}
115*9880d681SAndroid Build Coastguard Worker                 cleanup
116*9880d681SAndroid Build Coastguard Worker	br label %Unwind
117*9880d681SAndroid Build Coastguard Worker
118*9880d681SAndroid Build Coastguard Workerlpad119:		; preds = %bb106, %invcont104, %invcont103, %bb102, %bb49, %bb34, %bb12, %invcont10, %invcont9, %bb8
119*9880d681SAndroid Build Coastguard Worker        %exn119 = landingpad {i8*, i32}
120*9880d681SAndroid Build Coastguard Worker                 cleanup
121*9880d681SAndroid Build Coastguard Worker	unreachable
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Workerlpad123:		; preds = %.noexc
124*9880d681SAndroid Build Coastguard Worker        %exn123 = landingpad {i8*, i32}
125*9880d681SAndroid Build Coastguard Worker                 cleanup
126*9880d681SAndroid Build Coastguard Worker	%tmp5 = icmp eq i8* %tmp4, null		; <i1> [#uses=1]
127*9880d681SAndroid Build Coastguard Worker	br i1 %tmp5, label %Unwind, label %bb.i2
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Workerbb.i2:		; preds = %lpad123
130*9880d681SAndroid Build Coastguard Worker	br label %Unwind
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard WorkerUnwind:		; preds = %bb.i2, %lpad123, %lpad
133*9880d681SAndroid Build Coastguard Worker	unreachable
134*9880d681SAndroid Build Coastguard Worker}
135*9880d681SAndroid Build Coastguard Worker
136*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...)
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN8EtherBus8tokenizeEPKcRSt6vectorIdSaIdEE(i8* nocapture, i8*, i8*)
139*9880d681SAndroid Build Coastguard Worker
140*9880d681SAndroid Build Coastguard Workerdeclare i8* @_Znaj(i32)
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN6cEnvir6printfEPKcz(i8* nocapture, i8* nocapture, ...)
143*9880d681SAndroid Build Coastguard Worker
144*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNK13cSimpleModule5errorEPKcz(i8* nocapture, i8* nocapture, ...) noreturn
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerdeclare i8* @_ZN7cModule3parEPKc(i8*, i8*)
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Workerdeclare i32 @_ZN13cSimpleModule11sendDelayedEP8cMessagedPKci(i8*, i8*, double, i8*, i32)
149*9880d681SAndroid Build Coastguard Worker
150*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN7cObjectC2EPKc(i8*, i8*)
151*9880d681SAndroid Build Coastguard Worker
152*9880d681SAndroid Build Coastguard Workerdeclare i8* @_ZN4cPar11stringValueEv(i8*)
153