summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsSubtarget.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-03-28 00:24:17 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-03-28 00:24:17 +0000
commit81a424b3c5e7be03d66d5c7fd241f2aac47d1a2c (patch)
treeaa1a5b4820aa79572d0b95dfc49b5dce47ea192d /lib/Target/Mips/MipsSubtarget.cpp
parent37ac18ef2f13a8060b745e6d3c4622bafdd4f47b (diff)
downloadllvm-81a424b3c5e7be03d66d5c7fd241f2aac47d1a2c.tar.gz
llvm-81a424b3c5e7be03d66d5c7fd241f2aac47d1a2c.tar.bz2
llvm-81a424b3c5e7be03d66d5c7fd241f2aac47d1a2c.tar.xz
Turn on post register allocation scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153554 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsSubtarget.cpp')
-rw-r--r--lib/Target/Mips/MipsSubtarget.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp
index d4a50eec2c..0408a8575f 100644
--- a/lib/Target/Mips/MipsSubtarget.cpp
+++ b/lib/Target/Mips/MipsSubtarget.cpp
@@ -13,6 +13,7 @@
#include "MipsSubtarget.h"
#include "Mips.h"
+#include "MipsRegisterInfo.h"
#include "llvm/Support/TargetRegistry.h"
#define GET_SUBTARGETINFO_TARGET_DESC
@@ -54,3 +55,14 @@ MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
if (TT.find("linux") == std::string::npos)
IsLinux = false;
}
+
+bool
+MipsSubtarget::enablePostRAScheduler(CodeGenOpt::Level OptLevel,
+ TargetSubtargetInfo::AntiDepBreakMode& Mode,
+ RegClassVector& CriticalPathRCs) const {
+ Mode = TargetSubtargetInfo::ANTIDEP_CRITICAL;
+ CriticalPathRCs.clear();
+ CriticalPathRCs.push_back(hasMips64() ?
+ &Mips::CPU64RegsRegClass : &Mips::CPURegsRegClass);
+ return OptLevel >= CodeGenOpt::Default;
+}