From: Shawn Landden Date: Sun, 26 May 2019 14:44:14 +0000 (+0000) Subject: [SimplifyCFG] NFC, fix failing tests from last patches. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=53a70ce23f855c576769e51d2896c428ff5085c2;p=llvm [SimplifyCFG] NFC, fix failing tests from last patches. No problems with the transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361730 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/SimplifyCFG/CoveredLookupTable.ll b/test/Transforms/SimplifyCFG/CoveredLookupTable.ll index e558956d502..79a6d01d0f3 100644 --- a/test/Transforms/SimplifyCFG/CoveredLookupTable.ll +++ b/test/Transforms/SimplifyCFG/CoveredLookupTable.ll @@ -1,3 +1,4 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -simplifycfg -switch-to-lookup -S %s | FileCheck %s ; RUN: opt -passes='simplify-cfg' -S %s | FileCheck %s ; rdar://15268442 @@ -5,24 +6,28 @@ target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-darwin12.0.0" -; CHECK-LABEL: define i3 @coveredswitch_test( -; CHECK: entry: -; CHECK-NEXT: sub i3 %input, -4 -; CHECK-NEXT: zext i3 %switch.tableidx to i24 -; CHECK-NEXT: mul i24 %switch.cast, 3 -; CHECK-NEXT: lshr i24 7507338, %switch.shiftamt -; CHECK-NEXT: trunc i24 %switch.downshift to i3 -; CHECK-NEXT: ret i3 %switch.masked - define i3 @coveredswitch_test(i3 %input) { +; CHECK-LABEL: @coveredswitch_test( +; CHECK-NEXT: entry: +; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[INPUT:%.*]], -2 +; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[BB8:%.*]] +; CHECK: switch.lookup: +; CHECK-NEXT: [[SWITCH_CAST:%.*]] = zext i3 [[INPUT]] to i18 +; CHECK-NEXT: [[SWITCH_SHIFTAMT:%.*]] = mul i18 [[SWITCH_CAST]], 3 +; CHECK-NEXT: [[SWITCH_DOWNSHIFT:%.*]] = lshr i18 42792, [[SWITCH_SHIFTAMT]] +; CHECK-NEXT: [[SWITCH_MASKED:%.*]] = trunc i18 [[SWITCH_DOWNSHIFT]] to i3 +; CHECK-NEXT: ret i3 [[SWITCH_MASKED]] +; CHECK: bb8: +; CHECK-NEXT: ret i3 -2 +; entry: switch i3 %input, label %bb8 [ - i3 0, label %bb7 - i3 1, label %bb - i3 2, label %bb3 - i3 3, label %bb4 - i3 4, label %bb5 - i3 5, label %bb6 + i3 0, label %bb7 + i3 1, label %bb + i3 2, label %bb3 + i3 3, label %bb4 + i3 4, label %bb5 + i3 5, label %bb6 ] bb: ; preds = %entry diff --git a/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll b/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll index 735a97f305e..05e5e863937 100644 --- a/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll +++ b/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll @@ -5,10 +5,6 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; In the presence of "-no-jump-tables"="true", simplifycfg should not convert switches to lookup tables. -; CHECK: @switch.table.bar = private unnamed_addr constant [4 x i32] [i32 55, i32 123, i32 0, i32 -1] -; CHECK-LABEL: foo -; CHECK-NOT: @switch.table.foo = private unnamed_addr constant [4 x i32] [i32 55, i32 123, i32 0, i32 -1] - define i32 @foo(i32 %c) "no-jump-tables"="true" { ; CHECK-LABEL: @foo( ; CHECK-NEXT: entry: diff --git a/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll b/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll index f1c550cf94f..2cdc7257fa9 100644 --- a/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll +++ b/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll @@ -20,10 +20,10 @@ target triple = "x86_64-unknown-linux-gnu" ; CHECK: @switch.table.earlyreturncrash = private unnamed_addr constant [4 x i32] [i32 42, i32 9, i32 88, i32 5], align 4 ; The table for @large -; CHECK: @switch.table.large = private unnamed_addr constant [199 x i32] [i32 1, i32 4, i32 9, +; CHECK: @switch.table.large = private unnamed_addr constant [200 x i32] [i32 0, i32 1, i32 4, i32 9, ; The table for @cprop -; CHECK: @switch.table.cprop = private unnamed_addr constant [7 x i32] [i32 5, i32 42, i32 126, i32 -452, i32 128, i32 6, i32 7], align 4 +; CHECK: @switch.table.cprop = private unnamed_addr constant [8 x i32] [i32 123, i32 5, i32 42, i32 126, i32 -452, i32 128, i32 6, i32 7], align 4 ; The table for @unreachable_case ; CHECK: @switch.table.unreachable_case = private unnamed_addr constant [9 x i32] [i32 0, i32 0, i32 0, i32 2, i32 -1, i32 1, i32 1, i32 1, i32 1], align 4