Skip to content

Commit 10f2a0d

Browse files
committed
Use uint64_t for branch weights instead of uint32_t
CallInst::updateProfWeight() creates branch_weights with i64 instead of i32. To be more consistent everywhere and remove lots of casts from uint64_t to uint32_t, use i64 for branch_weights. Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D88609
1 parent e5699b8 commit 10f2a0d

File tree

116 files changed

+1168
-565
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1168
-565
lines changed

clang/lib/CodeGen/CodeGenPGO.cpp

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1013,42 +1013,21 @@ void CodeGenPGO::loadRegionCounts(llvm::IndexedInstrProfReader *PGOReader,
10131013
RegionCounts = ProfRecord->Counts;
10141014
}
10151015

1016-
/// Calculate what to divide by to scale weights.
1017-
///
1018-
/// Given the maximum weight, calculate a divisor that will scale all the
1019-
/// weights to strictly less than UINT32_MAX.
1020-
static uint64_t calculateWeightScale(uint64_t MaxWeight) {
1021-
return MaxWeight < UINT32_MAX ? 1 : MaxWeight / UINT32_MAX + 1;
1022-
}
1023-
1024-
/// Scale an individual branch weight (and add 1).
1025-
///
1026-
/// Scale a 64-bit weight down to 32-bits using \c Scale.
1016+
/// Scale an individual branch weight (add 1).
10271017
///
10281018
/// According to Laplace's Rule of Succession, it is better to compute the
10291019
/// weight based on the count plus 1, so universally add 1 to the value.
1030-
///
1031-
/// \pre \c Scale was calculated by \a calculateWeightScale() with a weight no
1032-
/// greater than \c Weight.
1033-
static uint32_t scaleBranchWeight(uint64_t Weight, uint64_t Scale) {
1034-
assert(Scale && "scale by 0?");
1035-
uint64_t Scaled = Weight / Scale + 1;
1036-
assert(Scaled <= UINT32_MAX && "overflow 32-bits");
1037-
return Scaled;
1038-
}
1020+
static uint64_t scaleBranchWeight(uint64_t Weight) { return Weight + 1; }
10391021

10401022
llvm::MDNode *CodeGenFunction::createProfileWeights(uint64_t TrueCount,
10411023
uint64_t FalseCount) const {
10421024
// Check for empty weights.
10431025
if (!TrueCount && !FalseCount)
10441026
return nullptr;
10451027

1046-
// Calculate how to scale down to 32-bits.
1047-
uint64_t Scale = calculateWeightScale(std::max(TrueCount, FalseCount));
1048-
10491028
llvm::MDBuilder MDHelper(CGM.getLLVMContext());
1050-
return MDHelper.createBranchWeights(scaleBranchWeight(TrueCount, Scale),
1051-
scaleBranchWeight(FalseCount, Scale));
1029+
return MDHelper.createBranchWeights(scaleBranchWeight(TrueCount),
1030+
scaleBranchWeight(FalseCount));
10521031
}
10531032

10541033
llvm::MDNode *
@@ -1062,13 +1041,10 @@ CodeGenFunction::createProfileWeights(ArrayRef<uint64_t> Weights) const {
10621041
if (MaxWeight == 0)
10631042
return nullptr;
10641043

1065-
// Calculate how to scale down to 32-bits.
1066-
uint64_t Scale = calculateWeightScale(MaxWeight);
1067-
1068-
SmallVector<uint32_t, 16> ScaledWeights;
1044+
SmallVector<uint64_t, 16> ScaledWeights;
10691045
ScaledWeights.reserve(Weights.size());
10701046
for (uint64_t W : Weights)
1071-
ScaledWeights.push_back(scaleBranchWeight(W, Scale));
1047+
ScaledWeights.push_back(scaleBranchWeight(W));
10721048

10731049
llvm::MDBuilder MDHelper(CGM.getLLVMContext());
10741050
return MDHelper.createBranchWeights(ScaledWeights);

clang/test/CodeGen/catch-undef-behavior.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,6 @@ void call_nonnull_variadic(int a, int *b) {
385385
nonnull_variadic(a, b);
386386
}
387387

388-
// CHECK-UBSAN: ![[WEIGHT_MD]] = !{!"branch_weights", i32 1048575, i32 1}
388+
// CHECK-UBSAN: ![[WEIGHT_MD]] = !{!"branch_weights", i64 1048575, i64 1}
389389

390390
// CHECK-TRAP: attributes [[NR_NUW]] = { noreturn nounwind }

clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,5 @@ void SwitchStmt() {
142142
}
143143
}
144144

