diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-04-26 07:38:55 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-04-26 07:38:55 +0000 |
commit | 962021bc7f6721c20c7dfe8ca809e2d98b1c554a (patch) | |
tree | afae781cdda12ddd87b3dc2d5c5d9041c990f07b /lib/Target/X86/X86InstrInfo.cpp | |
parent | f822e733aff93b34e6cd85b2f92d86e71fe67f87 (diff) |
- Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo and rename it to emitFrameIndexDebugValue.
- Teach spiller to modify DBG_VALUE instructions to reference spill slots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102323 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86InstrInfo.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index 1192a471bd..ebcd8cc535 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -2319,6 +2319,20 @@ bool X86InstrInfo::restoreCalleeSavedRegisters(MachineBasicBlock &MBB, return true; } +MachineInstr* +X86InstrInfo::emitFrameIndexDebugValue(MachineFunction &MF, + unsigned FrameIx, uint64_t Offset, + const MDNode *MDPtr, + DebugLoc DL) const { + // Target dependent DBG_VALUE. Only the frame index case is done here. + X86AddressMode AM; + AM.BaseType = X86AddressMode::FrameIndexBase; + AM.Base.FrameIndex = FrameIx; + MachineInstrBuilder MIB = BuildMI(MF, DL, get(X86::DBG_VALUE)); + addFullAddress(MIB, AM).addImm(Offset).addMetadata(MDPtr); + return &*MIB; +} + static MachineInstr *FuseTwoAddrInst(MachineFunction &MF, unsigned Opcode, const SmallVectorImpl<MachineOperand> &MOs, MachineInstr *MI, |