summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2012-04-01 19:22:57 +0000
committerHal Finkel <hfinkel@anl.gov>2012-04-01 19:22:57 +0000
commitec5a1e36699bba290b2ab45c937897ca282c7c69 (patch)
tree4278cda7c8b688fdc285b171cae5ea10da722fa8
parent9f9f8929ee7a36e8cf33599fdd3f2bccd411401f (diff)
downloadbcm5719-llvm-ec5a1e36699bba290b2ab45c937897ca282c7c69.tar.gz
bcm5719-llvm-ec5a1e36699bba290b2ab45c937897ca282c7c69.zip
Use full anti-dep. breaking with post-ra sched. on the embedded ppc cores.
Post-RA scheduling gives a significant performance improvement on the embedded cores, so turn it on. Using full anti-dep. breaking is important for FP-intensive blocks, so turn it on (just on the embedded cores for now; this should also be good on the 970s because post-ra scheduling is all that we have for now, but that should have more testing first). llvm-svn: 153843
-rw-r--r--llvm/lib/Target/PowerPC/PPCSubtarget.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
index fa54a440294..f405b4711a5 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -147,9 +147,10 @@ bool PPCSubtarget::enablePostRAScheduler(
TargetSubtargetInfo::AntiDepBreakMode& Mode,
RegClassVector& CriticalPathRCs) const {
if (DarwinDirective == PPC::DIR_440 || DarwinDirective == PPC::DIR_A2)
- return false;
+ Mode = TargetSubtargetInfo::ANTIDEP_ALL;
+ else
+ Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
- Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
CriticalPathRCs.clear();
if (isPPC64())
OpenPOWER on IntegriCloud