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)
commite987a311bacf43634315756e05e9ed42ad33b863
treeb8f7de2ece37e817080a667c3f76cd7425c723f6
parent8070b382ecf85996ca61aa41e25728038f76daa5
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.

llvm-svn: 177106
llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
llvm/test/CodeGen/PowerPC/structsinregs.ll