Page MenuHomePhabricator

[LoopVectorize][NFC] Add optional Name parameter to VPInstruction
ClosedPublic

Authored by david-arm on Jul 1 2022, 3:57 AM.

Details

Summary

This patch is a simple piece of refactoring that now permits users
to create VPInstructions and specify the name of the value being
generated. This is useful for creating more readable/meaningful
names in IR.

Diff Detail

Event Timeline

david-arm created this revision.Jul 1 2022, 3:57 AM
david-arm requested review of this revision.Jul 1 2022, 3:57 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 1 2022, 3:57 AM
paulwalker-arm added inline comments.Jul 5 2022, 5:04 PM
llvm/lib/Transforms/Vectorize/VPlan.h
798

Is Twine something typically used as a storage type? Most instances seem to be for parameter passing. Which makes me wonder if the storage type should be std::string?

david-arm updated this revision to Diff 442551.Jul 6 2022, 6:43 AM
david-arm marked an inline comment as done.
paulwalker-arm accepted this revision.Jul 7 2022, 6:11 AM
This revision is now accepted and ready to land.Jul 7 2022, 6:11 AM
fhahn accepted this revision.Jul 7 2022, 10:16 PM

LGTM, thanks! I think eventually it would be desirable to keep track of names in a separate table so we don't have to keep those (optional) strings directly in the recipes (similar to LLVM IR value naming), but this seems like a good first step.

llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
259

nit: unrelated whitespace change.

This revision was landed with ongoing or failed builds.Jul 11 2022, 1:23 AM
This revision was automatically updated to reflect the committed changes.