[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 mailing list