1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/CodeGen/PowerPC/2012-11-16-mischedcall.ll
Ehsan Amiri 36d2ad6539 [PPC] Enable transformations in PPCPassConfig::addIRPasses at O2
http://reviews.llvm.org/D18562

A large number of testcases has been modified so they pass after this test.
One testcase is deleted, because I realized even after undoing the original
change that was committed with this testcase, the testcase still passes. So
I removed it. The change to one other testcase (test/CodeGen/PowerPC/pr25802.ll)
is an arbitrary change to keep it passing. Given the original intention of the
testcase, and the fact that fixing it will require some time to change the testcase,
we concluded that this quick change will be enough.

llvm-svn: 265683
2016-04-07 15:30:55 +00:00

36 lines
1.1 KiB
LLVM

; RUN: llc -mtriple=powerpc64-bgq-linux -enable-misched < %s | FileCheck %s
;
; PR14315: misched should not move the physreg copy of %t below the calls.
@.str89 = external unnamed_addr constant [6 x i8], align 1
declare void @init() nounwind
declare void @clock() nounwind
; CHECK: mflr 0
; CHECK: fmr 31, 1
; CHECK: bl init
define double @s332(double %t) nounwind {
entry:
tail call void @init()
tail call void @clock() nounwind
br label %for.cond2
for.cond2: ; preds = %for.body4, %entry
%i.0 = phi i32 [ %inc, %for.body4 ], [ 0, %entry ]
%cmp3 = icmp slt i32 undef, 16000
br i1 %cmp3, label %for.body4, label %L20
for.body4: ; preds = %for.cond2
%cmp5 = fcmp ogt double undef, %t
%inc = add nsw i32 %i.0, 1
br i1 %cmp5, label %L20, label %for.cond2
L20: ; preds = %for.body4, %for.cond2
%index.0 = phi i32 [ -2, %for.cond2 ], [ %i.0, %for.body4 ]
%index.d = sitofp i32 %index.0 to double
%retval = fadd double %t, %index.d
ret double %retval
}