61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -passes=gvn -S < %s | FileCheck %s3 4; Make sure that performing PRE does not add prof metadata onto newly created5; phi nodes.6define fastcc ptr @foo(i8 %__pred.1.val) {7; CHECK-LABEL: define fastcc ptr @foo(8; CHECK-SAME: i8 [[__PRED_1_VAL:%.*]]) {9; CHECK-NEXT: [[ENTRY:.*:]]10; CHECK-NEXT: switch i64 0, label %[[SW_BB:.*]] [11; CHECK-NEXT: i64 1, label %[[ENTRY_SW_BB26_CRIT_EDGE:.*]]12; CHECK-NEXT: i64 0, label %[[ENTRY_SW_BB21_CRIT_EDGE:.*]]13; CHECK-NEXT: ]14; CHECK: [[ENTRY_SW_BB21_CRIT_EDGE]]:15; CHECK-NEXT: [[DOTPRE:%.*]] = trunc i8 [[__PRED_1_VAL]] to i116; CHECK-NEXT: [[DOTPRE1:%.*]] = select i1 [[DOTPRE]], i64 0, i64 417; CHECK-NEXT: br label %[[SW_BB21:.*]]18; CHECK: [[ENTRY_SW_BB26_CRIT_EDGE]]:19; CHECK-NEXT: [[DOTPRE2:%.*]] = trunc i8 [[__PRED_1_VAL]] to i120; CHECK-NEXT: [[DOTPRE3:%.*]] = select i1 [[DOTPRE2]], i64 0, i64 4, !prof [[PROF0:![0-9]+]]21; CHECK-NEXT: br label %[[SW_BB26:.*]]22; CHECK: [[SW_BB]]:23; CHECK-NEXT: [[L78:%.*]] = trunc i8 [[__PRED_1_VAL]] to i124; CHECK-NEXT: [[C79:%.*]] = select i1 [[L78]], i64 0, i64 425; CHECK-NEXT: br label %[[SW_BB21]]26; CHECK: [[SW_BB21]]:27; CHECK-NEXT: [[C84_PRE_PHI:%.*]] = phi i64 [ [[DOTPRE1]], %[[ENTRY_SW_BB21_CRIT_EDGE]] ], [ [[C79]], %[[SW_BB]] ]28; CHECK-NEXT: [[L83_PRE_PHI:%.*]] = phi i1 [ [[DOTPRE]], %[[ENTRY_SW_BB21_CRIT_EDGE]] ], [ [[L78]], %[[SW_BB]] ]29; CHECK-NEXT: br label %[[SW_BB26]]30; CHECK: [[SW_BB26]]:31; CHECK-NEXT: [[C89_PRE_PHI:%.*]] = phi i64 [ [[DOTPRE3]], %[[ENTRY_SW_BB26_CRIT_EDGE]] ], [ [[C84_PRE_PHI]], %[[SW_BB21]] ]32; CHECK-NEXT: [[L88_PRE_PHI:%.*]] = phi i1 [ [[DOTPRE2]], %[[ENTRY_SW_BB26_CRIT_EDGE]] ], [ [[L83_PRE_PHI]], %[[SW_BB21]] ]33; CHECK-NEXT: ret ptr null34;35entry:36 switch i64 0, label %sw.bb [37 i64 1, label %sw.bb2638 i64 0, label %sw.bb2139 ]40 41sw.bb: ; preds = %entry42 %l78 = trunc i8 %__pred.1.val to i143 %c79 = select i1 %l78, i64 0, i64 444 br label %sw.bb2145 46sw.bb21: ; preds = %sw.bb, %entry47 %l83 = trunc i8 %__pred.1.val to i148 %c84 = select i1 %l83, i64 0, i64 449 br label %sw.bb2650 51sw.bb26: ; preds = %sw.bb21, %entry52 %l88 = trunc i8 %__pred.1.val to i153 %c89 = select i1 %l88, i64 0, i64 4, !prof !054 ret ptr null55}56 57!0 = !{!"branch_weights", i32 3994, i32 883}58;.59; CHECK: [[PROF0]] = !{!"branch_weights", i32 3994, i32 883}60;.61