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)

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2941

Parameters

llvm::VPlan& Plan
llvm::InterleavedAccessInfo& IAI

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)

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)

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()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:2943