[PATCH] D111533: [SCEV] Invalidate user SCEVs along with operand SCEVs to avoid cache corruption

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 11 09:38:47 PDT 2021


reames added a comment.

In D111533#3055421 <https://reviews.llvm.org/D111533#3055421>, @mkazantsev wrote:

> In D111533#3055325 <https://reviews.llvm.org/D111533#3055325>, @reames wrote:
>
>> Style wise, I think this makes a lot more sense to have a user list on the SCEV itself than a separate structure, but we can debate that separately.
>
> We can't do it without const_casts, and consts_casts may cause UB. I don't want to take this risk unless you have *really* strong arguments in favour of this.

You can always make the UseList field mutable, but let's hold that debate until we have CT numbers.  One reason I prefer the field is likely better cache locality, but I could be completely wrong about that and measurements to see if it matters are a good starting point.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111533/new/

https://reviews.llvm.org/D111533



More information about the llvm-commits mailing list