mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-10 22:55:57 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63483 91177308-0d34-0410-b5e6-96231b3b80d8
13 lines
325 B
LLVM
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
|
|
}
|