Revert r149110 and add a testcase that was crashing since that revision.

Unfortunately I also had to disable constant-pool-sharing.ll the code it tests has been
updated to use the IL logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149148 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2012-01-27 22:42:48 +00:00
parent 907cc8f38d
commit 41cedd740d
4 changed files with 15 additions and 53 deletions

View File

@@ -1,8 +1,5 @@
; RUN: opt < %s -constprop -die -S | FileCheck %s
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.2"
; This is a basic sanity check for constant propagation. The add instruction
; should be eliminated.
define i32 @test1(i1 %B) {
@@ -43,11 +40,3 @@ define i1 @TNAN() {
%C = or i1 %A, %B
ret i1 %C
}
define i128 @vector_to_int_cast() {
%A = bitcast <4 x i32> <i32 1073741824, i32 1073741824, i32 1073741824, i32 1073741824> to i128
ret i128 %A
; CHECK: @vector_to_int_cast
; CHECK: ret i128 85070591750041656499021422275829170176
}

View File

@@ -121,8 +121,8 @@ define i1 @test12(i1 %A) {
%B = icmp ne i64 bitcast (<2 x i32> <i32 1, i32 -1> to i64), %S
ret i1 %B
; CHECK: @test12
; CHECK-NEXT: = xor i1 %A, true
; CHECK-NEXT: ret i1
; CHECK-NEXT: %B = select i1
; CHECK-NEXT: ret i1 %B
}
; PR6481
@@ -580,3 +580,13 @@ define zeroext i1 @cmpabs2(i64 %val) {
%tobool = icmp ne i64 %sub.val, 0
ret i1 %tobool
}
; test that we don't crash
; CHECK: @test58
define void @test58() nounwind {
entry:
%0 = bitcast <1 x i64> <i64 36029346783166592> to i64
%call = call i32 @test58_d( i64 %0) nounwind
ret void
}
declare i32 @test58_d(i64)