bool hasFP = FrameLowering->hasFP(*MF);
// TODO: This is needed only if we require precise CFA.
- bool NeedsDwarfCFI =
- (MMI->hasDebugInfo() || MF->getFunction()->needsUnwindTableEntry());
+ bool HasActiveDwarfFrame = OutStreamer->getNumFrameInfos() &&
+ !OutStreamer->getDwarfFrameInfos().back().End;
+
int stackGrowth = -RI->getSlotSize();
- if (NeedsDwarfCFI && !hasFP) {
+ if (HasActiveDwarfFrame && !hasFP) {
OutStreamer->EmitCFIAdjustCfaOffset(-stackGrowth);
}
EmitAndCountInstruction(MCInstBuilder(X86::POP32r)
.addReg(MI->getOperand(0).getReg()));
- if (NeedsDwarfCFI && !hasFP) {
+ if (HasActiveDwarfFrame && !hasFP) {
OutStreamer->EmitCFIAdjustCfaOffset(stackGrowth);
}
return;