This is an archive of the discontinued LLVM Phabricator instance.

[VPlan] Add VPReplicateRecipe::Instr field to hold replicated instr.
Needs ReviewPublic

Authored by fhahn on Sep 19 2022, 12:53 PM.

Details

Reviewers
Ayal
gilr
rengolin
Summary

At the moment, VPReplicateRecipe uses the underlying value to store the
replicated instruction. This makes it a bit awkward to introduce new
VPReplicateRecipes or clone existing ones.

Instead, add a dedicated pointer to hold the instruction, but make it
clear that the operands and uses are modeled in VPlan; the instruction
is only used for opcode, type info, metadata and so on.

Diff Detail

Event Timeline

fhahn created this revision.Sep 19 2022, 12:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 19 2022, 12:53 PM
fhahn requested review of this revision.Sep 19 2022, 12:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 19 2022, 12:53 PM
Ayal added a comment.Sep 20 2022, 12:44 AM

Underlying value is designed to only be used for opcode, type info, metadata and so on, for any recipe; the operands and uses are modeled in VPlan, for any recipe; worth clarifying?

Perhaps Replicate recipe should support cloning or copy construction?