[PATCH] D155218: [InstCombine] Optimize addition/subtraction operations of splats of vscale multiplied by a constant

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 9 10:14:39 PDT 2023


paulwalker-arm added a comment.

The rational for making these `vscale` specific transformation is because `vscale` is effectively a constant with targets that support scalable vectors typically having instructions where `vscale` is implied.  This is the same reason why there are no multi-use checks.  Whilst the changes to LoopVectorize output look like regressions the extra IR is loop invariant that will be hoisted and generally leads to better code gen.  This is especially true for cases where vector loops are interleaved.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D155218



More information about the llvm-commits mailing list