diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2016-04-11 15:19:44 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2016-04-11 15:19:44 +0000 |
| commit | 2d2d67994c429c0bf28296b6ae47dee5d7c0951d (patch) | |
| tree | ddeab257858333540813b70928eb15f3e3252a56 /llvm/test | |
| parent | 6f6fa362442ed9e713fbfdc1331324407c134fab (diff) | |
| download | bcm5719-llvm-2d2d67994c429c0bf28296b6ae47dee5d7c0951d.tar.gz bcm5719-llvm-2d2d67994c429c0bf28296b6ae47dee5d7c0951d.zip | |
[InstCombine] replace test that no longer works as intended
This is step 1 of refactoring to solve PR26760:
https://llvm.org/bugs/show_bug.cgi?id=26760
llvm-svn: 265946
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/2012-05-27-Negative-Shift-Crash.ll | 57 | ||||
| -rw-r--r-- | llvm/test/Transforms/InstCombine/shift-shift.ll | 22 |
2 files changed, 22 insertions, 57 deletions
diff --git a/llvm/test/Transforms/InstCombine/2012-05-27-Negative-Shift-Crash.ll b/llvm/test/Transforms/InstCombine/2012-05-27-Negative-Shift-Crash.ll deleted file mode 100644 index ba57baf2371..00000000000 --- a/llvm/test/Transforms/InstCombine/2012-05-27-Negative-Shift-Crash.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: opt -inline -instcombine -S < %s -; PR12967 - -target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" -target triple = "x86_64-apple-macosx10.7.0" - -@d = common global i32 0, align 4 -@c = common global i32 0, align 4 -@e = common global i32 0, align 4 -@f = common global i32 0, align 4 -@a = common global i32 0, align 4 -@b = common global i32 0, align 4 - -define signext i8 @fn1(i32 %p1) nounwind uwtable readnone ssp { -entry: - %shr = lshr i32 1, %p1 - %conv = trunc i32 %shr to i8 - ret i8 %conv -} - -define void @fn4() nounwind uwtable ssp { -entry: - %0 = load i32, i32* @d, align 4 - %cmp = icmp eq i32 %0, 0 - %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @c, align 4 - tail call void @fn3(i32 %conv) nounwind - ret void -} - -define void @fn3(i32 %p1) nounwind uwtable ssp { -entry: - %and = and i32 %p1, 8 - store i32 %and, i32* @e, align 4 - %sub = add nsw i32 %and, -1 - store i32 %sub, i32* @f, align 4 - %0 = load i32, i32* @a, align 4 - %tobool = icmp eq i32 %0, 0 - br i1 %tobool, label %if.else, label %if.then - -if.then: ; preds = %entry - %1 = load i32, i32* @b, align 4 - %.lobit = lshr i32 %1, 31 - %2 = trunc i32 %.lobit to i8 - %.not = xor i8 %2, 1 - br label %if.end - -if.else: ; preds = %entry - %call = tail call signext i8 @fn1(i32 %sub) nounwind - br label %if.end - -if.end: ; preds = %if.else, %if.then - %storemerge.in = phi i8 [ %call, %if.else ], [ %.not, %if.then ] - %storemerge = sext i8 %storemerge.in to i32 - store i32 %storemerge, i32* @b, align 4 - ret void -} diff --git a/llvm/test/Transforms/InstCombine/shift-shift.ll b/llvm/test/Transforms/InstCombine/shift-shift.ll new file mode 100644 index 00000000000..23a45e0967f --- /dev/null +++ b/llvm/test/Transforms/InstCombine/shift-shift.ll @@ -0,0 +1,22 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt < %s -instcombine -S | FileCheck %s + +; This would crash if we didn't check for a negative shift. + +define void @pr12967() { +; CHECK-LABEL: @pr12967( +; CHECK-NEXT: entry: +; CHECK-NEXT: br label %loop +; CHECK: loop: +; CHECK-NEXT: br label %loop +; +entry: + br label %loop + +loop: + %c = phi i32 [ %shl, %loop ], [ undef, %entry ] + %shr = shl i32 %c, 7 + %shl = lshr i32 %shr, -2 + br label %loop +} + |

