void ab1(int &i) {
// CHECK-LABEL: define{{.*}}ab1
- // CHECK: br {{.*}} !prof !6
- // CHECK: br {{.*}} !prof !6
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY:!.+]]
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (__builtin_expect(a() && b() && a(), 1)) {
++i;
} else {
void al(int &i) {
// CHECK-LABEL: define{{.*}}al
- // CHECK: br {{.*}} !prof !6
- // CHECK: br {{.*}} !prof !6
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (a() && b() && c()) [[likely]] {
++i;
} else {
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY:!.+]]
if (__builtin_expect(a() && b() && c(), 0)) {
++i;
} else {
// CHECK-LABEL: define{{.*}}au
// CHECK: br {{.*}}else{{$}}
// CHECK: br {{.*}}else{{$}}
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (a() && b() && c()) [[unlikely]] {
++i;
} else {
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}rhs{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (__builtin_expect(a() || b() || a(), 1)) {
i = 0;
} else {
// CHECK-LABEL: define{{.*}}ol
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}false2{{$}}
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (a() || b() || c()) [[likely]] {
i = 0;
} else {
void ob0(int &i) {
// CHECK-LABEL: define{{.*}}ob0
- // CHECK: br {{.*}} !prof !9
- // CHECK: br {{.*}} !prof !9
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (__builtin_expect(a() || b() || c(), 0)) {
i = 0;
} else {
void ou(int &i) {
// CHECK-LABEL: define{{.*}}ou
- // CHECK: br {{.*}} !prof !9
- // CHECK: br {{.*}} !prof !9
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (a() || b() || c()) [[unlikely]] {
i = 0;
} else {
void nb1(int &i) {
// CHECK-LABEL: define{{.*}}nb1
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (__builtin_expect(!a(), 1)) {
++i;
} else {
void nl(int &i) {
// CHECK-LABEL: define{{.*}}nl
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (bool d = !a()) [[likely]] {
++i;
} else {
void nb0(int &i) {
// CHECK-LABEL: define{{.*}}nb0
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (__builtin_expect(!a(), 0)) {
++i;
} else {
void nu(int &i) {
// CHECK-LABEL: define{{.*}}nu
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (bool d = !a()) [[unlikely]] {
++i;
} else {
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (__builtin_expect(a() ? b() : c(), 1)) {
++i;
} else {
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (bool d = a() ? b() : c()) [[likely]] {
++i;
} else {
void tl2(int &i) {
// CHECK-LABEL: define{{.*}}tl
// CHECK: br {{.*}}false{{$}}
- // CHECK: br {{.*}} !prof !6
- // CHECK: br {{.*}} !prof !6
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_LIKELY]]
if (a() ? b() : c()) [[likely]] {
++i;
} else {
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (__builtin_expect(a() ? b() : c(), 0)) {
++i;
} else {
// CHECK: br {{.*}}false{{$}}
// CHECK: br {{.*}}end{{$}}
// CHECK: br {{.*}}end{{$}}
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (bool d = a() ? b() : c()) [[unlikely]] {
++i;
} else {
void tu2(int &i) {
// CHECK-LABEL: define{{.*}}tu
// CHECK: br {{.*}}false{{$}}
- // CHECK: br {{.*}} !prof !9
- // CHECK: br {{.*}} !prof !9
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
+ // CHECK: br {{.*}} !prof [[BW_UNLIKELY]]
if (a() ? b() : c()) [[unlikely]] {
++i;
} else {
}
}
-// CHECK: !6 = !{!"branch_weights", i32 2000, i32 1}
-// CHECK: !9 = !{!"branch_weights", i32 1, i32 2000}
+// CHECK: [[BW_LIKELY]] = !{!"branch_weights", i32 2000, i32 1}
+// CHECK: [[BW_UNLIKELY]] = !{!"branch_weights", i32 1, i32 2000}