[PATCH] Handling store to invariant address in LAA

Adam Nemet anemet at apple.com
Mon Apr 6 17:19:46 PDT 2015


LGTM.

I believe this change is fine because both run-time pointer checking and the dependence analysis are capable to deal with uniform addresses.  I.e. it's really just an orthogonal property of the loop that the analysis provides.

Run-time pointer checking will only try to reason about SCEVAddRec pointers or else gives up.  If the uniform pointer turns out the be a SCEVAddRec in an outer loop, the run-time checks generated will be correct (start and end bounds would be equal).

In case of the dependence analysis, we work again with SCEVs.  When compared against a loop-dependent address of the same underlying object, the difference of the two SCEVs won't be constant.  This will result in returning an Unknown dependence for the pair.

When compared against another uniform access, the difference would be constant and we should return the right type of dependence (forward/backward/etc).


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D8653

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list