This is an archive of the discontinued LLVM Phabricator instance.

[VPlan] Clear reduction flags directly as VPlanTransform.
ClosedPublic

Authored by fhahn on May 6 2023, 2:27 AM.

Details

Summary

After D150027, all relevant recipes should model their IR flags
directly. Instead of removing the flags after codegen as part of
fixReductions, drop poison generating flags directly from the recipes.

Depends on D150027.

Diff Detail

Event Timeline

fhahn created this revision.May 6 2023, 2:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 6 2023, 2:27 AM
fhahn requested review of this revision.May 6 2023, 2:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 6 2023, 2:27 AM
Ayal accepted this revision.May 8 2023, 4:38 AM

Looks good to me!

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
9062

nit: should it be part of adjustRecipesForReductions() - which adjusts not only inloop reductions contrary to comment?

llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
761

nit (independent of this patch): use a single SmallSetVector Worklist?

767–770
This revision is now accepted and ready to land.May 8 2023, 4:38 AM
This revision was landed with ongoing or failed builds.Jul 9 2023, 1:12 PM
This revision was automatically updated to reflect the committed changes.
fhahn marked an inline comment as done.
fhahn marked 2 inline comments as done.Jul 9 2023, 1:13 PM
fhahn added inline comments.
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
9062

Adjusted in the committed version, thanks!

llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
761

Adjusted in the committed version, thanks!

767–770

Adjusted in the committed version, thanks!