brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · f796b8c Raw
98 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -passes=lower-switch -S | FileCheck %s3define void @i3_range_4(i3 %0) {4; CHECK-LABEL: define void @i3_range_4(5; CHECK-SAME: i3 [[TMP0:%.*]]) {6; CHECK-NEXT:  [[BB_0:.*:]]7; CHECK-NEXT:    br label %[[LEAFBLOCK:.*]]8; CHECK:       [[LEAFBLOCK]]:9; CHECK-NEXT:    [[DOTOFF:%.*]] = add i3 [[TMP0]], 210; CHECK-NEXT:    [[SWITCHLEAF:%.*]] = icmp ule i3 [[DOTOFF]], -411; CHECK-NEXT:    br i1 [[SWITCHLEAF]], label %[[BB_1:.*]], label %[[BB_2:.*]]12; CHECK:       [[BB_1]]:13; CHECK-NEXT:    [[TMP:%.*]] = phi i3 [ 0, %[[LEAFBLOCK]] ]14; CHECK-NEXT:    br label %[[BB_2]]15; CHECK:       [[BB_2]]:16; CHECK-NEXT:    ret void17;18bb.0:19  switch i3 %0, label %bb.2 [20  i3 -1, label %bb.121  i3 -2, label %bb.122  i3 2, label %bb.123  i3 1, label %bb.124  i3 0, label %bb.125  ]26 27bb.1:                                             ; preds = %bb.0, %bb.0, %bb.0, %bb.0, %bb.028  %tmp = phi i3 [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ]29  br label %bb.230 31bb.2:                                             ; preds = %bb.1, %bb.032  ret void33}34 35define void @i3_range_6(i3 %0) {36; CHECK-LABEL: define void @i3_range_6(37; CHECK-SAME: i3 [[TMP0:%.*]]) {38; CHECK-NEXT:  [[BB_0:.*:]]39; CHECK-NEXT:    br label %[[LEAFBLOCK:.*]]40; CHECK:       [[LEAFBLOCK]]:41; CHECK-NEXT:    [[SWITCHLEAF:%.*]] = icmp sge i3 [[TMP0]], -342; CHECK-NEXT:    br i1 [[SWITCHLEAF]], label %[[BB_1:.*]], label %[[BB_2:.*]]43; CHECK:       [[BB_1]]:44; CHECK-NEXT:    [[TMP:%.*]] = phi i3 [ 0, %[[LEAFBLOCK]] ]45; CHECK-NEXT:    br label %[[BB_2]]46; CHECK:       [[BB_2]]:47; CHECK-NEXT:    ret void48;49bb.0:50  switch i3 %0, label %bb.2 [51  i3 -1, label %bb.152  i3 -2, label %bb.153  i3 -3, label %bb.154  i3 3, label %bb.155  i3 2, label %bb.156  i3 1, label %bb.157  i3 0, label %bb.158  ]59 60bb.1:                                             ; preds = %bb.0, %bb.0, %bb.0, %bb.0, %bb.061  %tmp = phi i3 [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ]62  br label %bb.263 64bb.2:                                             ; preds = %bb.1, %bb.065  ret void66}67 68 69define void @i3_range_7(i3 %0) {70; CHECK-LABEL: define void @i3_range_7(71; CHECK-SAME: i3 [[TMP0:%.*]]) {72; CHECK-NEXT:  [[BB_0:.*:]]73; CHECK-NEXT:    br label %[[BB_1:.*]]74; CHECK:       [[BB_1]]:75; CHECK-NEXT:    br label %[[BB_2:.*]]76; CHECK:       [[BB_2]]:77; CHECK-NEXT:    ret void78;79bb.0:80  switch i3 %0, label %bb.2 [81  i3 -1, label %bb.182  i3 -2, label %bb.183  i3 -3, label %bb.184  i3 -4, label %bb.185  i3 3, label %bb.186  i3 2, label %bb.187  i3 1, label %bb.188  i3 0, label %bb.189  ]90 91bb.1:                                             ; preds = %bb.0, %bb.0, %bb.0, %bb.0, %bb.092  %tmp = phi i3 [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ], [ 0, %bb.0 ]93  br label %bb.294 95bb.2:                                             ; preds = %bb.1, %bb.096  ret void97}98