diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2009-01-15 17:01:23 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2009-01-15 17:01:23 +0000 |
| commit | 60e19a46f2888a2247004e1da168525038a0848e (patch) | |
| tree | 684387ad4a5341837dee9ee592ecaa22e8e46fc3 /llvm/test | |
| parent | 91febd133067b8a592c6910b64587d743faa660a (diff) | |
| download | bcm5719-llvm-60e19a46f2888a2247004e1da168525038a0848e.tar.gz bcm5719-llvm-60e19a46f2888a2247004e1da168525038a0848e.zip | |
- Teach CanEvaluateInDifferentType of this xform: sext (zext ty1), ty2 -> zext ty2
- Looking at the number of sign bits of the a sext instruction to determine whether new trunc + sext pair should be added when its source is being evaluated in a different type.
llvm-svn: 62263
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/cast-sext-zext.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/cast-sext-zext.ll b/llvm/test/Transforms/InstCombine/cast-sext-zext.ll new file mode 100644 index 00000000000..da5e7facfad --- /dev/null +++ b/llvm/test/Transforms/InstCombine/cast-sext-zext.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep sext + +define zeroext i16 @t(i8 zeroext %on_off, i16* nocapture %puls) nounwind readonly { +entry: + %0 = zext i8 %on_off to i32 + %1 = add i32 %0, -1 + %2 = sext i32 %1 to i64 + %3 = getelementptr i16* %puls, i64 %2 + %4 = load i16* %3, align 2 + ret i16 %4 +} |

