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