[PATCH] D147434: [LV] Improve register pressure estimation if MaxLocalUsers is zero

Yevgeny Rouban via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 4 21:16:02 PDT 2023


yrouban marked an inline comment as done.
yrouban added a comment.

In D147434#4243671 <https://reviews.llvm.org/D147434#4243671>, @fhahn wrote:

> Do you have any performance data motivating the change and ruling out any regressions?

No. I investigated an AVX512 memset code generated by a non-llvm compiler with vectorized move instruction using zmm register and unrolled as if it had interleave count 16. Trying to achieve the same result with LoopVectorize I have found this nit. This is not a problem as long as the number of vector registers is big enough, that is even if decremented and bit-floored but still bigger than the other interleave count limits (e.g. X86TTIImpl::getMaxInterleaveFactor() returns 4 for AVX).



================
Comment at: llvm/test/Transforms/LoopVectorize/X86/interleave-count.ll:38
+loop:
+  %p = phi double * [%dst, %entry], [%p.next, %loop]
+  store double -1.000000e+00, ptr %p, align 8
----------------
fhahn wrote:
> Please update the test to use opaque pointers. Also, it would be good to put up a patch to just add the test separately and then only include the changes caused by the patch in the diff
Done. See D147588.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147434



More information about the llvm-commits mailing list