xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2009-11-25-ImpDefBug.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu
2*9880d681SAndroid Build Coastguard Worker; pr5600
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker%struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t }
5*9880d681SAndroid Build Coastguard Worker%struct.ASN1ObjHeader = type { i8, %"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>", i64, i32, i32, i32 }
6*9880d681SAndroid Build Coastguard Worker%struct.ASN1Object = type { i32 (...)**, i32, i32, i64 }
7*9880d681SAndroid Build Coastguard Worker%struct.ASN1Unit = type { [4 x i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)*], %"struct.std::ASN1ObjList" }
8*9880d681SAndroid Build Coastguard Worker%"struct.__gmp_expr<__mpz_struct [1],__mpz_struct [1]>" = type { [1 x %struct.__mpz_struct] }
9*9880d681SAndroid Build Coastguard Worker%struct.__mpz_struct = type { i32, i32, i64* }
10*9880d681SAndroid Build Coastguard Worker%struct.__pthread_list_t = type { %struct.__pthread_list_t*, %struct.__pthread_list_t* }
11*9880d681SAndroid Build Coastguard Worker%struct.pthread_attr_t = type { i64, [48 x i8] }
12*9880d681SAndroid Build Coastguard Worker%struct.pthread_mutex_t = type { %struct..0__pthread_mutex_s }
13*9880d681SAndroid Build Coastguard Worker%struct.pthread_mutexattr_t = type { i32 }
14*9880d681SAndroid Build Coastguard Worker%"struct.std::ASN1ObjList" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" }
15*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >" = type { %"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" }
16*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<ASN1Object*,std::allocator<ASN1Object*> >::_Vector_impl" = type { %struct.ASN1Object**, %struct.ASN1Object**, %struct.ASN1Object** }
17*9880d681SAndroid Build Coastguard Worker%struct.xmstream = type { i8*, i64, i64, i64, i8 }
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* nocapture, i64, %struct.ASN1Object** nocapture)
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerdeclare i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(%struct.xmstream*, %struct.ASN1Object**, i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)**)
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Workerdefine i32 @_ZN8ASN1Unit4loadER8xmstreamjm18ASN1LengthEncoding(%struct.ASN1Unit* %this, %struct.xmstream* nocapture %stream, i32 %numObjects, i64 %size, i32 %lEncoding) personality i32 (...)* @__gxx_personality_v0 {
24*9880d681SAndroid Build Coastguard Workerentry:
25*9880d681SAndroid Build Coastguard Worker  br label %meshBB85
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerbb5:                                              ; preds = %bb13.fragment.cl135, %bb13.fragment.cl, %bb.i.i.bbcl.disp, %bb13.fragment
28*9880d681SAndroid Build Coastguard Worker  %0 = invoke i32 @_Z17LoadObjectFromBERR8xmstreamPP10ASN1ObjectPPF10ASN1StatusP13ASN1ObjHeaderS3_E(%struct.xmstream* undef, %struct.ASN1Object** undef, i32 (%struct.ASN1ObjHeader*, %struct.ASN1Object**)** undef)
29*9880d681SAndroid Build Coastguard Worker          to label %meshBB81.bbcl.disp unwind label %lpad ; <i32> [#uses=0]
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerbb10.fragment:                                    ; preds = %bb13.fragment.bbcl.disp
32*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb1.i.fragment.bbcl.disp, label %bb.i.i.bbcl.disp
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Workerbb1.i.fragment:                                   ; preds = %bb1.i.fragment.bbcl.disp
35*9880d681SAndroid Build Coastguard Worker  invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* undef, i64 undef, %struct.ASN1Object** undef)
36*9880d681SAndroid Build Coastguard Worker          to label %meshBB81.bbcl.disp unwind label %lpad
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Workerbb13.fragment:                                    ; preds = %bb13.fragment.bbcl.disp
39*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb5
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Workerbb.i4:                                            ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp
42*9880d681SAndroid Build Coastguard Worker  ret i32 undef
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Workerbb1.i5:                                           ; preds = %bb.i1
45*9880d681SAndroid Build Coastguard Worker  ret i32 undef
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Workerlpad:                                             ; preds = %bb1.i.fragment.cl, %bb1.i.fragment, %bb5
48*9880d681SAndroid Build Coastguard Worker  %.SV10.phi807 = phi i8* [ undef, %bb1.i.fragment.cl ], [ undef, %bb1.i.fragment ], [ undef, %bb5 ] ; <i8*> [#uses=1]
49*9880d681SAndroid Build Coastguard Worker  %exn = landingpad {i8*, i32}
50*9880d681SAndroid Build Coastguard Worker            cleanup
51*9880d681SAndroid Build Coastguard Worker  %1 = load i8, i8* %.SV10.phi807, align 8            ; <i8> [#uses=0]
52*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Workerbb.i1:                                            ; preds = %bb.i.i.bbcl.disp
55*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb1.i5
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard WorkermeshBB81:                                         ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp
58*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard WorkermeshBB85:                                         ; preds = %meshBB81.bbcl.disp, %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp, %bb.i.i.bbcl.disp, %entry
61*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb13.fragment.bbcl.disp
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Workerbb.i.i.bbcl.disp:                                 ; preds = %bb10.fragment
64*9880d681SAndroid Build Coastguard Worker  switch i8 undef, label %meshBB85 [
65*9880d681SAndroid Build Coastguard Worker    i8 123, label %bb.i1
66*9880d681SAndroid Build Coastguard Worker    i8 97, label %bb5
67*9880d681SAndroid Build Coastguard Worker    i8 44, label %meshBB81
68*9880d681SAndroid Build Coastguard Worker    i8 1, label %meshBB81.cl
69*9880d681SAndroid Build Coastguard Worker    i8 51, label %meshBB81.cl141
70*9880d681SAndroid Build Coastguard Worker  ]
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Workerbb1.i.fragment.cl:                                ; preds = %bb1.i.fragment.bbcl.disp
73*9880d681SAndroid Build Coastguard Worker  invoke void @_ZNSt6vectorIP10ASN1ObjectSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_(%"struct.std::ASN1ObjList"* undef, i64 undef, %struct.ASN1Object** undef)
74*9880d681SAndroid Build Coastguard Worker          to label %meshBB81.bbcl.disp unwind label %lpad
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Workerbb1.i.fragment.bbcl.disp:                         ; preds = %bb10.fragment
77*9880d681SAndroid Build Coastguard Worker  switch i8 undef, label %bb.i4 [
78*9880d681SAndroid Build Coastguard Worker    i8 97, label %bb1.i.fragment
79*9880d681SAndroid Build Coastguard Worker    i8 7, label %bb1.i.fragment.cl
80*9880d681SAndroid Build Coastguard Worker    i8 35, label %bb.i4.cl
81*9880d681SAndroid Build Coastguard Worker    i8 77, label %meshBB85
82*9880d681SAndroid Build Coastguard Worker  ]
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerbb13.fragment.cl:                                 ; preds = %bb13.fragment.bbcl.disp
85*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb5
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workerbb13.fragment.cl135:                              ; preds = %bb13.fragment.bbcl.disp
88*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb5
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Workerbb13.fragment.bbcl.disp:                          ; preds = %meshBB85, %lpad
91*9880d681SAndroid Build Coastguard Worker  switch i8 undef, label %bb10.fragment [
92*9880d681SAndroid Build Coastguard Worker    i8 67, label %bb13.fragment.cl
93*9880d681SAndroid Build Coastguard Worker    i8 108, label %bb13.fragment
94*9880d681SAndroid Build Coastguard Worker    i8 58, label %bb13.fragment.cl135
95*9880d681SAndroid Build Coastguard Worker  ]
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Workerbb.i4.cl:                                         ; preds = %bb.i4.bbcl.disp, %bb1.i.fragment.bbcl.disp
98*9880d681SAndroid Build Coastguard Worker  ret i32 undef
99*9880d681SAndroid Build Coastguard Worker
100*9880d681SAndroid Build Coastguard Workerbb.i4.bbcl.disp:                                  ; preds = %meshBB81.cl141, %meshBB81.cl, %meshBB81
101*9880d681SAndroid Build Coastguard Worker  switch i8 undef, label %bb.i4 [
102*9880d681SAndroid Build Coastguard Worker    i8 35, label %bb.i4.cl
103*9880d681SAndroid Build Coastguard Worker    i8 77, label %meshBB85
104*9880d681SAndroid Build Coastguard Worker  ]
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard WorkermeshBB81.cl:                                      ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp
107*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard WorkermeshBB81.cl141:                                   ; preds = %meshBB81.bbcl.disp, %bb.i.i.bbcl.disp
110*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %meshBB81.bbcl.disp, label %bb.i4.bbcl.disp
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard WorkermeshBB81.bbcl.disp:                               ; preds = %meshBB81.cl141, %meshBB81.cl, %bb13.fragment.cl135, %bb13.fragment.cl, %bb1.i.fragment.cl, %meshBB85, %meshBB81, %bb.i1, %lpad, %bb13.fragment, %bb1.i.fragment, %bb5
113*9880d681SAndroid Build Coastguard Worker  switch i8 undef, label %meshBB85 [
114*9880d681SAndroid Build Coastguard Worker    i8 44, label %meshBB81
115*9880d681SAndroid Build Coastguard Worker    i8 1, label %meshBB81.cl
116*9880d681SAndroid Build Coastguard Worker    i8 51, label %meshBB81.cl141
117*9880d681SAndroid Build Coastguard Worker  ]
118*9880d681SAndroid Build Coastguard Worker}
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...)
121