From f35fd547ac2de1146707a8683e725d6e15a0538a Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Thu, 15 Jan 2009 17:01:23 +0000 Subject: - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62263 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/cast-sext-zext.ll | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 test/Transforms/InstCombine/cast-sext-zext.ll (limited to 'test/Transforms') diff --git a/test/Transforms/InstCombine/cast-sext-zext.ll b/test/Transforms/InstCombine/cast-sext-zext.ll new file mode 100644 index 0000000..da5e7fa --- /dev/null +++ b/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 +} -- cgit v1.1