Not all PPC functions with a frame pointer need a RS spill slot
authorHal Finkel <hfinkel@anl.gov>
Thu, 14 Mar 2013 19:34:32 +0000 (19:34 +0000)
committerHal Finkel <hfinkel@anl.gov>
Thu, 14 Mar 2013 19:34:32 +0000 (19:34 +0000)
commit100a94bc93dcf9af99eba169599ce950faf0df7e
tree668744b339b3d30c64b59998819ac514c3202c2b
parentd81511f0a671a9271d7ba10cce6c27331b57f553
Not all PPC functions with a frame pointer need a RS spill slot

We used to add a spill slot for the register scavenger whenever the function
has a frame pointer. This is unnecessarily conservative: We may need the spill
slot for dynamic stack allocations, and functions with dynamic stack
allocations always have a FP, but we might also have a FP for other reasons
(such as the user explicitly disabling frame-pointer elimination), and we don't
necessarily need a spill slot for those functions.

The structsinregs test needed adjustment because it disables FP elimination.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177106 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCFrameLowering.cpp
test/CodeGen/PowerPC/structsinregs.ll