@@ -46,9 +46,9 @@ define i32 @NegBin(i1 %C) !prof !0 {
4646 ret i32 %V
4747}
4848
49- define i32 @select_C_minus_1_or_C_from_bool (i1 %x ) {
49+ define i32 @select_C_minus_1_or_C_from_bool (i1 %x ) !prof !0 {
5050; CHECK-LABEL: define i32 @select_C_minus_1_or_C_from_bool(
51- ; CHECK-SAME: i1 [[X:%.*]]) {
51+ ; CHECK-SAME: i1 [[X:%.*]]) !prof [[PROF0]] {
5252; CHECK-NEXT: [[ADD:%.*]] = select i1 [[X]], i32 41, i32 42, !prof [[PROF2:![0-9]+]]
5353; CHECK-NEXT: ret i32 [[ADD]]
5454;
@@ -57,9 +57,9 @@ define i32 @select_C_minus_1_or_C_from_bool(i1 %x) {
5757 ret i32 %add
5858}
5959
60- define i5 @and_add (i1 %x , i1 %y ) {
60+ define i5 @and_add (i1 %x , i1 %y ) !prof !0 {
6161; CHECK-LABEL: define i5 @and_add(
62- ; CHECK-SAME: i1 [[X:%.*]], i1 [[Y:%.*]]) {
62+ ; CHECK-SAME: i1 [[X:%.*]], i1 [[Y:%.*]]) !prof [[PROF0]] {
6363; CHECK-NEXT: [[TMP1:%.*]] = xor i1 [[X]], true
6464; CHECK-NEXT: [[TMP2:%.*]] = and i1 [[Y]], [[TMP1]]
6565; CHECK-NEXT: [[R:%.*]] = select i1 [[TMP2]], i5 -2, i5 0, !prof [[PROF2]]
@@ -72,9 +72,9 @@ define i5 @and_add(i1 %x, i1 %y) {
7272 ret i5 %r
7373}
7474
75- define i32 @add_zext_zext_i1 (i1 %a ) {
75+ define i32 @add_zext_zext_i1 (i1 %a ) !prof !0 {
7676; CHECK-LABEL: define i32 @add_zext_zext_i1(
77- ; CHECK-SAME: i1 [[A:%.*]]) {
77+ ; CHECK-SAME: i1 [[A:%.*]]) !prof [[PROF0]] {
7878; CHECK-NEXT: [[ADD:%.*]] = select i1 [[A]], i32 2, i32 0, !prof [[PROF2]]
7979; CHECK-NEXT: ret i32 [[ADD]]
8080;
@@ -83,6 +83,17 @@ define i32 @add_zext_zext_i1(i1 %a) {
8383 ret i32 %add
8484}
8585
86+ define i32 @no_count_no_branch_weights (i1 %a ) {
87+ ; CHECK-LABEL: define i32 @no_count_no_branch_weights(
88+ ; CHECK-SAME: i1 [[A:%.*]]) {
89+ ; CHECK-NEXT: [[ADD:%.*]] = select i1 [[A]], i32 2, i32 0
90+ ; CHECK-NEXT: ret i32 [[ADD]]
91+ ;
92+ %zext = zext i1 %a to i32
93+ %add = add i32 %zext , %zext
94+ ret i32 %add
95+ }
96+
8697
8798!0 = !{!"function_entry_count" , i64 1000 }
8899!1 = !{!"branch_weights" , i32 2 , i32 3 }
0 commit comments