diff options
author | Robert Lytton <robert@xmos.com> | 2014-07-04 06:38:22 +0000 |
---|---|---|
committer | Robert Lytton <robert@xmos.com> | 2014-07-04 06:38:22 +0000 |
commit | 37d3fa7e36b166c5d54dbe9e616f8e2cd004e929 (patch) | |
tree | 3cf60f5d4d34abab50a5d3fc016a5c2a7edcaa8b /llvm/lib/Target/XCore/XCoreInstrInfo.cpp | |
parent | 859aff501b4273d7cec267ff3b65fcde96267936 (diff) | |
download | bcm5719-llvm-37d3fa7e36b166c5d54dbe9e616f8e2cd004e929.tar.gz bcm5719-llvm-37d3fa7e36b166c5d54dbe9e616f8e2cd004e929.zip |
XCore target: remove incorrect DebugLoc entries from prologue
Summary: This was causing the prologue_end to be incorrectly positioned.
Differential Revision: http://reviews.llvm.org/D4122
llvm-svn: 212318
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreInstrInfo.cpp')
-rw-r--r-- | llvm/lib/Target/XCore/XCoreInstrInfo.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/XCore/XCoreInstrInfo.cpp b/llvm/lib/Target/XCore/XCoreInstrInfo.cpp index 984f0cd9c4d..36ea9a087da 100644 --- a/llvm/lib/Target/XCore/XCoreInstrInfo.cpp +++ b/llvm/lib/Target/XCore/XCoreInstrInfo.cpp @@ -373,7 +373,8 @@ void XCoreInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB, const TargetRegisterInfo *TRI) const { DebugLoc DL; - if (I != MBB.end()) DL = I->getDebugLoc(); + if (I != MBB.end() && !I->isDebugValue()) + DL = I->getDebugLoc(); MachineFunction *MF = MBB.getParent(); const MachineFrameInfo &MFI = *MF->getFrameInfo(); MachineMemOperand *MMO = @@ -395,7 +396,8 @@ void XCoreInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB, const TargetRegisterInfo *TRI) const { DebugLoc DL; - if (I != MBB.end()) DL = I->getDebugLoc(); + if (I != MBB.end() && !I->isDebugValue()) + DL = I->getDebugLoc(); MachineFunction *MF = MBB.getParent(); const MachineFrameInfo &MFI = *MF->getFrameInfo(); MachineMemOperand *MMO = @@ -440,7 +442,8 @@ MachineBasicBlock::iterator XCoreInstrInfo::loadImmediate( MachineBasicBlock::iterator MI, unsigned Reg, uint64_t Value) const { DebugLoc dl; - if (MI != MBB.end()) dl = MI->getDebugLoc(); + if (MI != MBB.end() && !MI->isDebugValue()) + dl = MI->getDebugLoc(); if (isImmMskBitp(Value)) { int N = Log2_32(Value) + 1; return BuildMI(MBB, MI, dl, get(XCore::MKMSK_rus), Reg).addImm(N); |