aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Sparc/SparcSubtarget.cpp
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2015-09-10 18:20:45 +0000
committerJames Y Knight <jyknight@google.com>2015-09-10 18:20:45 +0000
commit8a772cfd61e75a46f0f7ace68b0eb8e0510212d9 (patch)
tree642140a8fcbb225df91c89af90e800cd09631f21 /llvm/lib/Target/Sparc/SparcSubtarget.cpp
parentddb4d9741f985fa5bc86fbaac4607721400f820c (diff)
downloadllvm-8a772cfd61e75a46f0f7ace68b0eb8e0510212d9.zip
llvm-8a772cfd61e75a46f0f7ace68b0eb8e0510212d9.tar.gz
llvm-8a772cfd61e75a46f0f7ace68b0eb8e0510212d9.tar.bz2
[SPARC] Switch to the Machine Scheduler.
The (mostly-deprecated) SelectionDAG-based ILPListDAGScheduler scheduler was making poor scheduling decisions, causing high register pressure and extraneous register spills. Switching to the newer machine scheduler generates better code -- even without there being a machine model defined for SPARC yet. llvm-svn: 247315
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcSubtarget.cpp')
-rw-r--r--llvm/lib/Target/Sparc/SparcSubtarget.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcSubtarget.cpp b/llvm/lib/Target/Sparc/SparcSubtarget.cpp
index 6bf8d41..d701594 100644
--- a/llvm/lib/Target/Sparc/SparcSubtarget.cpp
+++ b/llvm/lib/Target/Sparc/SparcSubtarget.cpp
@@ -81,3 +81,7 @@ int SparcSubtarget::getAdjustedFrameSize(int frameSize) const {
}
return frameSize;
}
+
+bool SparcSubtarget::enableMachineScheduler() const {
+ return true;
+}