summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZTargetMachine.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-25 09:11:15 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-25 09:11:15 +0000
commitbf99364f819465536a6b230b95735b239e3fc7a5 (patch)
tree5839fbe196bb47163f76bda386eda7a3a012d940 /lib/Target/SystemZ/SystemZTargetMachine.cpp
parentcf20e45cc4cb77bcb16363531e600883cd27ff80 (diff)
downloadllvm-bf99364f819465536a6b230b95735b239e3fc7a5.tar.gz
llvm-bf99364f819465536a6b230b95735b239e3fc7a5.tar.bz2
llvm-bf99364f819465536a6b230b95735b239e3fc7a5.tar.xz
[SystemZ] Add LOCR and LOCGR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZTargetMachine.cpp')
-rw-r--r--lib/Target/SystemZ/SystemZTargetMachine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZTargetMachine.cpp b/lib/Target/SystemZ/SystemZTargetMachine.cpp
index 6e7540cec1..437ea61558 100644
--- a/lib/Target/SystemZ/SystemZTargetMachine.cpp
+++ b/lib/Target/SystemZ/SystemZTargetMachine.cpp
@@ -48,6 +48,7 @@ public:
}
virtual bool addInstSelector() LLVM_OVERRIDE;
+ virtual bool addPreSched2() LLVM_OVERRIDE;
virtual bool addPreEmitPass() LLVM_OVERRIDE;
};
} // end anonymous namespace
@@ -57,6 +58,12 @@ bool SystemZPassConfig::addInstSelector() {
return false;
}
+bool SystemZPassConfig::addPreSched2() {
+ if (getSystemZTargetMachine().getSubtargetImpl()->hasLoadStoreOnCond())
+ addPass(&IfConverterID);
+ return true;
+}
+
bool SystemZPassConfig::addPreEmitPass() {
addPass(createSystemZLongBranchPass(getSystemZTargetMachine()));
return true;