summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-07 19:11:46 +0000
committerChris Lattner <sabre@nondot.org>2009-11-07 19:11:46 +0000
commitc77d24b792de28cfe0140d24da3a0789da749be1 (patch)
tree79020518f53525b00b9d09f726ea267387b9d199 /llvm/test
parent8714348afda10ca13f84c62db7b4f9c72a27b240 (diff)
downloadbcm5719-llvm-c77d24b792de28cfe0140d24da3a0789da749be1.tar.gz
bcm5719-llvm-c77d24b792de28cfe0140d24da3a0789da749be1.zip
make instcombine only rewrite a chain of computation
(eliminating some extends) if the new type of the computation is legal or if both the source and dest are illegal. This prevents instcombine from changing big chains of computation into i64 on 32-bit targets for example. llvm-svn: 86398
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll2
-rw-r--r--llvm/test/Transforms/InstCombine/apint-cast.ll2
-rw-r--r--llvm/test/Transforms/InstCombine/cast-mul-select.ll2
-rw-r--r--llvm/test/Transforms/InstCombine/cast-set.ll2
-rw-r--r--llvm/test/Transforms/InstCombine/udivrem-change-width.ll2
5 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll b/llvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll
index a49829af2ee..87c2b75d249 100644
--- a/llvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll
+++ b/llvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll
@@ -1,5 +1,7 @@
; RUN: opt < %s -instcombine -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"
+
define i16 @test1(i16 %a) {
%tmp = zext i16 %a to i32 ; <i32> [#uses=2]
%tmp21 = lshr i32 %tmp, 8 ; <i32> [#uses=1]
diff --git a/llvm/test/Transforms/InstCombine/apint-cast.ll b/llvm/test/Transforms/InstCombine/apint-cast.ll
index 9bc539ed8b2..85e7a4fca93 100644
--- a/llvm/test/Transforms/InstCombine/apint-cast.ll
+++ b/llvm/test/Transforms/InstCombine/apint-cast.ll
@@ -1,6 +1,8 @@
; Tests to make sure elimination of casts is working correctly
; RUN: opt < %s -instcombine -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"
+
define i17 @test1(i17 %a) {
%tmp = zext i17 %a to i37 ; <i37> [#uses=2]
%tmp21 = lshr i37 %tmp, 8 ; <i37> [#uses=1]
diff --git a/llvm/test/Transforms/InstCombine/cast-mul-select.ll b/llvm/test/Transforms/InstCombine/cast-mul-select.ll
index fcb7e2301d7..dac8c8b128d 100644
--- a/llvm/test/Transforms/InstCombine/cast-mul-select.ll
+++ b/llvm/test/Transforms/InstCombine/cast-mul-select.ll
@@ -1,5 +1,7 @@
; RUN: opt < %s -instcombine -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"
+
define i32 @mul(i32 %x, i32 %y) {
%A = trunc i32 %x to i8
%B = trunc i32 %y to i8
diff --git a/llvm/test/Transforms/InstCombine/cast-set.ll b/llvm/test/Transforms/InstCombine/cast-set.ll
index 611ded473ef..893440424c4 100644
--- a/llvm/test/Transforms/InstCombine/cast-set.ll
+++ b/llvm/test/Transforms/InstCombine/cast-set.ll
@@ -1,6 +1,8 @@
; This tests for various complex cast elimination cases instcombine should
; handle.
+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"
+
; RUN: opt < %s -instcombine -S | FileCheck %s
define i1 @test1(i32 %X) {
diff --git a/llvm/test/Transforms/InstCombine/udivrem-change-width.ll b/llvm/test/Transforms/InstCombine/udivrem-change-width.ll
index 56877e30f9c..9983944df8d 100644
--- a/llvm/test/Transforms/InstCombine/udivrem-change-width.ll
+++ b/llvm/test/Transforms/InstCombine/udivrem-change-width.ll
@@ -1,6 +1,8 @@
; RUN: opt < %s -instcombine -S | not grep zext
; PR4548
+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"
+
define i8 @udiv_i8(i8 %a, i8 %b) nounwind {
%conv = zext i8 %a to i32
%conv2 = zext i8 %b to i32
OpenPOWER on IntegriCloud