xref: /llvm-project/llvm/test/Transforms/SampleProfile/pseudo-probe-missing-probe.ll (revision 0f28aa632cde6fa085060383998f98ed7f8fb814)
1*0f28aa63SLei Wang; RUN: opt < %s -passes=sample-profile  -sample-profile-file=%S/Inputs/pseudo-probe-missing-probe.prof -S | FileCheck %s
2*0f28aa63SLei Wang
3*0f28aa63SLei Wang; CHECK:  br i1 %tobool.not.i, label %if.end.i, label %if.then.i, !dbg ![[#]], !prof ![[#PROF:]]
4*0f28aa63SLei Wang
5*0f28aa63SLei Wang; CHECK:  [[#PROF]] = !{!"branch_weights", i32 918, i32 918}
6*0f28aa63SLei Wang; Verify the else branch is not set to a zero count
7*0f28aa63SLei Wang; CHECK-NOT:  [[#PROF]] = !{!"branch_weights", i32 1698, i32 0}
8*0f28aa63SLei Wang
9*0f28aa63SLei Wangtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
10*0f28aa63SLei Wangtarget triple = "x86_64-unknown-linux-gnu"
11*0f28aa63SLei Wang
12*0f28aa63SLei Wang@x = dso_local global i32 0, align 4, !dbg !0
13*0f28aa63SLei Wang
14*0f28aa63SLei Wang; Function Attrs: nofree noinline norecurse nounwind memory(readwrite, argmem: none) uwtable
15*0f28aa63SLei Wangdefine dso_local void @bar(i32 %i) local_unnamed_addr #0 !dbg !18 {
16*0f28aa63SLei Wangentry:
17*0f28aa63SLei Wang    #dbg_value(i32 poison, !22, !DIExpression(), !23)
18*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2012135647395072713, i64 1, i32 0, i64 -1), !dbg !24
19*0f28aa63SLei Wang  %0 = load volatile i32, ptr @x, align 4, !dbg !24, !tbaa !25
20*0f28aa63SLei Wang  %add = add nsw i32 %0, 5, !dbg !24
21*0f28aa63SLei Wang  store volatile i32 %add, ptr @x, align 4, !dbg !24, !tbaa !25
22*0f28aa63SLei Wang  ret void, !dbg !29
23*0f28aa63SLei Wang}
24*0f28aa63SLei Wang
25*0f28aa63SLei Wang; Function Attrs: nofree norecurse nounwind memory(readwrite, argmem: none) uwtable
26*0f28aa63SLei Wangdefine dso_local void @baz(i32 noundef %i) local_unnamed_addr #1 !dbg !30 {
27*0f28aa63SLei Wangentry:
28*0f28aa63SLei Wang    #dbg_value(i32 %i, !32, !DIExpression(), !33)
29*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 1, i32 0, i64 -1), !dbg !34
30*0f28aa63SLei Wang  %rem = srem i32 %i, 100, !dbg !36
31*0f28aa63SLei Wang  %tobool.not = icmp eq i32 %rem, 0, !dbg !36
32*0f28aa63SLei Wang  br i1 %tobool.not, label %if.end, label %if.then, !dbg !37
33*0f28aa63SLei Wang
34*0f28aa63SLei Wangif.then:                                          ; preds = %entry
35*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 2, i32 0, i64 -1), !dbg !38
36*0f28aa63SLei Wang  %0 = load volatile i32, ptr @x, align 4, !dbg !38, !tbaa !25
37*0f28aa63SLei Wang  %inc = add nsw i32 %0, 1, !dbg !38
38*0f28aa63SLei Wang  store volatile i32 %inc, ptr @x, align 4, !dbg !38, !tbaa !25
39*0f28aa63SLei Wang  br label %if.end, !dbg !39
40*0f28aa63SLei Wang
41*0f28aa63SLei Wangif.end:                                           ; preds = %if.then, %entry
42*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 3, i32 0, i64 -1), !dbg !40
43*0f28aa63SLei Wang  %1 = load volatile i32, ptr @x, align 4, !dbg !40, !tbaa !25
44*0f28aa63SLei Wang  %add = add nsw i32 %1, 2, !dbg !40
45*0f28aa63SLei Wang  store volatile i32 %add, ptr @x, align 4, !dbg !40, !tbaa !25
46*0f28aa63SLei Wang  %2 = and i32 %i, 1, !dbg !41
47*0f28aa63SLei Wang  %tobool2.not = icmp eq i32 %2, 0, !dbg !41
48*0f28aa63SLei Wang  br i1 %tobool2.not, label %if.else, label %if.end11, !dbg !43
49*0f28aa63SLei Wang
50*0f28aa63SLei Wangif.else:                                          ; preds = %if.end
51*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 5, i32 0, i64 -1), !dbg !44
52*0f28aa63SLei Wang  %rem5 = srem i32 %i, 3, !dbg !46
53*0f28aa63SLei Wang  %tobool6.not = icmp eq i32 %rem5, 0, !dbg !46
54*0f28aa63SLei Wang  %spec.select = select i1 %tobool6.not, i32 -1, i32 2, !dbg !47
55*0f28aa63SLei Wang  br label %if.end11, !dbg !47
56*0f28aa63SLei Wang
57*0f28aa63SLei Wangif.end11:                                         ; preds = %if.else, %if.end
58*0f28aa63SLei Wang  %.sink14 = phi i32 [ 1, %if.end ], [ %spec.select, %if.else ]
59*0f28aa63SLei Wang  %3 = load volatile i32, ptr @x, align 4, !dbg !48, !tbaa !25
60*0f28aa63SLei Wang  %add8 = add nsw i32 %3, %.sink14, !dbg !48
61*0f28aa63SLei Wang  store volatile i32 %add8, ptr @x, align 4, !dbg !48, !tbaa !25
62*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 9, i32 0, i64 -1), !dbg !49
63*0f28aa63SLei Wang  ret void, !dbg !49
64*0f28aa63SLei Wang}
65*0f28aa63SLei Wang
66*0f28aa63SLei Wang; Function Attrs: nofree norecurse nounwind uwtable
67*0f28aa63SLei Wangdefine dso_local noundef i32 @main() local_unnamed_addr #2 !dbg !50 {
68*0f28aa63SLei Wangentry:
69*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 1, i32 0, i64 -1), !dbg !55
70*0f28aa63SLei Wang    #dbg_value(i32 0, !54, !DIExpression(), !56)
71*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 2, i32 0, i64 -1), !dbg !57
72*0f28aa63SLei Wang  br label %while.body, !dbg !58
73*0f28aa63SLei Wang
74*0f28aa63SLei Wangwhile.body:                                       ; preds = %entry, %if.end
75*0f28aa63SLei Wang  %inc7 = phi i32 [ 1, %entry ], [ %inc, %if.end ]
76*0f28aa63SLei Wang  %i.06 = phi i32 [ 0, %entry ], [ %inc7, %if.end ]
77*0f28aa63SLei Wang    #dbg_value(i32 %i.06, !54, !DIExpression(), !56)
78*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 3, i32 0, i64 -1), !dbg !59
79*0f28aa63SLei Wang  %rem = urem i32 %inc7, 10, !dbg !62
80*0f28aa63SLei Wang  %tobool.not = icmp eq i32 %rem, 0, !dbg !62
81*0f28aa63SLei Wang  br i1 %tobool.not, label %if.else, label %if.then, !dbg !63
82*0f28aa63SLei Wang
83*0f28aa63SLei Wangif.then:                                          ; preds = %while.body
84*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 4, i32 0, i64 -1), !dbg !64
85*0f28aa63SLei Wang  tail call void @bar(i32 poison), !dbg !65
86*0f28aa63SLei Wang  br label %if.end, !dbg !67
87*0f28aa63SLei Wang
88*0f28aa63SLei Wangif.else:                                          ; preds = %while.body
89*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 6, i32 0, i64 -1), !dbg !68
90*0f28aa63SLei Wang    #dbg_value(i32 %inc7, !32, !DIExpression(), !69)
91*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 1, i32 0, i64 -1), !dbg !72
92*0f28aa63SLei Wang  %rem.i4 = urem i32 %inc7, 100, !dbg !73
93*0f28aa63SLei Wang  %tobool.not.i = icmp eq i32 %rem.i4, 0, !dbg !73
94*0f28aa63SLei Wang  br i1 %tobool.not.i, label %if.end.i, label %if.then.i, !dbg !74
95*0f28aa63SLei Wang
96*0f28aa63SLei Wangif.then.i:                                        ; preds = %if.else
97*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 2, i32 0, i64 -1), !dbg !75
98*0f28aa63SLei Wang  %0 = load volatile i32, ptr @x, align 4, !dbg !75, !tbaa !25
99*0f28aa63SLei Wang  %inc.i = add nsw i32 %0, 1, !dbg !75
100*0f28aa63SLei Wang  store volatile i32 %inc.i, ptr @x, align 4, !dbg !75, !tbaa !25
101*0f28aa63SLei Wang  br label %if.end.i, !dbg !76
102*0f28aa63SLei Wang
103*0f28aa63SLei Wangif.end.i:                                         ; preds = %if.then.i, %if.else
104*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 3, i32 0, i64 -1), !dbg !77
105*0f28aa63SLei Wang  %1 = load volatile i32, ptr @x, align 4, !dbg !77, !tbaa !25
106*0f28aa63SLei Wang  %add.i = add nsw i32 %1, 2, !dbg !77
107*0f28aa63SLei Wang  store volatile i32 %add.i, ptr @x, align 4, !dbg !77, !tbaa !25
108*0f28aa63SLei Wang  %2 = and i32 %i.06, 1, !dbg !78
109*0f28aa63SLei Wang  %tobool2.not.i.not = icmp eq i32 %2, 0, !dbg !78
110*0f28aa63SLei Wang  br i1 %tobool2.not.i.not, label %baz.exit, label %if.else.i, !dbg !79
111*0f28aa63SLei Wang
112*0f28aa63SLei Wangif.else.i:                                        ; preds = %if.end.i
113*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 5, i32 0, i64 -1), !dbg !80
114*0f28aa63SLei Wang  %rem5.i5 = urem i32 %inc7, 3, !dbg !81
115*0f28aa63SLei Wang  %tobool6.not.i = icmp eq i32 %rem5.i5, 0, !dbg !81
116*0f28aa63SLei Wang  %spec.select.i = select i1 %tobool6.not.i, i32 -1, i32 2, !dbg !82
117*0f28aa63SLei Wang  br label %baz.exit, !dbg !82
118*0f28aa63SLei Wang
119*0f28aa63SLei Wangbaz.exit:                                         ; preds = %if.end.i, %if.else.i
120*0f28aa63SLei Wang  %.sink14.i = phi i32 [ 1, %if.end.i ], [ %spec.select.i, %if.else.i ]
121*0f28aa63SLei Wang  %3 = load volatile i32, ptr @x, align 4, !dbg !83, !tbaa !25
122*0f28aa63SLei Wang  %add8.i = add nsw i32 %3, %.sink14.i, !dbg !83
123*0f28aa63SLei Wang  store volatile i32 %add8.i, ptr @x, align 4, !dbg !83, !tbaa !25
124*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 7546896869197086323, i64 9, i32 0, i64 -1), !dbg !84
125*0f28aa63SLei Wang  br label %if.end
126*0f28aa63SLei Wang
127*0f28aa63SLei Wangif.end:                                           ; preds = %baz.exit, %if.then
128*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 8, i32 0, i64 -1), !dbg !58
129*0f28aa63SLei Wang    #dbg_value(i32 %inc7, !54, !DIExpression(), !56)
130*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 2, i32 0, i64 -1), !dbg !57
131*0f28aa63SLei Wang  %inc = add nuw nsw i32 %inc7, 1, !dbg !57
132*0f28aa63SLei Wang    #dbg_value(i32 %inc, !54, !DIExpression(), !56)
133*0f28aa63SLei Wang  %exitcond.not = icmp eq i32 %inc, 160000001, !dbg !85
134*0f28aa63SLei Wang  br i1 %exitcond.not, label %while.end, label %while.body, !dbg !58, !llvm.loop !86
135*0f28aa63SLei Wang
136*0f28aa63SLei Wangwhile.end:                                        ; preds = %if.end
137*0f28aa63SLei Wang  call void @llvm.pseudoprobe(i64 -2624081020897602054, i64 9, i32 0, i64 -1), !dbg !89
138*0f28aa63SLei Wang  ret i32 0, !dbg !89
139*0f28aa63SLei Wang}
140*0f28aa63SLei Wang
141*0f28aa63SLei Wang; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite)
142*0f28aa63SLei Wangdeclare void @llvm.pseudoprobe(i64, i64, i32, i64) #3
143*0f28aa63SLei Wang
144*0f28aa63SLei Wangattributes #0 = { nofree noinline norecurse nounwind memory(readwrite, argmem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
145*0f28aa63SLei Wangattributes #1 = { nofree norecurse nounwind memory(readwrite, argmem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
146*0f28aa63SLei Wangattributes #2 = { nofree norecurse nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "use-sample-profile"}
147*0f28aa63SLei Wangattributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) }
148*0f28aa63SLei Wang
149*0f28aa63SLei Wang!llvm.dbg.cu = !{!2}
150*0f28aa63SLei Wang!llvm.module.flags = !{!7, !8, !9, !10, !11, !12, !13}
151*0f28aa63SLei Wang!llvm.ident = !{!14}
152*0f28aa63SLei Wang!llvm.pseudo_probe_desc = !{!15, !16, !17}
153*0f28aa63SLei Wang
154*0f28aa63SLei Wang!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
155*0f28aa63SLei Wang!1 = distinct !DIGlobalVariable(name: "x", scope: !2, file: !3, line: 1, type: !5, isLocal: false, isDefinition: true)
156*0f28aa63SLei Wang!2 = distinct !DICompileUnit(language: DW_LANG_C11, file: !3, producer: "clang version 20.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !4, splitDebugInlining: false, nameTableKind: None)
157*0f28aa63SLei Wang!3 = !DIFile(filename: "test.c", directory: "/home", checksumkind: CSK_MD5, checksum: "b67c15e928f76c51702a59639dbebb4c")
158*0f28aa63SLei Wang!4 = !{!0}
159*0f28aa63SLei Wang!5 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !6)
160*0f28aa63SLei Wang!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
161*0f28aa63SLei Wang!7 = !{i32 7, !"Dwarf Version", i32 5}
162*0f28aa63SLei Wang!8 = !{i32 2, !"Debug Info Version", i32 3}
163*0f28aa63SLei Wang!9 = !{i32 1, !"wchar_size", i32 4}
164*0f28aa63SLei Wang!10 = !{i32 8, !"PIC Level", i32 2}
165*0f28aa63SLei Wang!11 = !{i32 7, !"PIE Level", i32 2}
166*0f28aa63SLei Wang!12 = !{i32 7, !"uwtable", i32 2}
167*0f28aa63SLei Wang!13 = !{i32 7, !"debug-info-assignment-tracking", i1 true}
168*0f28aa63SLei Wang!14 = !{!"clang version 20.0.0"}
169*0f28aa63SLei Wang!15 = !{i64 -2012135647395072713, i64 4294967295, !"bar"}
170*0f28aa63SLei Wang!16 = !{i64 7546896869197086323, i64 191430930410, !"baz"}
171*0f28aa63SLei Wang!17 = !{i64 -2624081020897602054, i64 563091374530180, !"main"}
172*0f28aa63SLei Wang!18 = distinct !DISubprogram(name: "bar", scope: !3, file: !3, line: 3, type: !19, scopeLine: 3, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !21)
173*0f28aa63SLei Wang!19 = !DISubroutineType(types: !20)
174*0f28aa63SLei Wang!20 = !{null, !6}
175*0f28aa63SLei Wang!21 = !{!22}
176*0f28aa63SLei Wang!22 = !DILocalVariable(name: "i", arg: 1, scope: !18, file: !3, line: 3, type: !6)
177*0f28aa63SLei Wang!23 = !DILocation(line: 0, scope: !18)
178*0f28aa63SLei Wang!24 = !DILocation(line: 4, column: 5, scope: !18)
179*0f28aa63SLei Wang!25 = !{!26, !26, i64 0}
180*0f28aa63SLei Wang!26 = !{!"int", !27, i64 0}
181*0f28aa63SLei Wang!27 = !{!"omnipotent char", !28, i64 0}
182*0f28aa63SLei Wang!28 = !{!"Simple C/C++ TBAA"}
183*0f28aa63SLei Wang!29 = !DILocation(line: 8, column: 1, scope: !18)
184*0f28aa63SLei Wang!30 = distinct !DISubprogram(name: "baz", scope: !3, file: !3, line: 10, type: !19, scopeLine: 10, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !31)
185*0f28aa63SLei Wang!31 = !{!32}
186*0f28aa63SLei Wang!32 = !DILocalVariable(name: "i", arg: 1, scope: !30, file: !3, line: 10, type: !6)
187*0f28aa63SLei Wang!33 = !DILocation(line: 0, scope: !30)
188*0f28aa63SLei Wang!34 = !DILocation(line: 11, column: 6, scope: !35)
189*0f28aa63SLei Wang!35 = distinct !DILexicalBlock(scope: !30, file: !3, line: 11, column: 6)
190*0f28aa63SLei Wang!36 = !DILocation(line: 11, column: 7, scope: !35)
191*0f28aa63SLei Wang!37 = !DILocation(line: 11, column: 6, scope: !30)
192*0f28aa63SLei Wang!38 = !DILocation(line: 12, column: 6, scope: !35)
193*0f28aa63SLei Wang!39 = !DILocation(line: 12, column: 5, scope: !35)
194*0f28aa63SLei Wang!40 = !DILocation(line: 14, column: 5, scope: !30)
195*0f28aa63SLei Wang!41 = !DILocation(line: 15, column: 9, scope: !42)
196*0f28aa63SLei Wang!42 = distinct !DILexicalBlock(scope: !30, file: !3, line: 15, column: 7)
197*0f28aa63SLei Wang!43 = !DILocation(line: 15, column: 7, scope: !30)
198*0f28aa63SLei Wang!44 = !DILocation(line: 17, column: 12, scope: !45)
199*0f28aa63SLei Wang!45 = distinct !DILexicalBlock(scope: !42, file: !3, line: 17, column: 12)
200*0f28aa63SLei Wang!46 = !DILocation(line: 17, column: 14, scope: !45)
201*0f28aa63SLei Wang!47 = !DILocation(line: 17, column: 12, scope: !42)
202*0f28aa63SLei Wang!48 = !DILocation(line: 0, scope: !42)
203*0f28aa63SLei Wang!49 = !DILocation(line: 21, column: 1, scope: !30)
204*0f28aa63SLei Wang!50 = distinct !DISubprogram(name: "main", scope: !3, file: !3, line: 23, type: !51, scopeLine: 23, flags: DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !53)
205*0f28aa63SLei Wang!51 = !DISubroutineType(types: !52)
206*0f28aa63SLei Wang!52 = !{!6}
207*0f28aa63SLei Wang!53 = !{!54}
208*0f28aa63SLei Wang!54 = !DILocalVariable(name: "i", scope: !50, file: !3, line: 24, type: !6)
209*0f28aa63SLei Wang!55 = !DILocation(line: 24, column: 7, scope: !50)
210*0f28aa63SLei Wang!56 = !DILocation(line: 0, scope: !50)
211*0f28aa63SLei Wang!57 = !DILocation(line: 25, column: 11, scope: !50)
212*0f28aa63SLei Wang!58 = !DILocation(line: 25, column: 3, scope: !50)
213*0f28aa63SLei Wang!59 = !DILocation(line: 26, column: 8, scope: !60)
214*0f28aa63SLei Wang!60 = distinct !DILexicalBlock(scope: !61, file: !3, line: 26, column: 8)
215*0f28aa63SLei Wang!61 = distinct !DILexicalBlock(scope: !50, file: !3, line: 25, column: 30)
216*0f28aa63SLei Wang!62 = !DILocation(line: 26, column: 10, scope: !60)
217*0f28aa63SLei Wang!63 = !DILocation(line: 26, column: 8, scope: !61)
218*0f28aa63SLei Wang!64 = !DILocation(line: 27, column: 10, scope: !60)
219*0f28aa63SLei Wang!65 = !DILocation(line: 27, column: 6, scope: !66)
220*0f28aa63SLei Wang!66 = !DILexicalBlockFile(scope: !60, file: !3, discriminator: 455082031)
221*0f28aa63SLei Wang!67 = !DILocation(line: 27, column: 6, scope: !60)
222*0f28aa63SLei Wang!68 = !DILocation(line: 29, column: 10, scope: !60)
223*0f28aa63SLei Wang!69 = !DILocation(line: 0, scope: !30, inlinedAt: !70)
224*0f28aa63SLei Wang!70 = distinct !DILocation(line: 29, column: 6, scope: !71)
225*0f28aa63SLei Wang!71 = !DILexicalBlockFile(scope: !60, file: !3, discriminator: 455082047)
226*0f28aa63SLei Wang!72 = !DILocation(line: 11, column: 6, scope: !35, inlinedAt: !70)
227*0f28aa63SLei Wang!73 = !DILocation(line: 11, column: 7, scope: !35, inlinedAt: !70)
228*0f28aa63SLei Wang!74 = !DILocation(line: 11, column: 6, scope: !30, inlinedAt: !70)
229*0f28aa63SLei Wang!75 = !DILocation(line: 12, column: 6, scope: !35, inlinedAt: !70)
230*0f28aa63SLei Wang!76 = !DILocation(line: 12, column: 5, scope: !35, inlinedAt: !70)
231*0f28aa63SLei Wang!77 = !DILocation(line: 14, column: 5, scope: !30, inlinedAt: !70)
232*0f28aa63SLei Wang!78 = !DILocation(line: 15, column: 9, scope: !42, inlinedAt: !70)
233*0f28aa63SLei Wang!79 = !DILocation(line: 15, column: 7, scope: !30, inlinedAt: !70)
234*0f28aa63SLei Wang!80 = !DILocation(line: 17, column: 12, scope: !45, inlinedAt: !70)
235*0f28aa63SLei Wang!81 = !DILocation(line: 17, column: 14, scope: !45, inlinedAt: !70)
236*0f28aa63SLei Wang!82 = !DILocation(line: 17, column: 12, scope: !42, inlinedAt: !70)
237*0f28aa63SLei Wang!83 = !DILocation(line: 0, scope: !42, inlinedAt: !70)
238*0f28aa63SLei Wang!84 = !DILocation(line: 21, column: 1, scope: !30, inlinedAt: !70)
239*0f28aa63SLei Wang!85 = !DILocation(line: 25, column: 14, scope: !50)
240*0f28aa63SLei Wang!86 = distinct !{!86, !58, !87, !88}
241*0f28aa63SLei Wang!87 = !DILocation(line: 30, column: 3, scope: !50)
242*0f28aa63SLei Wang!88 = !{!"llvm.loop.mustprogress"}
243*0f28aa63SLei Wang!89 = !DILocation(line: 31, column: 3, scope: !50)
244