1*cee313d2SEric Christopher; RUN: opt < %s -partial-inliner -skip-partial-inlining-cost-analysis -inline-threshold=0 -disable-output
2*cee313d2SEric Christopher
3*cee313d2SEric Christophertarget datalayout = "e-m:e-i64:64-n32:64"
4*cee313d2SEric Christophertarget triple = "powerpc64le-unknown-linux-gnu"
5*cee313d2SEric Christopher
6*cee313d2SEric Christopher%0 = type { i32 (...)**, %1, %1, %3, %3, %3, i8, float, %4*, %5*, %5*, i32, i32, i32, i32, float, float, float, i8*, i32, float, float, float, i8, [7 x i8] }
7*cee313d2SEric Christopher%1 = type { %2, %3 }
8*cee313d2SEric Christopher%2 = type { [3 x %3] }
9*cee313d2SEric Christopher%3 = type { [4 x float] }
10*cee313d2SEric Christopher%4 = type <{ i8*, i16, i16, [4 x i8], i8*, i32, %3, %3, [4 x i8] }>
11*cee313d2SEric Christopher%5 = type { i32 (...)**, i32, i8* }
12*cee313d2SEric Christopher%6 = type <{ %7, [4 x i8], %19*, %20*, %30, %35, %3, float, i8, i8, i8, i8, %37, i32, [4 x i8] }>
13*cee313d2SEric Christopher%7 = type <{ %8, [7 x i8], void (%16*, float)*, void (%16*, float)*, i8*, %17 }>
14*cee313d2SEric Christopher%8 = type <{ i32 (...)**, %9, %11*, %12, %13*, %14*, %15*, i8 }>
15*cee313d2SEric Christopher%9 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %0**, i8, [7 x i8] }>
16*cee313d2SEric Christopher%11 = type { i32 (...)** }
17*cee313d2SEric Christopher%12 = type { float, i32, i32, float, i8, %15*, i8, i8, i8, float, i8, float, %13* }
18*cee313d2SEric Christopher%13 = type opaque
19*cee313d2SEric Christopher%14 = type { i32 (...)** }
20*cee313d2SEric Christopher%15 = type { i32 (...)** }
21*cee313d2SEric Christopher%16 = type <{ %8, [7 x i8], void (%16*, float)*, void (%16*, float)*, i8*, %17, [4 x i8] }>
22*cee313d2SEric Christopher%17 = type { %18 }
23*cee313d2SEric Christopher%18 = type { float, float, float, float, float, i32, float, float, float, float, float, i32, float, float, float, i32, i32 }
24*cee313d2SEric Christopher%19 = type { i32 (...)** }
25*cee313d2SEric Christopher%20 = type <{ i32 (...)**, %21, %25, %9, i8, [7 x i8] }>
26*cee313d2SEric Christopher%21 = type { %22 }
27*cee313d2SEric Christopher%22 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %24*, i8, [7 x i8] }>
28*cee313d2SEric Christopher%24 = type { i32, i32 }
29*cee313d2SEric Christopher%25 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %27**, i8, [7 x i8] }>
30*cee313d2SEric Christopher%27 = type { i32, [4 x i8], [4 x %29], i8*, i8*, i32, float, float, i32 }
31*cee313d2SEric Christopher%29 = type <{ %3, %3, %3, %3, %3, float, float, float, i32, i32, i32, i32, [4 x i8], i8*, float, i8, [3 x i8], float, float, i32, %3, %3, [4 x i8] }>
32*cee313d2SEric Christopher%30 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %32**, i8, [7 x i8] }>
33*cee313d2SEric Christopher%32 = type { i32 (...)**, i32, i32, i32, i8, %33*, %33*, float, float, %3, %3, %3 }
34*cee313d2SEric Christopher%33 = type <{ %0, %2, %3, %3, float, %3, %3, %3, %3, %3, %3, %3, float, float, i8, [3 x i8], float, float, float, float, float, float, %34*, %30, i32, i32, i32, [4 x i8] }>
35*cee313d2SEric Christopher%34 = type { i32 (...)** }
36*cee313d2SEric Christopher%35 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %33**, i8, [7 x i8] }>
37*cee313d2SEric Christopher%37 = type <{ i8, [3 x i8], i32, i32, [4 x i8], %39**, i8, [7 x i8] }>
38*cee313d2SEric Christopher%39 = type { i32 (...)** }
39*cee313d2SEric Christopher%40 = type <{ i32 (...)**, %9, %11*, %12, %13*, %14*, %15*, i8, [7 x i8] }>
40*cee313d2SEric Christopher
41*cee313d2SEric Christopher@gDisableDeactivation = external local_unnamed_addr global i8, align 1
42*cee313d2SEric Christopher@0 = external dso_local unnamed_addr constant [29 x i8], align 1
43*cee313d2SEric Christopher@1 = external dso_local unnamed_addr constant [14 x i8], align 1
44*cee313d2SEric Christopher@2 = external dso_local unnamed_addr constant [22 x i8], align 1
45*cee313d2SEric Christopher@gDeactivationTime = external local_unnamed_addr global float, align 4
46*cee313d2SEric Christopher
47*cee313d2SEric Christopherdeclare void @_ZN15CProfileManager12Stop_ProfileEv() local_unnamed_addr
48*cee313d2SEric Christopher
49*cee313d2SEric Christopherdeclare void @_ZN15CProfileManager13Start_ProfileEPKc(i8*) local_unnamed_addr
50*cee313d2SEric Christopher
51*cee313d2SEric Christopherdeclare void @_ZN17btCollisionObject18setActivationStateEi(%0*, i32 signext) local_unnamed_addr
52*cee313d2SEric Christopher
53*cee313d2SEric Christopherdeclare hidden void @__clang_call_terminate(i8*) local_unnamed_addr
54*cee313d2SEric Christopher
55*cee313d2SEric Christopherdeclare i32 @__gxx_personality_v0(...)
56*cee313d2SEric Christopher
57*cee313d2SEric Christopher; Function Attrs: argmemonly nounwind
58*cee313d2SEric Christopherdeclare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1) #0
59*cee313d2SEric Christopher
60*cee313d2SEric Christopherdefine void @_ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf(%6*, float) unnamed_addr align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !prof !27 {
61*cee313d2SEric Christopher  invoke void null(%6* nonnull %0, float %1)
62*cee313d2SEric Christopher          to label %5 unwind label %3
63*cee313d2SEric Christopher
64*cee313d2SEric Christopher; <label>:3:                                      ; preds = %2
65*cee313d2SEric Christopher  %4 = landingpad { i8*, i32 }
66*cee313d2SEric Christopher          cleanup
67*cee313d2SEric Christopher  br label %16
68*cee313d2SEric Christopher
69*cee313d2SEric Christopher; <label>:5:                                      ; preds = %2
70*cee313d2SEric Christopher  %6 = invoke %15* null(%40* null)
71*cee313d2SEric Christopher          to label %11 unwind label %13
72*cee313d2SEric Christopher
73*cee313d2SEric Christopher; <label>:7:                                      ; preds = %5
74*cee313d2SEric Christopher  invoke void null(%40* null)
75*cee313d2SEric Christopher          to label %8 unwind label %13
76*cee313d2SEric Christopher
77*cee313d2SEric Christopher; <label>:8:                                      ; preds = %7
78*cee313d2SEric Christopher  invoke void null(%6* nonnull %0)
79*cee313d2SEric Christopher          to label %9 unwind label %13
80*cee313d2SEric Christopher
81*cee313d2SEric Christopher; <label>:9:                                      ; preds = %8
82*cee313d2SEric Christopher  invoke void null(%6* nonnull %0, %17* nonnull dereferenceable(68) null)
83*cee313d2SEric Christopher          to label %10 unwind label %13
84*cee313d2SEric Christopher
85*cee313d2SEric Christopher; <label>:10:                                     ; preds = %9
86*cee313d2SEric Christopher  invoke void null(%6* nonnull %0, float %1)
87*cee313d2SEric Christopher          to label %11 unwind label %13
88*cee313d2SEric Christopher
89*cee313d2SEric Christopher; <label>:11:
90*cee313d2SEric Christopher  invoke void @_ZN23btDiscreteDynamicsWorld21updateActivationStateEf(%6* nonnull %0, float %1)
91*cee313d2SEric Christopher          to label %12 unwind label %13
92*cee313d2SEric Christopher
93*cee313d2SEric Christopher; <label>:12:
94*cee313d2SEric Christopher  ret void
95*cee313d2SEric Christopher
96*cee313d2SEric Christopher; <label>:13:
97*cee313d2SEric Christopher  %14 = landingpad { i8*, i32 }
98*cee313d2SEric Christopher          cleanup
99*cee313d2SEric Christopher  %15 = extractvalue { i8*, i32 } %14, 0
100*cee313d2SEric Christopher  br label %16
101*cee313d2SEric Christopher
102*cee313d2SEric Christopher
103*cee313d2SEric Christopher; <label>:16:
104*cee313d2SEric Christopher  call void @_ZN15CProfileManager12Stop_ProfileEv()
105*cee313d2SEric Christopher  resume { i8*, i32 } zeroinitializer
106*cee313d2SEric Christopher}
107*cee313d2SEric Christopher
108*cee313d2SEric Christopherdefine void @_ZN23btDiscreteDynamicsWorld21updateActivationStateEf(%6* nocapture readonly, float) local_unnamed_addr align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !prof !27 {
109*cee313d2SEric Christopher  %3 = icmp sgt i32 0, 0
110*cee313d2SEric Christopher  br i1 %3, label %4, label %5, !prof !29
111*cee313d2SEric Christopher
112*cee313d2SEric Christopher; <label>:4:                                      ; preds = %2
113*cee313d2SEric Christopher  br i1 false, label %5, label %6, !prof !30
114*cee313d2SEric Christopher
115*cee313d2SEric Christopher; <label>:5:                                      ; preds = %7, %4, %2
116*cee313d2SEric Christopher  ret void
117*cee313d2SEric Christopher
118*cee313d2SEric Christopher; <label>:6:                                      ; preds = %4
119*cee313d2SEric Christopher  invoke void @_ZN17btCollisionObject18setActivationStateEi(%0* nonnull null, i32 signext 0)
120*cee313d2SEric Christopher          to label %7 unwind label %8
121*cee313d2SEric Christopher
122*cee313d2SEric Christopher; <label>:7:                                      ; preds = %6
123*cee313d2SEric Christopher  invoke void @_ZN17btCollisionObject18setActivationStateEi(%0* nonnull null, i32 signext 1)
124*cee313d2SEric Christopher          to label %5 unwind label %8
125*cee313d2SEric Christopher
126*cee313d2SEric Christopher; <label>:8:                                      ; preds = %7, %6
127*cee313d2SEric Christopher  %9 = landingpad { i8*, i32 }
128*cee313d2SEric Christopher          cleanup
129*cee313d2SEric Christopher  resume { i8*, i32 } %9
130*cee313d2SEric Christopher}
131*cee313d2SEric Christopher
132*cee313d2SEric Christopher; Function Attrs: noreturn nounwind
133*cee313d2SEric Christopherdeclare void @llvm.trap() #1
134*cee313d2SEric Christopher
135*cee313d2SEric Christopherattributes #0 = { argmemonly nounwind }
136*cee313d2SEric Christopherattributes #1 = { noreturn nounwind }
137*cee313d2SEric Christopher
138*cee313d2SEric Christopher!llvm.module.flags = !{!0}
139*cee313d2SEric Christopher
140*cee313d2SEric Christopher!0 = !{i32 1, !"ProfileSummary", !1}
141*cee313d2SEric Christopher!1 = !{!2, !3, !4, !5, !6, !7, !8, !9}
142*cee313d2SEric Christopher!2 = !{!"ProfileFormat", !"InstrProf"}
143*cee313d2SEric Christopher!3 = !{!"TotalCount", i64 6540578580}
144*cee313d2SEric Christopher!4 = !{!"MaxCount", i64 629805108}
145*cee313d2SEric Christopher!5 = !{!"MaxInternalCount", i64 40670372}
146*cee313d2SEric Christopher!6 = !{!"MaxFunctionCount", i64 629805108}
147*cee313d2SEric Christopher!7 = !{!"NumCounts", i64 8554}
148*cee313d2SEric Christopher!8 = !{!"NumFunctions", i64 3836}
149*cee313d2SEric Christopher!9 = !{!"DetailedSummary", !10}
150*cee313d2SEric Christopher!10 = !{!11, !12, !13, !14, !15, !16, !16, !17, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26}
151*cee313d2SEric Christopher!11 = !{i32 10000, i64 629805108, i32 1}
152*cee313d2SEric Christopher!12 = !{i32 100000, i64 366853677, i32 2}
153*cee313d2SEric Christopher!13 = !{i32 200000, i64 196816893, i32 4}
154*cee313d2SEric Christopher!14 = !{i32 300000, i64 192575561, i32 7}
155*cee313d2SEric Christopher!15 = !{i32 400000, i64 130688163, i32 11}
156*cee313d2SEric Christopher!16 = !{i32 500000, i64 74857169, i32 19}
157*cee313d2SEric Christopher!17 = !{i32 600000, i64 48184151, i32 30}
158*cee313d2SEric Christopher!18 = !{i32 700000, i64 21298588, i32 49}
159*cee313d2SEric Christopher!19 = !{i32 800000, i64 10721033, i32 90}
160*cee313d2SEric Christopher!20 = !{i32 900000, i64 3301634, i32 202}
161*cee313d2SEric Christopher!21 = !{i32 950000, i64 1454952, i32 362}
162*cee313d2SEric Christopher!22 = !{i32 990000, i64 343872, i32 675}
163*cee313d2SEric Christopher!23 = !{i32 999000, i64 46009, i32 1112}
164*cee313d2SEric Christopher!24 = !{i32 999900, i64 6067, i32 1435}
165*cee313d2SEric Christopher!25 = !{i32 999990, i64 700, i32 1721}
166*cee313d2SEric Christopher!26 = !{i32 999999, i64 72, i32 1955}
167*cee313d2SEric Christopher!27 = !{!"function_entry_count", i64 700}
168*cee313d2SEric Christopher!28 = !{!"branch_weights", i32 701, i32 1}
169*cee313d2SEric Christopher!29 = !{!"branch_weights", i32 954001, i32 701}
170*cee313d2SEric Christopher!30 = !{!"branch_weights", i32 1, i32 954001}
171