From: Bill Wendling Date: Sun, 2 Aug 2009 22:25:37 +0000 (+0000) Subject: The x86 jit doesn't generate a def_cfa_offset unwind instruction after the X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3bb9b9a1ab0641694b5bc1aa3cdec42d69ef0606;p=oota-llvm.git The x86 jit doesn't generate a def_cfa_offset unwind instruction after the pushes in the function prolog if the function doesn't have any stack space, i.e. for a prolog like: 0x40011870: push %r15 0x40011872: push %r14 0x40011874: push %rbx Patch by Zoltan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77919 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 8c54aebb9ea..3fa53733c0d 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -1059,7 +1059,7 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const { emitSPUpdate(MBB, MBBI, StackPtr, -(int64_t)NumBytes, Is64Bit, TII); } - if (!HasFP && needsFrameMoves && NumBytes) { + if (!HasFP && needsFrameMoves) { // Mark end of stack pointer adjustment. unsigned LabelId = MMI->NextLabelID(); BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL)).addImm(LabelId);