This is an archive of the discontinued LLVM Phabricator instance.

[CodeGen] Extend reduction support in ComplexDeinterleaving pass to support predication
ClosedPublic

Authored by igor.kirillov on Jun 9 2023, 10:00 AM.

Details

Summary

Adds the capability to recognize SelectInst that appear in the IR.
These instructions are generated during scalable vectorization for reduction
and when the code contains conditions inside the loop body or when
"-prefer-predicate-over-epilogue=predicate-dont-vectorize" is set.

Depends on D152022

Diff Detail

Event Timeline

igor.kirillov created this revision.Jun 9 2023, 10:00 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 9 2023, 10:00 AM
igor.kirillov requested review of this revision.Jun 9 2023, 10:00 AM
NickGuy accepted this revision.Jun 21 2023, 5:44 AM

LGTM, apart from a small point regarding variable names

llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
1731–1732

Nit: I think we use AR/AI rather than RA/IA elsewhere, probably best to remain consistent with this as much as possible.

This revision is now accepted and ready to land.Jun 21 2023, 5:44 AM

Rename variables

igor.kirillov marked an inline comment as done.Jun 21 2023, 10:45 AM
vitalybuka reopened this revision.Jun 22 2023, 11:28 AM
This revision is now accepted and ready to land.Jun 22 2023, 11:28 AM