mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 08:46:37 +00:00
e78760e179
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
22 lines
453 B
LLVM
22 lines
453 B
LLVM
; Test that LICM works when there is not a loop-preheader
|
|
; RUN: llvm-as < %s | opt -licm | llvm-dis
|
|
|
|
void "testfunc"(int %i, bool %ifcond) {
|
|
br bool %ifcond, label %Then, label %Else
|
|
Then:
|
|
br label %Loop
|
|
Else:
|
|
br label %Loop
|
|
|
|
Loop:
|
|
%j = phi uint [0, %Then], [12, %Else], [%Next, %Loop]
|
|
%i = cast int %i to uint
|
|
%i2 = mul uint %i, 17
|
|
%Next = add uint %j, %i2
|
|
%cond = seteq uint %Next, 0
|
|
br bool %cond, label %Out, label %Loop
|
|
|
|
Out:
|
|
ret void
|
|
}
|