[PATCH] D66688: [LoopVectorize] Leverage speculation safety to avoid masked.loads

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 02:31:22 PDT 2019


Ayal added a comment.

In D66688#1645843 <https://reviews.llvm.org/D66688#1645843>, @reames wrote:

> Rebase over landed tests (including a bunch of negative ones).
>
> Note that this reveals a bug in the patch.  Will fix, and iterate from there.
>
> Expect several rounds of incremental improvements before ready for real review.


Sure. Additional points of thought, possibly as a separate follow-up patches:

- Interleave groups may also be effected, e.g., two speculative interleaved loads from distinct basic blocks could potentially be combined; useMaskedInterleavedAccesses() deserves attention, as raised by test_non_unit_stride().
- Perhaps caching SafePointers(InLoop) could be offloaded altogether from LV to Load.cpp.


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

https://reviews.llvm.org/D66688





More information about the llvm-commits mailing list