Skip to content

Commit 90adef2

Browse files
committed
Fix switch undef
1 parent c11602f commit 90adef2

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

llvm/test/Transforms/Attributor/IPConstantProp/fp-bc-icmp-const-fold.ll

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ define void @test(i32 signext %n, i1 %arg) {
1717
; CHECK: if.then2:
1818
; CHECK-NEXT: unreachable
1919
; CHECK: if.end4:
20-
; CHECK-NEXT: switch i32 undef, label [[IF_ELSE14:%.*]] [
20+
; CHECK-NEXT: switch i32 [[N]], label [[IF_ELSE14:%.*]] [
2121
; CHECK-NEXT: i32 0, label [[IF_THEN9:%.*]]
2222
; CHECK-NEXT: i32 1, label [[IF_THEN12:%.*]]
2323
; CHECK-NEXT: ]
@@ -26,13 +26,16 @@ define void @test(i32 signext %n, i1 %arg) {
2626
; CHECK: if.then12:
2727
; CHECK-NEXT: unreachable
2828
; CHECK: if.else14:
29-
; CHECK-NEXT: unreachable
29+
; CHECK-NEXT: br label [[DO_BODY:%.*]]
3030
; CHECK: do.body:
31-
; CHECK-NEXT: unreachable
31+
; CHECK-NEXT: [[SCALE_0:%.*]] = phi ppc_fp128 [ 0xM3FF00000000000000000000000000000, [[IF_ELSE14]] ], [ [[SCALE_0]], [[DO_BODY]] ]
32+
; CHECK-NEXT: br i1 [[ARG]], label [[DO_BODY]], label [[IF_THEN33:%.*]]
3233
; CHECK: if.then33:
33-
; CHECK-NEXT: unreachable
34+
; CHECK-NEXT: br i1 [[ARG]], label [[_ZN5BOOST4MATH4SIGNIGEEIRKT__EXIT30:%.*]], label [[COND_FALSE_I28:%.*]]
3435
; CHECK: cond.false.i28:
35-
; CHECK-NEXT: unreachable
36+
; CHECK-NEXT: [[TMP0:%.*]] = bitcast ppc_fp128 [[SCALE_0]] to i128
37+
; CHECK-NEXT: [[TOBOOL_I26:%.*]] = icmp slt i128 [[TMP0]], 0
38+
; CHECK-NEXT: br label [[_ZN5BOOST4MATH4SIGNIGEEIRKT__EXIT30]]
3639
; CHECK: _ZN5boost4math4signIgEEiRKT_.exit30:
3740
; CHECK-NEXT: unreachable
3841
;
@@ -50,8 +53,7 @@ if.then2: ; preds = %if.end
5053
unreachable
5154

5255
if.end4: ; preds = %if.end
53-
%sub.n = select i1 undef, i32 undef, i32 %n
54-
switch i32 %sub.n, label %if.else14 [
56+
switch i32 %n, label %if.else14 [
5557
i32 0, label %if.then9
5658
i32 1, label %if.then12
5759
]

0 commit comments

Comments
 (0)