145-
// CHECK: !7 = !{!"branch_weights", i32 [[UNLIKELY]], i32 [[LIKELY]]}
146-
// CHECK: !8 = !{!"branch_weights", i32 [[LIKELY]], i32 [[UNLIKELY]]}
145+
// CHECK: !7 = !{!"branch_weights", i64 [[UNLIKELY]], i64 [[LIKELY]]}
146+
// CHECK: !8 = !{!"branch_weights", i64 [[LIKELY]], i64 [[UNLIKELY]]}

clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,5 +221,5 @@ void tu2(int &i) {
221221
}
222222
}
223223

224-
// CHECK: !6 = !{!"branch_weights", i32 2000, i32 1}
225-
// CHECK: !10 = !{!"branch_weights", i32 1, i32 2000}
224+
// CHECK: !6 = !{!"branch_weights", i64 2000, i64 1}
225+
// CHECK: !10 = !{!"branch_weights", i64 1, i64 2000}

clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -177,18 +177,18 @@ void TwoCasesDefaultLNU() {
177177
}
178178
}
179179

180-
// CHECK: !6 = !{!"branch_weights", i32 357913942, i32 715827883}
181-
// CHECK: !7 = !{!"branch_weights", i32 536870912, i32 1}
182-
// CHECK: !8 = !{!"branch_weights", i32 238609295, i32 715827883, i32 238609295}
183-
// CHECK: !9 = !{!"branch_weights", i32 357913942, i32 1, i32 357913942}
184-
// CHECK: !10 = !{!"branch_weights", i32 357913942, i32 715827883, i32 1}
185-
// CHECK: !11 = !{!"branch_weights", i32 143165577, i32 143165577, i32 143165577, i32 715827883, i32 143165577}
186-
// CHECK: !12 = !{!"branch_weights", i32 214748365, i32 214748365, i32 214748365, i32 1, i32 214748365}
187-
// CHECK: !13 = !{!"branch_weights", i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 79536432, i32 715827883, i32 79536432}
188-
// CHECK: !14 = !{!"branch_weights", i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 119304648, i32 1, i32 119304648}
189-
// CHECK: !15 = !{!"branch_weights", i32 2000, i32 1}
190-
// CHECK: !16 = !{!"branch_weights", i32 1, i32 2000}
191-
// CHECK: !17 = !{!"branch_weights", i32 715827883, i32 357913942}
192-
// CHECK: !18 = !{!"branch_weights", i32 1, i32 536870912}
193-
// CHECK: !19 = !{!"branch_weights", i32 536870912, i32 536870912, i32 268435456}
194-
// CHECK: !20 = !{!"branch_weights", i32 1, i32 715827883, i32 357913942}
180+
// CHECK: !6 = !{!"branch_weights", i64 357913942, i64 715827883}
181+
// CHECK: !7 = !{!"branch_weights", i64 536870912, i64 1}
182+
// CHECK: !8 = !{!"branch_weights", i64 238609295, i64 715827883, i64 238609295}
183+
// CHECK: !9 = !{!"branch_weights", i64 357913942, i64 1, i64 357913942}
184+
// CHECK: !10 = !{!"branch_weights", i64 357913942, i64 715827883, i64 1}
185+
// CHECK: !11 = !{!"branch_weights", i64 143165577, i64 143165577, i64 143165577, i64 715827883, i64 143165577}
186+
// CHECK: !12 = !{!"branch_weights", i64 214748365, i64 214748365, i64 214748365, i64 1, i64 214748365}
187+
// CHECK: !13 = !{!"branch_weights", i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 79536432, i64 715827883, i64 79536432}
188+
// CHECK: !14 = !{!"branch_weights", i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 119304648, i64 1, i64 119304648}
189+
// CHECK: !15 = !{!"branch_weights", i64 2000, i64 1}
190+
// CHECK: !16 = !{!"branch_weights", i64 1, i64 2000}
191+
// CHECK: !17 = !{!"branch_weights", i64 715827883, i64 357913942}
192+
// CHECK: !18 = !{!"branch_weights", i64 1, i64 536870912}
193+
// CHECK: !19 = !{!"branch_weights", i64 536870912, i64 536870912, i64 268435456}
194+
// CHECK: !20 = !{!"branch_weights", i64 1, i64 715827883, i64 357913942}

clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,5 +96,5 @@ int g1() {
9696
return i;
9797
}
9898

99-
// CHECK-DAG: ![[unlikely_threadlocal]] = !{!"branch_weights", i32 1, i32 1023}
100-
// CHECK-DAG: ![[unlikely_staticlocal]] = !{!"branch_weights", i32 1, i32 1048575}
99+
// CHECK-DAG: ![[unlikely_threadlocal]] = !{!"branch_weights", i64 1, i64 1023}
100+
// CHECK-DAG: ![[unlikely_staticlocal]] = !{!"branch_weights", i64 1, i64 1048575}

clang/test/CodeGenCXX/profile-remap.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ namespace Foo {
2424
//
2525
// FIXME: Laplace's rule of succession is applied to sample profiles...
2626
// CHECK-SAMPLES-DAG: [[FUNC_ENTRY]] = !{!"function_entry_count", i64 1}
27-
// CHECK-SAMPLES-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i32 11, i32 91}
27+
// CHECK-SAMPLES-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i64 11, i64 91}
2828
//
2929
// ... but not to instruction profiles.
3030
// CHECK-INSTR-DAG: [[FUNC_ENTRY]] = !{!"function_entry_count", i64 100}
31-
// CHECK-INSTR-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i32 10, i32 90}
31+
// CHECK-INSTR-DAG: [[BR_WEIGHTS]] = !{!"branch_weights", i64 10, i64 90}

clang/test/CodeGenCXX/static-initializer-branch-weights.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,5 +122,5 @@ void use_b() {
122122
// CHECK: icmp eq i8 {{.*}}, 0
123123
// CHECK: br i1 {{.*}}, !prof ![[WEIGHTS_THREAD_LOCAL]]
124124

125-
// CHECK-DAG: ![[WEIGHTS_THREAD_LOCAL]] = !{!"branch_weights", i32 1, i32 1023}
126-
// CHECK-DAG: ![[WEIGHTS_LOCAL]] = !{!"branch_weights", i32 1, i32 1048575}
125+
// CHECK-DAG: ![[WEIGHTS_THREAD_LOCAL]] = !{!"branch_weights", i64 1, i64 1023}
126+
// CHECK-DAG: ![[WEIGHTS_LOCAL]] = !{!"branch_weights", i64 1, i64 1048575}

clang/test/Profile/c-captured.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ void debug_captured() {
4747
if (x) {} // This is DC2. Checked above.
4848
}
4949

50-
// PGOUSE-DAG: ![[DC1]] = !{!"branch_weights", i32 2, i32 1}
51-
// PGOUSE-DAG: ![[DC2]] = !{!"branch_weights", i32 2, i32 1}
52-
// PGOUSE-DAG: ![[CS1]] = !{!"branch_weights", i32 2, i32 1}
53-
// PGOUSE-DAG: ![[C11]] = !{!"branch_weights", i32 11, i32 2}
54-
// PGOUSE-DAG: ![[C12]] = !{!"branch_weights", i32 2, i32 1}
50+
// PGOUSE-DAG: ![[DC1]] = !{!"branch_weights", i64 2, i64 1}
51+
// PGOUSE-DAG: ![[DC2]] = !{!"branch_weights", i64 2, i64 1}
52+
// PGOUSE-DAG: ![[CS1]] = !{!"branch_weights", i64 2, i64 1}
53+
// PGOUSE-DAG: ![[C11]] = !{!"branch_weights", i64 11, i64 2}
54+
// PGOUSE-DAG: ![[C12]] = !{!"branch_weights", i64 2, i64 1}
5555

5656
int main(int argc, const char *argv[]) {
5757
debug_captured();

clang/test/Profile/c-counter-overflows.c

Lines changed: 0 additions & 49 deletions
This file was deleted.

clang/test/Profile/c-general.c

Lines changed: 76 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -470,82 +470,82 @@ static void static_func() {
470470
}
471471
}
472472

473-
// PGOUSE-DAG: ![[SL1]] = !{!"branch_weights", i32 101, i32 2}
474-
// PGOUSE-DAG: ![[SL2]] = !{!"branch_weights", i32 101, i32 2}
475-
// PGOUSE-DAG: ![[SL3]] = !{!"branch_weights", i32 76, i32 2}
476-
477-
// PGOUSE-DAG: ![[EE1]] = !{!"branch_weights", i32 1, i32 2}
478-
// PGOUSE-DAG: ![[EE2]] = !{!"branch_weights", i32 52, i32 1}
479-
// PGOUSE-DAG: ![[EE3]] = !{!"branch_weights", i32 2, i32 51}
480-
// PGOUSE-DAG: ![[EE4]] = !{!"branch_weights", i32 26, i32 26}
481-
// PGOUSE-DAG: ![[EE5]] = !{!"branch_weights", i32 2, i32 1}
482-
// PGOUSE-DAG: ![[EE6]] = !{!"branch_weights", i32 2, i32 26}
483-
// PGOUSE-DAG: ![[EE7]] = !{!"branch_weights", i32 26, i32 1}
484-
485-
// PGOUSE-DAG: ![[IF1]] = !{!"branch_weights", i32 101, i32 2}
486-
// PGOUSE-DAG: ![[IF2]] = !{!"branch_weights", i32 51, i32 51}
487-
// PGOUSE-DAG: ![[IF3]] = !{!"branch_weights", i32 51, i32 1}
488-
// PGOUSE-DAG: ![[IF4]] = !{!"branch_weights", i32 34, i32 18}
489-
// PGOUSE-DAG: ![[IF5]] = !{!"branch_weights", i32 34, i32 1}
490-
// PGOUSE-DAG: ![[IF6]] = !{!"branch_weights", i32 17, i32 2}
491-
// PGOUSE-DAG: ![[IF7]] = !{!"branch_weights", i32 100, i32 2}
492-
// PGOUSE-DAG: ![[IF8]] = !{!"branch_weights", i32 100, i32 2}
493-
494-
// PGOUSE-DAG: ![[JM1]] = !{!"branch_weights", i32 2, i32 1}
495-
// PGOUSE-DAG: ![[JM2]] = !{!"branch_weights", i32 1, i32 2}
496-
// PGOUSE-DAG: ![[JM3]] = !{!"branch_weights", i32 1, i32 2}
497-
// PGOUSE-DAG: ![[JM4]] = !{!"branch_weights", i32 1, i32 2}
498-
// PGOUSE-DAG: ![[JM5]] = !{!"branch_weights", i32 3, i32 2}
499-
// PGOUSE-DAG: ![[JM6]] = !{!"branch_weights", i32 1, i32 2}
500-
// PGOUSE-DAG: ![[JM7]] = !{!"branch_weights", i32 1, i32 2, i32 2, i32 2}
501-
// PGOUSE-DAG: ![[JM8]] = !{!"branch_weights", i32 11, i32 2}
502-
// PGOUSE-DAG: ![[JM9]] = !{!"branch_weights", i32 10, i32 2}
503-
504-
// PGOUSE-DAG: ![[SW1]] = !{!"branch_weights", i32 16, i32 1}
505-
// PGOUSE-DAG: ![[SW2]] = !{!"branch_weights", i32 6, i32 2, i32 3, i32 4, i32 5}
506-
// PGOUSE-DAG: ![[SW3]] = !{!"branch_weights", i32 1, i32 2}
507-
// PGOUSE-DAG: ![[SW4]] = !{!"branch_weights", i32 3, i32 2}
508-
// PGOUSE-DAG: ![[SW5]] = !{!"branch_weights", i32 4, i32 1}
509-
// PGOUSE-DAG: ![[SW6]] = !{!"branch_weights", i32 5, i32 1}
510-
// PGOUSE-DAG: ![[SW7]] = !{!"branch_weights", i32 1, i32 2, i32 2, i32 2, i32 2}
511-
// PGOUSE-DAG: ![[SW8]] = !{!"branch_weights", i32 5, i32 1}
512-
// PGOUSE-DAG: ![[SW9]] = !{!"branch_weights", i32 2, i32 5}
513-
514-
// PGOUSE-DAG: ![[BS1]] = !{!"branch_weights", i32 33, i32 2}
515-
// PGOUSE-DAG: ![[BS2]] = !{!"branch_weights", i32 29, i32 2, i32 2, i32 2, i32 2, i32 1}
516-
// PGOUSE-DAG: ![[BS3]] = !{!"branch_weights", i32 1, i32 2}
517-
// PGOUSE-DAG: ![[BS4]] = !{!"branch_weights", i32 2, i32 2}
518-
// PGOUSE-DAG: ![[BS5]] = !{!"branch_weights", i32 12, i32 1}
519-
// PGOUSE-DAG: ![[BS6]] = !{!"branch_weights", i32 12, i32 3}
520-
// PGOUSE-DAG: ![[BS7]] = !{!"branch_weights", i32 2, i32 1}
521-
// PGOUSE-DAG: ![[BS8]] = !{!"branch_weights", i32 16, i32 1}
522-
// PGOUSE-DAG: ![[BS9]] = !{!"branch_weights", i32 16, i32 14}
523-
// PGOUSE-DAG: ![[BS10]] = !{!"branch_weights", i32 2, i32 1}
524-
// PGOUSE-DAG: ![[BS11]] = !{!"branch_weights", i32 3, i32 1}
525-
526-
// PGOUSE-DAG: ![[BO1]] = !{!"branch_weights", i32 101, i32 2}
527-
// PGOUSE-DAG: ![[BO2]] = !{!"branch_weights", i32 67, i32 35}
528-
// PGOUSE-DAG: ![[BO3]] = !{!"branch_weights", i32 67, i32 35}
529-
// PGOUSE-DAG: ![[BO4]] = !{!"branch_weights", i32 67, i32 35}
530-
// PGOUSE-DAG: ![[BO5]] = !{!"branch_weights", i32 18, i32 18}
531-
// PGOUSE-DAG: ![[BO6]] = !{!"branch_weights", i32 51, i32 51}
532-
// PGOUSE-DAG: ![[BO7]] = !{!"branch_weights", i32 34, i32 18}
533-
// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i32 52, i32 1}
534-
// PGOUSE-DAG: ![[BL2]] = !{!"branch_weights", i32 51, i32 2}
535-
// PGOUSE-DAG: ![[BL3]] = !{!"branch_weights", i32 26, i32 27}
536-
// PGOUSE-DAG: ![[BL4]] = !{!"branch_weights", i32 51, i32 2}
537-
// PGOUSE-DAG: ![[BL5]] = !{!"branch_weights", i32 52, i32 1}
538-
// PGOUSE-DAG: ![[BL6]] = !{!"branch_weights", i32 51, i32 2}
539-
// PGOUSE-DAG: ![[BL7]] = !{!"branch_weights", i32 26, i32 27}
540-
// PGOUSE-DAG: ![[BL8]] = !{!"branch_weights", i32 51, i32 2}
541-
// PGOUSE-DAG: ![[CO1]] = !{!"branch_weights", i32 1, i32 2}
542-
// PGOUSE-DAG: ![[CO2]] = !{!"branch_weights", i32 2, i32 1}
543-
544-
// PGOUSE-DAG: ![[DF1]] = !{!"branch_weights", i32 11, i32 2}
545-
// PGOUSE-DAG: ![[DF2]] = !{!"branch_weights", i32 3, i32 3}
546-
// PGOUSE-DAG: ![[DF3]] = !{!"branch_weights", i32 9, i32 5}
547-
548-
// PGOUSE-DAG: ![[ST1]] = !{!"branch_weights", i32 11, i32 2}
473+
// PGOUSE-DAG: ![[SL1]] = !{!"branch_weights", i64 101, i64 2}
474+
// PGOUSE-DAG: ![[SL2]] = !{!"branch_weights", i64 101, i64 2}
475+
// PGOUSE-DAG: ![[SL3]] = !{!"branch_weights", i64 76, i64 2}
476+
477+
// PGOUSE-DAG: ![[EE1]] = !{!"branch_weights", i64 1, i64 2}
478+
// PGOUSE-DAG: ![[EE2]] = !{!"branch_weights", i64 52, i64 1}
479+
// PGOUSE-DAG: ![[EE3]] = !{!"branch_weights", i64 2, i64 51}
480+
// PGOUSE-DAG: ![[EE4]] = !{!"branch_weights", i64 26, i64 26}
481+
// PGOUSE-DAG: ![[EE5]] = !{!"branch_weights", i64 2, i64 1}
482+
// PGOUSE-DAG: ![[EE6]] = !{!"branch_weights", i64 2, i64 26}
483+
// PGOUSE-DAG: ![[EE7]] = !{!"branch_weights", i64 26, i64 1}
484+
485+
// PGOUSE-DAG: ![[IF1]] = !{!"branch_weights", i64 101, i64 2}
486+
// PGOUSE-DAG: ![[IF2]] = !{!"branch_weights", i64 51, i64 51}
487+
// PGOUSE-DAG: ![[IF3]] = !{!"branch_weights", i64 51, i64 1}
488+
// PGOUSE-DAG: ![[IF4]] = !{!"branch_weights", i64 34, i64 18}
489+
// PGOUSE-DAG: ![[IF5]] = !{!"branch_weights", i64 34, i64 1}
490+
// PGOUSE-DAG: ![[IF6]] = !{!"branch_weights", i64 17, i64 2}
491+
// PGOUSE-DAG: ![[IF7]] = !{!"branch_weights", i64 100, i64 2}
492+
// PGOUSE-DAG: ![[IF8]] = !{!"branch_weights", i64 100, i64 2}
493+
494+
// PGOUSE-DAG: ![[JM1]] = !{!"branch_weights", i64 2, i64 1}
495+
// PGOUSE-DAG: ![[JM2]] = !{!"branch_weights", i64 1, i64 2}
496+
// PGOUSE-DAG: ![[JM3]] = !{!"branch_weights", i64 1, i64 2}
497+
// PGOUSE-DAG: ![[JM4]] = !{!"branch_weights", i64 1, i64 2}
498+
// PGOUSE-DAG: ![[JM5]] = !{!"branch_weights", i64 3, i64 2}
499+
// PGOUSE-DAG: ![[JM6]] = !{!"branch_weights", i64 1, i64 2}
500+
// PGOUSE-DAG: ![[JM7]] = !{!"branch_weights", i64 1, i64 2, i64 2, i64 2}
501+
// PGOUSE-DAG: ![[JM8]] = !{!"branch_weights", i64 11, i64 2}
502+
// PGOUSE-DAG: ![[JM9]] = !{!"branch_weights", i64 10, i64 2}
503+
504+
// PGOUSE-DAG: ![[SW1]] = !{!"branch_weights", i64 16, i64 1}
505+
// PGOUSE-DAG: ![[SW2]] = !{!"branch_weights", i64 6, i64 2, i64 3, i64 4, i64 5}
506+
// PGOUSE-DAG: ![[SW3]] = !{!"branch_weights", i64 1, i64 2}
507+
// PGOUSE-DAG: ![[SW4]] = !{!"branch_weights", i64 3, i64 2}
508+
// PGOUSE-DAG: ![[SW5]] = !{!"branch_weights", i64 4, i64 1}
509+
// PGOUSE-DAG: ![[SW6]] = !{!"branch_weights", i64 5, i64 1}
510+
// PGOUSE-DAG: ![[SW7]] = !{!"branch_weights", i64 1, i64 2, i64 2, i64 2, i64 2}
511+
// PGOUSE-DAG: ![[SW8]] = !{!"branch_weights", i64 5, i64 1}
512+
// PGOUSE-DAG: ![[SW9]] = !{!"branch_weights", i64 2, i64 5}
513+
514+
// PGOUSE-DAG: ![[BS1]] = !{!"branch_weights", i64 33, i64 2}
515+
// PGOUSE-DAG: ![[BS2]] = !{!"branch_weights", i64 29, i64 2, i64 2, i64 2, i64 2, i64 1}
516+
// PGOUSE-DAG: ![[BS3]] = !{!"branch_weights", i64 1, i64 2}
517+
// PGOUSE-DAG: ![[BS4]] = !{!"branch_weights", i64 2, i64 2}
518+
// PGOUSE-DAG: ![[BS5]] = !{!"branch_weights", i64 12, i64 1}
519+
// PGOUSE-DAG: ![[BS6]] = !{!"branch_weights", i64 12, i64 3}
520+
// PGOUSE-DAG: ![[BS7]] = !{!"branch_weights", i64 2, i64 1}
521+
// PGOUSE-DAG: ![[BS8]] = !{!"branch_weights", i64 16, i64 1}
522+
// PGOUSE-DAG: ![[BS9]] = !{!"branch_weights", i64 16, i64 14}
523+
// PGOUSE-DAG: ![[BS10]] = !{!"branch_weights", i64 2, i64 1}
524+
// PGOUSE-DAG: ![[BS11]] = !{!"branch_weights", i64 3, i64 1}
525+
526+
// PGOUSE-DAG: ![[BO1]] = !{!"branch_weights", i64 101, i64 2}
527+
// PGOUSE-DAG: ![[BO2]] = !{!"branch_weights", i64 67, i64 35}
528+
// PGOUSE-DAG: ![[BO3]] = !{!"branch_weights", i64 67, i64 35}
529+
// PGOUSE-DAG: ![[BO4]] = !{!"branch_weights", i64 67, i64 35}
530+
// PGOUSE-DAG: ![[BO5]] = !{!"branch_weights", i64 18, i64 18}
531+
// PGOUSE-DAG: ![[BO6]] = !{!"branch_weights", i64 51, i64 51}
532+
// PGOUSE-DAG: ![[BO7]] = !{!"branch_weights", i64 34, i64 18}
533+
// PGOUSE-DAG: ![[BL1]] = !{!"branch_weights", i64 52, i64 1}
534+
// PGOUSE-DAG: ![[BL2]] = !{!"branch_weights", i64 51, i64 2}
535+
// PGOUSE-DAG: ![[BL3]] = !{!"branch_weights", i64 26, i64 27}
536+
// PGOUSE-DAG: ![[BL4]] = !{!"branch_weights", i64 51, i64 2}
537+
// PGOUSE-DAG: ![[BL5]] = !{!"branch_weights", i64 52, i64 1}
538+
// PGOUSE-DAG: ![[BL6]] = !{!"branch_weights", i64 51, i64 2}
539+
// PGOUSE-DAG: ![[BL7]] = !{!"branch_weights", i64 26, i64 27}
540+
// PGOUSE-DAG: ![[BL8]] = !{!"branch_weights", i64 51, i64 2}
541+
// PGOUSE-DAG: ![[CO1]] = !{!"branch_weights", i64 1, i64 2}
542+
// PGOUSE-DAG: ![[CO2]] = !{!"branch_weights", i64 2, i64 1}
543+
544+
// PGOUSE-DAG: ![[DF1]] = !{!"branch_weights", i64 11, i64 2}
545+
// PGOUSE-DAG: ![[DF2]] = !{!"branch_weights", i64 3, i64 3}
546+
// PGOUSE-DAG: ![[DF3]] = !{!"branch_weights", i64 9, i64 5}
547+
548+
// PGOUSE-DAG: ![[ST1]] = !{!"branch_weights", i64 11, i64 2}
549549

550550
int main(int argc, const char *argv[]) {
551551
simple_loops();

0 commit comments

Comments
 (0)