summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-10-02 21:17:00 +0000
committerEric Christopher <echristo@apple.com>2012-10-02 21:17:00 +0000
commitf01b02b7cf10bcb8c875cd7f610b0e846025f4e4 (patch)
tree5092751dd213e42ea1563b1b0ebec3ae10771fbd /llvm/lib/CodeGen
parent4ec766facfc9086e4076c32184f39c2ce17556ba (diff)
downloadbcm5719-llvm-f01b02b7cf10bcb8c875cd7f610b0e846025f4e4.tar.gz
bcm5719-llvm-f01b02b7cf10bcb8c875cd7f610b0e846025f4e4.zip
Don't use a debug location for frame setup instructions in the
prologue. Also skip frame setup instructions when looking for the first location. llvm-svn: 165052
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 52b10d7ca68..0682694ebec 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1355,9 +1355,10 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) {
if (!MI->isLabel())
AtBlockEntry = false;
- // First known non DBG_VALUE location marks beginning of function
- // body.
- if (PrologEndLoc.isUnknown() && !MI->getDebugLoc().isUnknown())
+ // First known non-DBG_VALUE and non-frame setup location marks
+ // the beginning of the function body.
+ if (!MI->getFlag(MachineInstr::FrameSetup) &&
+ (PrologEndLoc.isUnknown() && !MI->getDebugLoc().isUnknown()))
PrologEndLoc = MI->getDebugLoc();
// Check if the instruction clobbers any registers with debug vars.
OpenPOWER on IntegriCloud