[PATCH] D123408: [InstCombine] Limit folding of cast into PHI
Bardia Mahjour via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 11 12:13:01 PDT 2022
bmahjour added a comment.
The cleanest way I can think of to teach LoopVectorizer about this would be to introduce a whole new set of composite reduction operations of the form `<op>-then-<lop>` (eg `RecurKind::AddThenAnd`, `RecurKind::MulThenAnd`, `RecurKind::OrThenAnd`, and so on)...and that's just for combining logical `and` with the known integer reduction ops, so if we want to support e.g. `or` we'd need to double the number of additional recurrence kinds (and the extra logic that comes with it) again. The identity value would be determined from the `<op>` and the `<lop>` has to be applied when reducing the final vector into a single scalar upon loop exit.
@lebedev.ri is this what you had in mind or is there a better way to do it?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123408/new/
https://reviews.llvm.org/D123408
More information about the llvm-commits
mailing list