From 3c0486fb38aabf2c680e587ed77ca1e7be0bb6ae Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Thu, 31 Jan 2008 03:33:38 +0000 Subject: Makes the same change in ppc backend: avoid inserting prologue before debug labels. llvm-svn: 46596 --- llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/lib') diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp index b9273af1a48..ff8b359470a 100644 --- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -712,6 +712,16 @@ void PPCRegisterInfo::emitPrologue(MachineFunction &MF) const { // Prepare for frame info. unsigned FrameLabelId = 0; + // Skip over the labels which mark the beginning of the function. + if (MMI && MMI->needsFrameInfo()) { + unsigned NumLabels = 0; + while (NumLabels <= 1 && + MBBI != MBB.end() && MBBI->getOpcode() == PPC::LABEL) { + ++NumLabels; + ++MBBI; + } + } + // Scan the prolog, looking for an UPDATE_VRSAVE instruction. If we find it, // process it. for (unsigned i = 0; MBBI != MBB.end(); ++i, ++MBBI) { -- cgit v1.2.3