summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZInstrInfo.h
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-19 16:12:08 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-19 16:12:08 +0000
commit93c2125c3979bcb4656daf3c2fb5748fb3973e1a (patch)
tree15d86e2d86bbd74b5b6903c02965dd930c4156bd /lib/Target/SystemZ/SystemZInstrInfo.h
parenteddfaad1ef9a208a8a9ee23c26fac4d980caa99a (diff)
downloadllvm-93c2125c3979bcb4656daf3c2fb5748fb3973e1a.tar.gz
llvm-93c2125c3979bcb4656daf3c2fb5748fb3973e1a.tar.bz2
llvm-93c2125c3979bcb4656daf3c2fb5748fb3973e1a.tar.xz
[SystemZ] Use SLLK, SRLK and SRAK for codegen
This patch uses the instructions added in r186680 for codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186681 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.h')
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.h b/lib/Target/SystemZ/SystemZInstrInfo.h
index 3fe71d8854..2050e8ec7c 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.h
+++ b/lib/Target/SystemZ/SystemZInstrInfo.h
@@ -79,6 +79,7 @@ namespace SystemZII {
class SystemZInstrInfo : public SystemZGenInstrInfo {
const SystemZRegisterInfo RI;
+ SystemZTargetMachine &TM;
void splitMove(MachineBasicBlock::iterator MI, unsigned NewOpcode) const;
void splitAdjDynAlloc(MachineBasicBlock::iterator MI) const;
@@ -120,6 +121,10 @@ public:
const TargetRegisterClass *RC,
const TargetRegisterInfo *TRI) const LLVM_OVERRIDE;
virtual MachineInstr *
+ convertToThreeAddress(MachineFunction::iterator &MFI,
+ MachineBasicBlock::iterator &MBBI,
+ LiveVariables *LV) const;
+ virtual MachineInstr *
foldMemoryOperandImpl(MachineFunction &MF, MachineInstr *MI,
const SmallVectorImpl<unsigned> &Ops,
int FrameIndex) const;