LLVM: llvm::VPIRMetadata Class Reference (original) (raw)
Helper to manage IR metadata for recipes. More...
#include "[Transforms/Vectorize/VPlan.h](VPlan%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| VPIRMetadata ()=default | |
| VPIRMetadata (Instruction &I) | |
| Adds metatadata that can be preserved from the original instruction I. | |
| VPIRMetadata (const VPIRMetadata &Other)=default | |
| Copy constructor for cloning. | |
| VPIRMetadata & | operator= (const VPIRMetadata &Other)=default |
| void | applyMetadata (Instruction &I) const |
| Add all metadata to I. | |
| void | setMetadata (unsigned Kind, MDNode *Node) |
| Set metadata with kind Kind to Node. | |
| void | intersect (const VPIRMetadata &MD) |
| Intersect this VPIRMetadata object with MD, keeping only metadata nodes that are common to both. | |
| MDNode * | getMetadata (unsigned Kind) const |
| Get metadata of kind Kind. Returns nullptr if not found. | |
| void | print (raw_ostream &O, VPSlotTracker &SlotTracker) const |
| Print metadata with node IDs. |
Helper to manage IR metadata for recipes.
It filters out metadata that cannot be propagated.
Definition at line 982 of file VPlan.h.
| llvm::VPIRMetadata::VPIRMetadata ( ) | default |
|---|
◆ VPIRMetadata() [2/3]
| llvm::VPIRMetadata::VPIRMetadata ( Instruction & I) | inline |
|---|
◆ VPIRMetadata() [3/3]
◆ applyMetadata()
| void VPIRMetadata::applyMetadata | ( | Instruction & | I | ) | const |
|---|
Add all metadata to I.
Definition at line 1588 of file VPlanRecipes.cpp.
References I.
Referenced by llvm::VPInterleaveEVLRecipe::execute(), llvm::VPInterleaveRecipe::execute(), llvm::VPWidenCallRecipe::execute(), llvm::VPWidenCastRecipe::execute(), llvm::VPWidenIntrinsicRecipe::execute(), llvm::VPWidenLoadEVLRecipe::execute(), llvm::VPWidenLoadRecipe::execute(), llvm::VPWidenRecipe::execute(), llvm::VPWidenSelectRecipe::execute(), llvm::VPWidenStoreEVLRecipe::execute(), llvm::VPWidenStoreRecipe::execute(), and scalarizeInstruction().
◆ getMetadata()
| MDNode * llvm::VPIRMetadata::getMetadata ( unsigned Kind) const | inline |
|---|
◆ intersect()
◆ operator=()
◆ print()
◆ setMetadata()
Set metadata with kind Kind to [Node](classNode.html).
If metadata with Kind already exists, it will be replaced. Otherwise, it will be added.
Definition at line 1002 of file VPlan.h.
References llvm::find_if(), and P.
The documentation for this class was generated from the following files:
- lib/Transforms/Vectorize/VPlan.h
- lib/Transforms/Vectorize/VPlanRecipes.cpp