summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ExpandPseudo.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-06-18 20:22:12 +0000
committerReid Kleckner <reid@kleckner.net>2015-06-18 20:22:12 +0000
commit98d7803291aaac19cd37805db35664454552943d (patch)
treeb44672fd8a986eee9335b7c15c3bbba21ba9da5d /llvm/lib/Target/X86/X86ExpandPseudo.cpp
parent7bd29f261359b9ad590ed1287009451e252f4093 (diff)
downloadbcm5719-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.cpp9
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.
OpenPOWER on IntegriCloud