diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-07 19:11:46 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-07 19:11:46 +0000 |
commit | c77d24b792de28cfe0140d24da3a0789da749be1 (patch) | |
tree | 79020518f53525b00b9d09f726ea267387b9d199 /llvm/test/Transforms/InstCombine/apint-cast.ll | |
parent | 8714348afda10ca13f84c62db7b4f9c72a27b240 (diff) | |
download | bcm5719-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/Transforms/InstCombine/apint-cast.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/apint-cast.ll | 2 |
1 files changed, 2 insertions, 0 deletions
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] |