[PATCH] D145616: [LV] Use speculatability within entire loop to avoid strided load predication

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 9 10:02:08 PST 2023


anna added inline comments.


================
Comment at: llvm/lib/Analysis/Loads.cpp:294
 
-  const APInt AccessSize = TC * EltSize;
+  // For now, just ignore overlapping accesses.
+  // TODO: We should be taking max(Step,EltSize) for computing AccessSize
----------------
reames wrote:
> Ignore is confusing here.  "ignore" sounds like we might have a latent correctness issue here.  What I think you mean is that we're being conservative on overlapping accesses.  
> 
> Also, your TODO doesn't sound right to me.  You'd want something along the lines of TC * Step + EltSize - Step.  
Good catch. TC * max(Step, EltSize) gets extra bytes without accounting for overlapping access.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D145616



More information about the llvm-commits mailing list