[PATCH] D24039: Fixed spill stack objects are mutable
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 30 16:18:46 PDT 2016
reames added a comment.
In https://reviews.llvm.org/D24039#529770, @kparzysz wrote:
> In https://reviews.llvm.org/D24039#529742, @reames wrote:
> > In the same header:
> > /// Create a new statically sized stack object that represents a spill slot,
> > /// returning a nonnegative identifier to represent it.
> > int CreateSpillStackObject(uint64_t Size, unsigned Alignment);
> That same header has
> /// Create a spill slot at a fixed location on the stack.
> /// Returns an index with a negative value.
> int CreateFixedSpillStackObject(uint64_t Size, int64_t SPOffset);
> > My point is that while *spill slots* are clearly not immutable, there are other stack slots created by the same interface you modified which are. Disabling optimization of those slots is clearly not okay.
> Spill slot is a stack slot that is not aliased to anything else. Fixed spill slot is a spill slot with a specified offset (i.e. its position in the frame is fixed).
Gah! I reread your patch and realized I'd misread it originally. I thought you were changing "CreateFixedObject" not "CreateFixedSpillStackObject". All of my comments are off base, apologies for misleading the discussion.
More information about the llvm-commits