[PATCH] D157411: [VPlan] Simplify logical OR operations within the VPlan.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 8 10:02:14 PDT 2023


paulwalker-arm added reviewers: fhahn, david-arm, sdesmalen, kmclaughlin, reames.
paulwalker-arm added a comment.
Herald added a subscriber: StephenFan.

I need to tighten up some of the matching and write tests but I'm pushing this out now to gauge opinion.

The core problem I'm trying to solve is to reduce the places where LoopVectorize makes poor decisions based on the IR that only exists at the point of vectorisation (i.e. not present within the scalar loop or perhaps just substantially different). One such example is D157412 <https://reviews.llvm.org/D157412> that builds on top of this patch.

My position is that whilst the result of vectorisation can be cleaned up by later passes, there are instances like D157412 <https://reviews.llvm.org/D157412> where the data has already been striped of knowledge required for optimal IR.  There's also a matter of having a more accurate cost model whereby having a more optimal VPlan allows the vectoriser to make better cost based decisions.

I created VPlanPatternMatch.h because I honestly fine VPlan awkward to work with and figured hiding the awkwardness behind a PatternMatch like interface leads to more readable code.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157411



More information about the llvm-commits mailing list