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