[PATCH] D20220: [PEI, AArch64] Use empty spaces in stack area for local stack slot allocation.
Geoff Berry via llvm-commits
llvm-commits at lists.llvm.org
Mon May 16 10:53:39 PDT 2016
gberry added a comment.
Hi Quentin,
- In the case of AArch64, yes the empty slots are there because of alignment, specifically of the callee-save stack area. The stack pointer must always be 16-byte aligned on aarch64, so when allocating a callee-save area for say, 3 64-bit registers, there will be a 64-bit hole left. This change uses that hole to allocate a spill slot/alloca when possible.
- My understanding is that stack coloring is solving a different problem (technically two different passes solving similar problems). It tries to compact the stack space used by spill slots/allocas by re-using the same stack slot for different variables when their live ranges don't overlap. They run before PEI, so they don't even see the "holes" in the callee-save area that this patch is trying to eliminate.
http://reviews.llvm.org/D20220
More information about the llvm-commits
mailing list