summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86RegisterInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-10-18 22:40:57 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-10-18 22:40:57 +0000
commitf0a0cddbcda344a90b7217b744c78dccec71851c (patch)
treecfcdda0c59b826a9cc81f0b5b49ef5f0d401892f /lib/Target/X86/X86RegisterInfo.h
parent58184e6878fdab651bc7c9a59dab2687ca82ede2 (diff)
downloadllvm-f0a0cddbcda344a90b7217b744c78dccec71851c.tar.gz
llvm-f0a0cddbcda344a90b7217b744c78dccec71851c.tar.bz2
llvm-f0a0cddbcda344a90b7217b744c78dccec71851c.tar.xz
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.h')
-rw-r--r--lib/Target/X86/X86RegisterInfo.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h
index 76045476c2..c21868c626 100644
--- a/lib/Target/X86/X86RegisterInfo.h
+++ b/lib/Target/X86/X86RegisterInfo.h
@@ -89,7 +89,7 @@ public:
const TargetRegisterClass *RC) const;
void storeRegToAddr(MachineFunction &MF, unsigned SrcReg,
- SmallVectorImpl<MachineOperand> Addr,
+ SmallVectorImpl<MachineOperand> &Addr,
const TargetRegisterClass *RC,
SmallVectorImpl<MachineInstr*> &NewMIs) const;
@@ -99,7 +99,7 @@ public:
const TargetRegisterClass *RC) const;
void loadRegFromAddr(MachineFunction &MF, unsigned DestReg,
- SmallVectorImpl<MachineOperand> Addr,
+ SmallVectorImpl<MachineOperand> &Addr,
const TargetRegisterClass *RC,
SmallVectorImpl<MachineInstr*> &NewMIs) const;
@@ -142,6 +142,12 @@ public:
bool unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
SmallVectorImpl<SDNode*> &NewNodes) const;
+ /// getOpcodeAfterMemoryUnfold - Returns the opcode of the would be new
+ /// instruction after load / store are unfolded from the specified opcode.
+ /// It returns zero if the specified unfolding is impossible.
+ unsigned getOpcodeAfterMemoryUnfold(unsigned Opc,
+ bool UnfoldLoad, bool UnfoldStore) const;
+
/// getCalleeSavedRegs - Return a null-terminated list of all of the
/// callee-save registers on this target.
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;