mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
A testcase I don't want to break in the future
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22718 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
21e1a79a31
commit
0bc6bde317
26
test/Transforms/LoopStrengthReduce/different-type-ivs.ll
Normal file
26
test/Transforms/LoopStrengthReduce/different-type-ivs.ll
Normal file
@ -0,0 +1,26 @@
|
||||
; RUN: llvm-as < %s | opt -loop-reduce -disable-output
|
||||
; Test to make sure that loop-reduce never crashes on IV's
|
||||
; with different types but identical strides.
|
||||
|
||||
void %foo() {
|
||||
entry:
|
||||
br label %no_exit
|
||||
|
||||
no_exit: ; preds = %no_exit, %entry
|
||||
%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3]
|
||||
%indvar = cast uint %indvar to short ; <short> [#uses=1]
|
||||
%X.0.0 = mul short %indvar, 1234 ; <short> [#uses=1]
|
||||
%tmp. = mul uint %indvar, 1234 ; <uint> [#uses=1]
|
||||
%tmp.5 = cast short %X.0.0 to int ; <int> [#uses=1]
|
||||
%tmp.3 = call int (...)* %bar( int %tmp.5, uint %tmp. ) ; <int> [#uses=0]
|
||||
%tmp.0 = call bool %pred( ) ; <int> [#uses=1]
|
||||
%indvar.next = add uint %indvar, 1 ; <uint> [#uses=1]
|
||||
br bool %tmp.0, label %return, label %no_exit
|
||||
|
||||
return:
|
||||
ret void
|
||||
}
|
||||
|
||||
declare bool %pred()
|
||||
|
||||
declare int %bar(...)
|
Loading…
Reference in New Issue
Block a user