diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-06-18 20:22:12 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-06-18 20:22:12 +0000 |
commit | 98d7803291aaac19cd37805db35664454552943d (patch) | |
tree | b44672fd8a986eee9335b7c15c3bbba21ba9da5d /llvm/lib/Target/X86/X86ExpandPseudo.cpp | |
parent | 7bd29f261359b9ad590ed1287009451e252f4093 (diff) | |
download | bcm5719-llvm-98d7803291aaac19cd37805db35664454552943d.tar.gz bcm5719-llvm-98d7803291aaac19cd37805db35664454552943d.zip |
[X86] Refactor stack adjustments into X86FrameLowering::BuildStackAdjustment
Deduplicates some code and lets us use LEA on atom when adjusting the
stack around callee-cleanup calls. This is the only intended
functionality change.
llvm-svn: 240044
Diffstat (limited to 'llvm/lib/Target/X86/X86ExpandPseudo.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86ExpandPseudo.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/X86ExpandPseudo.cpp b/llvm/lib/Target/X86/X86ExpandPseudo.cpp index f0f54d518f4..6a5a28e546f 100644 --- a/llvm/lib/Target/X86/X86ExpandPseudo.cpp +++ b/llvm/lib/Target/X86/X86ExpandPseudo.cpp @@ -84,14 +84,9 @@ bool X86ExpandPseudo::ExpandMI(MachineBasicBlock &MBB, int StackAdj = StackAdjust.getImm(); if (StackAdj) { - // standard x86_64 and NaCl use 64-bit frame/stack pointers, x32 - 32-bit. - // Check if we should use LEA for SP. - const X86FrameLowering *TFI = STI->getFrameLowering(); - bool UseLEAForSP = STI->useLeaForSP() && - X86FL->canUseLEAForSPInEpilogue(*MBB.getParent()); // Check for possible merge with preceding ADD instruction. - StackAdj += TFI->mergeSPUpdates(MBB, MBBI, true); - TFI->emitSPUpdate(MBB, MBBI, StackAdj, UseLEAForSP); + StackAdj += X86FL->mergeSPUpdates(MBB, MBBI, true); + X86FL->emitSPUpdate(MBB, MBBI, StackAdj, /*InEpilogue=*/true); } // Jump to label or value in register. |