This is an archive of the discontinued LLVM Phabricator instance.

[VPlan] Verify that header only contains header phi recipes.
ClosedPublic

Authored by fhahn on Aug 16 2022, 12:54 PM.

Details

Summary

Add verification that VPHeaderPHIRecipes are only in header VPBBs. Also
adds missing checks for VPPointerInductionRecipe to
VPHeaderPHIRecipe::classof.

Split off from D119661.

Diff Detail

Event Timeline

fhahn created this revision.Aug 16 2022, 12:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2022, 12:54 PM
fhahn requested review of this revision.Aug 16 2022, 12:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2022, 12:54 PM
Herald added a subscriber: vkmr. · View Herald Transcript
Ayal accepted this revision.Aug 21 2022, 3:10 AM

Thanks for addressing, adding a couple of minor suggestions.

llvm/lib/Transforms/Vectorize/VPlan.h
1137

Phi-like recipes are kept in order to facilitate checking intervals (and help avoid such missed-case bugs)?

llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
140

Perhaps worth outlining the first part that verifies phi recipes, breaking the somewhat long method into two?

This revision is now accepted and ready to land.Aug 21 2022, 3:10 AM
This revision was landed with ongoing or failed builds.Aug 27 2022, 2:06 PM
This revision was automatically updated to reflect the committed changes.
fhahn marked 2 inline comments as done.Aug 27 2022, 2:07 PM
fhahn added inline comments.
llvm/lib/Transforms/Vectorize/VPlan.h
1137

I'll do that separately.

llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
140

Done!