class VPInterleavedAccessInfo
Declaration
class VPInterleavedAccessInfo { /* full declaration omitted */ };
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2922
Member Variables
- private DenseMap<llvm::VPInstruction*, InterleaveGroup<llvm::VPInstruction>*> InterleaveGroupMap
Method Overview
- public VPInterleavedAccessInfo(llvm::VPlan & Plan, llvm::InterleavedAccessInfo & IAI)
- public InterleaveGroup<llvm::VPInstruction> * getInterleaveGroup(llvm::VPInstruction * Instr) const
- private void visitBlock(llvm::VPBlockBase * Block, llvm::VPInterleavedAccessInfo::Old2NewTy & Old2New, llvm::InterleavedAccessInfo & IAI)
- private void visitRegion(llvm::VPRegionBlock * Region, llvm::VPInterleavedAccessInfo::Old2NewTy & Old2New, llvm::InterleavedAccessInfo & IAI)
- public ~VPInterleavedAccessInfo()
Methods
¶VPInterleavedAccessInfo(
llvm::VPlan& Plan,
llvm::InterleavedAccessInfo& IAI)
VPInterleavedAccessInfo(
llvm::VPlan& Plan,
llvm::InterleavedAccessInfo& IAI)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2941
Parameters
- llvm::VPlan& Plan
- llvm::InterleavedAccessInfo& IAI
¶InterleaveGroup<llvm::VPInstruction>*
getInterleaveGroup(
llvm::VPInstruction* Instr) const
InterleaveGroup<llvm::VPInstruction>*
getInterleaveGroup(
llvm::VPInstruction* Instr) const
Description
Get the interleave group that \p Instr belongs to.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2956
Parameters
- llvm::VPInstruction* Instr
Returns
nullptr if doesn't have such group.
¶void visitBlock(
llvm::VPBlockBase* Block,
llvm::VPInterleavedAccessInfo::Old2NewTy&
Old2New,
llvm::InterleavedAccessInfo& IAI)
void visitBlock(
llvm::VPBlockBase* Block,
llvm::VPInterleavedAccessInfo::Old2NewTy&
Old2New,
llvm::InterleavedAccessInfo& IAI)
Description
Recursively traverse \p Block and populate VPlan based interleave groups based on \p IAI.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2937
Parameters
- llvm::VPBlockBase* Block
- llvm::VPInterleavedAccessInfo::Old2NewTy& Old2New
- llvm::InterleavedAccessInfo& IAI
¶void visitRegion(
llvm::VPRegionBlock* Region,
llvm::VPInterleavedAccessInfo::Old2NewTy&
Old2New,
llvm::InterleavedAccessInfo& IAI)
void visitRegion(
llvm::VPRegionBlock* Region,
llvm::VPInterleavedAccessInfo::Old2NewTy&
Old2New,
llvm::InterleavedAccessInfo& IAI)
Description
Recursively \p Region and populate VPlan based interleave groups based on\p IAI.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2933
Parameters
- llvm::VPRegionBlock* Region
- llvm::VPInterleavedAccessInfo::Old2NewTy& Old2New
- llvm::InterleavedAccessInfo& IAI
¶~VPInterleavedAccessInfo()
~VPInterleavedAccessInfo()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2943