summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-03-26 09:42:31 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-03-26 09:42:31 +0000
commitb549ab02b4659c2e6164cb1a39ef798b80d643df (patch)
treed092eb943e796355e898b72b4097c0a3c69fcb39 /llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
parent9a5f19f50982790b6004cbd11787ef7f52c0b8a2 (diff)
downloadbcm5719-llvm-b549ab02b4659c2e6164cb1a39ef798b80d643df.tar.gz
bcm5719-llvm-b549ab02b4659c2e6164cb1a39ef798b80d643df.zip
[PowerPC] Disable the CTR optimization in the presence of {min,max}num
The minnum and maxnum intrinsics get lowered to libcalls which invalidates the CTR optimization. This fixes PR27083. llvm-svn: 264508
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCCTRLoops.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCCTRLoops.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
index b0a3e93c486..2a1cb608c7b 100644
--- a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
+++ b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
@@ -291,6 +291,8 @@ bool PPCCTRLoops::mightUseCTR(const Triple &TT, BasicBlock *BB) {
case Intrinsic::pow:
case Intrinsic::sin:
case Intrinsic::cos:
+ case Intrinsic::maxnum:
+ case Intrinsic::minnum:
return true;
case Intrinsic::copysign:
if (CI->getArgOperand(0)->getType()->getScalarType()->
OpenPOWER on IntegriCloud