[PATCH] D68082: [LV] Emitting SCEV checks with OptForSize

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 8 14:33:54 PDT 2019


Ayal added a comment.

In D68082#1696991 <https://reviews.llvm.org/D68082#1696991>, @SjoerdMeijer wrote:

> Comments addressed:
>
> - cleaned up the test case a bit.


Can be cleaned up a bit more, "header" block is still redundant.

> - couldn't reuse an existing run-line, I guess because of -mcpu=skx, but a separate run line seems fine to me.

Interesting. Better to check instead of guess. This distinction means that

1. @pr43371() testcase belongs in test/Transforms/LoopVectorize/optsize.ll instead of test/Transforms/LoopVectorize/X86/optsize.ll
2. InterleavedAccessInfo::collectConstStrideAccesses() in Analysis/VectorUtils.cpp is responsible for creating the predicate under skx early enough to bailout (despite having no interleave groups eventually). Best teach it too to call getPtrStride() with Assume=!hasOptSize instead of 'true'. This is another performance opportunity rather than prevention of asserts.

> 
> 
>> The other suggested fix in LoopAccessInfo::collectStridedAccess() indeed deserves a separate patch
> 
> Thanks for that suggestions, and I will address this separately. I have unfinished business in the vectorizer, and will add this to me my list of things to do next.




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

https://reviews.llvm.org/D68082





More information about the llvm-commits mailing list