diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-10-18 22:40:57 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-10-18 22:40:57 +0000 |
commit | f0a0cddbcda344a90b7217b744c78dccec71851c (patch) | |
tree | cfcdda0c59b826a9cc81f0b5b49ef5f0d401892f /lib/Target/X86/X86RegisterInfo.h | |
parent | 58184e6878fdab651bc7c9a59dab2687ca82ede2 (diff) | |
download | llvm-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.h | 10 |
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; |