class VPlanPrinter

Declaration

class VPlanPrinter { /* full declaration omitted */ };

Description

VPlanPrinter prints a given VPlan to a given output stream. The printing is indented and follows the dot format.

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

Member Variables

private llvm::raw_ostream& OS
private const llvm::VPlan& Plan
private unsigned int Depth = 0
private unsigned int TabWidth = 2
private std::string Indent
private unsigned int BID = 0
private SmallDenseMap<const llvm::VPBlockBase*, unsigned int> BlockID
private llvm::VPSlotTracker SlotTracker

Method Overview

  • public VPlanPrinter(llvm::raw_ostream & O, const llvm::VPlan & P)
  • private void bumpIndent(int b)
  • private void drawEdge(const llvm::VPBlockBase * From, const llvm::VPBlockBase * To, bool Hidden, const llvm::Twine & Label)
  • public void dump()
  • private void dumpBasicBlock(const llvm::VPBasicBlock * BasicBlock)
  • private void dumpBlock(const llvm::VPBlockBase * Block)
  • private void dumpEdges(const llvm::VPBlockBase * Block)
  • private void dumpRegion(const llvm::VPRegionBlock * Region)
  • private unsigned int getOrCreateBID(const llvm::VPBlockBase * Block)
  • private llvm::Twine getOrCreateName(const llvm::VPBlockBase * Block)
  • private llvm::Twine getUID(const llvm::VPBlockBase * Block)

Methods

VPlanPrinter(llvm::raw_ostream& O,
             const llvm::VPlan& P)

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

Parameters

llvm::raw_ostream& O
const llvm::VPlan& P

void bumpIndent(int b)

Description

Handle indentation.

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

Parameters

int b

void drawEdge(const llvm::VPBlockBase* From,
              const llvm::VPBlockBase* To,
              bool Hidden,
              const llvm::Twine& Label)

Description

Print the information related to a CFG edge between two VPBlockBases.

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

Parameters

const llvm::VPBlockBase* From
const llvm::VPBlockBase* To
bool Hidden
const llvm::Twine& Label

void dump()

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

void dumpBasicBlock(
    const llvm::VPBasicBlock* BasicBlock)

Description

Print a given \p BasicBlock, including its VPRecipes, followed by printing its successor blocks.

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

Parameters

const llvm::VPBasicBlock* BasicBlock

void dumpBlock(const llvm::VPBlockBase* Block)

Description

Print a given \p Block of the Plan.

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

Parameters

const llvm::VPBlockBase* Block

void dumpEdges(const llvm::VPBlockBase* Block)

Description

Print the information related to the CFG edges going out of a given\p Block, followed by printing the successor blocks themselves.

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

Parameters

const llvm::VPBlockBase* Block

void dumpRegion(const llvm::VPRegionBlock* Region)

Description

Print a given \p Region of the Plan.

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

Parameters

const llvm::VPRegionBlock* Region

unsigned int getOrCreateBID(
    const llvm::VPBlockBase* Block)

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

Parameters

const llvm::VPBlockBase* Block

llvm::Twine getOrCreateName(
    const llvm::VPBlockBase* Block)

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

Parameters

const llvm::VPBlockBase* Block

llvm::Twine getUID(const llvm::VPBlockBase* Block)

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

Parameters

const llvm::VPBlockBase* Block