[PATCH] D117574: [AArch64][SVE] POC: Use predicate registers for <N x i1> expression trees.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 18 13:56:36 PST 2022


efriedma removed a reviewer: efriedma.
efriedma added a comment.
Herald added a reviewer: efriedma.

The other possible approach I can think of is to reconsider the way legalization works for i1 vectors.  This transform is basically reversing work done by type legalization: the legalizer promotes i1 vectors because they aren't legal.  We could, instead, use some sort of custom legalization for i1 vectors: instead of promoting the element type, convert them directly to scalable vectors.  Probably more work to implement initially.  But it might be easier to reason about the profitability if we avoid generating sign-extensions that shouldn't exist in the first place.

Which approach is better depends on how complex propagatePredicateTy gets, I guess.  If we just have 100 lines of code to reverse sign-extensions, fine; if we end up with 1000 lines, probably we should reconsider the approach.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117574



More information about the llvm-commits mailing list