brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 3fbb02d Raw
49 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -S -passes="default<O3>" < %s | FileCheck %s3 4define i8 @test_switch_with_sext_phi(i8 %code) {5; CHECK-LABEL: define noundef i8 @test_switch_with_sext_phi(6; CHECK-SAME: i8 [[CODE:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {7; CHECK-NEXT:  entry:8; CHECK-NEXT:    switch i8 [[CODE]], label [[SW_EPILOG:%.*]] [9; CHECK-NEXT:      i8 108, label [[SW_BB2:%.*]]10; CHECK-NEXT:      i8 76, label [[SW_BB3:%.*]]11; CHECK-NEXT:    ]12; CHECK:       sw.bb2:13; CHECK-NEXT:    br label [[SW_EPILOG]]14; CHECK:       sw.bb3:15; CHECK-NEXT:    br label [[SW_EPILOG]]16; CHECK:       sw.epilog:17; CHECK-NEXT:    [[PEP_CODE:%.*]] = phi i8 [ 81, [[SW_BB3]] ], [ 113, [[SW_BB2]] ], [ [[CODE]], [[ENTRY:%.*]] ]18; CHECK-NEXT:    ret i8 [[PEP_CODE]]19;20entry:21  %conv = sext i8 %code to i3222  switch i32 %conv, label %sw.default [23  i32 105, label %sw.epilog24  i32 73, label %sw.bb125  i32 108, label %sw.bb226  i32 76, label %sw.bb327  i32 63, label %sw.bb428  ]29 30sw.bb1:31  br label %sw.epilog32 33sw.bb2:34  br label %sw.epilog35 36sw.bb3:37  br label %sw.epilog38 39sw.bb4:40  br label %sw.epilog41 42sw.default:43  br label %sw.epilog44 45sw.epilog:46  %pep_code = phi i8 [ %code, %sw.default ], [ 63, %sw.bb4 ], [ 81, %sw.bb3 ], [ 113, %sw.bb2 ], [ 73, %sw.bb1 ], [ 105, %entry ]47  ret i8 %pep_code48}49