1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/Transforms/InstCombine/cast-sext-zext.ll
Chris Lattner 26698a600e Fix PR3452 (an infinite loop bootstrapping) by disabling the recent
improvements to the EvaluateInDifferentType code.  This code works 
by just inserted a bunch of new code and then seeing if it is 
useful.  Instcombine is not allowed to do this: it can only insert
new code if it is useful, and only when it is converging to a more
canonical fixed point.  Now that we iterate when DCE makes progress,
this causes an infinite loop when the code ends up not being used.

llvm-svn: 63483
2009-01-31 19:05:27 +00:00

13 lines
325 B
LLVM

; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep sext
; XFAIL: *
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
}