[X86] Use single add/sub for large stack offsets
authorRobert Lougher <rob.lougher@gmail.com>
Thu, 29 Jan 2015 16:18:29 +0000 (16:18 +0000)
committerRobert Lougher <rob.lougher@gmail.com>
Thu, 29 Jan 2015 16:18:29 +0000 (16:18 +0000)
commitc69cfeeafa166435be3e5d6bace9a4c392d09fd4
tree4543d264acdee8db5e4daa6cba817f920a65eed2
parenta749b3ee6a1598e1d0050524227f59348098fd30
[X86] Use single add/sub for large stack offsets

For large stack offsets the compiler generates multiple immediate mode
sub/add instructions in the prologue/epilogue.  This patch makes the
compiler place the final amount to be added/subtracted into a register,
which is then added/substracted with a single operation.

Differential Revision: http://reviews.llvm.org/D7226

llvm-svn: 227458
llvm/lib/Target/X86/X86FrameLowering.cpp
llvm/test/CodeGen/X86/huge-stack-offset.ll [new file with mode: 0644]