This is an archive of the discontinued LLVM Phabricator instance.

[VPlan] Initial def-use verification.
ClosedPublic

Authored by fhahn on Jul 13 2022, 7:04 PM.

Details

Summary

This patch introduces some initial def-use verification. This catches
cases like the one fixed by D129436.

Diff Detail

Event Timeline

fhahn created this revision.Jul 13 2022, 7:04 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2022, 7:04 PM
fhahn requested review of this revision.Jul 13 2022, 7:04 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2022, 7:04 PM
Herald added a subscriber: vkmr. · View Herald Transcript
Ayal accepted this revision.Jul 13 2022, 10:33 PM

Thanks for following-up with this, good to see it didn't catch anything else, ship it!

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

nit: can early-continue/skip blocks in non-replicating regions.

228

nit: can fold the two dfs traversals into one - if a VPB hasn't had its BlockNumber assigned yet, it's number is/will-be greater than any which have.

This revision is now accepted and ready to land.Jul 13 2022, 10:33 PM
fhahn updated this revision to Diff 445855.Jul 19 2022, 9:39 AM

Simplified as suggested. I am planning on committing this as soon as the pre-commit tests results come back.

This revision was landed with ongoing or failed builds.Jul 20 2022, 3:06 AM
This revision was automatically updated to reflect the committed changes.
fhahn marked 2 inline comments as done.Jul 20 2022, 3:26 AM
fhahn added inline comments.
llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
194

Simplified in the committed version, thanks!

228

Done in the committed version, thanks!