aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86RegisterInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-12-05 03:14:33 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-12-05 03:14:33 +0000
commitd64b5c82b97ad1b74eb9fd2f23257a7899b0c307 (patch)
tree833ba21d24aa346a057bf617a4b89ce36d9ae304 /lib/Target/X86/X86RegisterInfo.h
parentf89a22a3d1d98b8507433acf0cec7640e6da0088 (diff)
downloadexternal_llvm-d64b5c82b97ad1b74eb9fd2f23257a7899b0c307.zip
external_llvm-d64b5c82b97ad1b74eb9fd2f23257a7899b0c307.tar.gz
external_llvm-d64b5c82b97ad1b74eb9fd2f23257a7899b0c307.tar.bz2
Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether
the stored register is killed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44600 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.h')
-rw-r--r--lib/Target/X86/X86RegisterInfo.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h
index c74d2e7..eda48c2 100644
--- a/lib/Target/X86/X86RegisterInfo.h
+++ b/lib/Target/X86/X86RegisterInfo.h
@@ -101,10 +101,10 @@ public:
void storeRegToStackSlot(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI,
- unsigned SrcReg, int FrameIndex,
+ unsigned SrcReg, bool isKill, int FrameIndex,
const TargetRegisterClass *RC) const;
- void storeRegToAddr(MachineFunction &MF, unsigned SrcReg,
+ void storeRegToAddr(MachineFunction &MF, unsigned SrcReg, bool isKill,
SmallVectorImpl<MachineOperand> &Addr,
const TargetRegisterClass *RC,
SmallVectorImpl<MachineInstr*> &NewMIs) const;
@@ -148,11 +148,9 @@ public:
SmallVectorImpl<unsigned> &Ops,
MachineInstr* LoadMI) const;
- /// getOpcodeAfterMemoryFold - Returns the opcode of the would be new
- /// instruction after load / store is folded into an instruction of the
- /// specified opcode. It returns zero if the specified unfolding is not
- /// possible.
- unsigned getOpcodeAfterMemoryFold(unsigned Opc, unsigned OpNum) const;
+ /// canFoldMemoryOperand - Returns true if the specified load / store is
+ /// folding is possible.
+ bool canFoldMemoryOperand(MachineInstr*, SmallVectorImpl<unsigned> &) const;
/// unfoldMemoryOperand - Separate a single instruction which folded a load or
/// a store or a load and a store into two or more instruction. If this is