summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineFrameInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add an ID field to StackObjectsMatt Arsenault2017-07-201-2/+7
| | | | | | | | | | | | | | | | | | | | | On AMDGPU SGPR spills are really spilled to another register. The spiller creates the spills to new frame index objects, which is used as a placeholder. This will eventually be replaced with a reference to a position in a VGPR to write to and the frame index deleted. It is most likely not a real stack location that can be shared with another stack object. This is a problem when StackSlotColoring decides it should combine a frame index used for a normal VGPR spill with a real stack location and a frame index used for an SGPR. Add an ID field so that StackSlotColoring has a way of knowing the different frame index types are incompatible. llvm-svn: 308673
* ARM: Compute MaxCallFrame size earlyMatthias Braun2017-05-051-0/+26
| | | | | | | | | | | | | | | | | This exposes a method in MachineFrameInfo that calculates MaxCallFrameSize and calls it after instruction selection in the ARM target. This avoids ARMBaseRegisterInfo::canRealignStack()/ARMFrameLowering::hasReservedCallFrame() giving different answers in early/late phases of codegen. The testcase shows a particular nasty example result of that where we would fail to properly align an alloca. Differential Revision: https://reviews.llvm.org/D32622 llvm-svn: 302303
* MachineFrameInfo: Move implementation to an own file; NFCMatthias Braun2017-04-261-0/+218
Move implementation of the MachineFrameInfo class into MachineFrameInfo.cpp llvm-svn: 301494
OpenPOWER on IntegriCloud