aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Sparc/SparcSubtarget.cpp
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2015-09-10 21:49:06 +0000
committerJames Y Knight <jyknight@google.com>2015-09-10 21:49:06 +0000
commit1f3e6af7d07387be93e07b785de57cbcfc335c9c (patch)
tree6b50518b70ea1f619bedbb73e3661d4920467b4d /llvm/lib/Target/Sparc/SparcSubtarget.cpp
parenta572e8e613889aad8ec083c89288e9909654c262 (diff)
downloadllvm-1f3e6af7d07387be93e07b785de57cbcfc335c9c.zip
llvm-1f3e6af7d07387be93e07b785de57cbcfc335c9c.tar.gz
llvm-1f3e6af7d07387be93e07b785de57cbcfc335c9c.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. (Actually committing the test changes too, this time, unlike r247315) llvm-svn: 247343
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;
+}