LLVM 20.0.0git
Macros | Functions
VPlanHCFGBuilder.cpp File Reference

This file implements the construction of a VPlan-based Hierarchical CFG (H-CFG) for an incoming IR. More...

#include "VPlanHCFGBuilder.h"
#include "LoopVectorizationPlanner.h"
#include "llvm/Analysis/LoopIterator.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "loop-vectorize"
 

Functions

static bool isHeaderBB (BasicBlock *BB, Loop *L)
 
static bool isHeaderVPBB (VPBasicBlock *VPBB)
 
static bool doesContainLoop (const Loop *L, const Loop *OuterLoop)
 Return true of L loop is contained within OuterLoop.
 

Detailed Description

This file implements the construction of a VPlan-based Hierarchical CFG (H-CFG) for an incoming IR.

This construction comprises the following components and steps:

Definition in file VPlanHCFGBuilder.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "loop-vectorize"
  1. PlainCFGBuilder class: builds a plain VPBasicBlock-based CFG that faithfully represents the CFG in the incoming IR. A VPRegionBlock (Top Region) is created to enclose and serve as parent of all the VPBasicBlocks in the plain CFG. NOTE: At this point, there is a direct correspondence between all the VPBasicBlocks created for the initial plain CFG and the incoming BasicBlocks. However, this might change in the future.

Definition at line 28 of file VPlanHCFGBuilder.cpp.

Function Documentation

◆ doesContainLoop()

static bool doesContainLoop ( const Loop L,
const Loop OuterLoop 
)
static

Return true of L loop is contained within OuterLoop.

Definition at line 160 of file VPlanHCFGBuilder.cpp.

References llvm::LoopBase< BlockT, LoopT >::getLoopDepth(), and P.

◆ isHeaderBB()

static bool isHeaderBB ( BasicBlock BB,
Loop L 
)
static

Definition at line 111 of file VPlanHCFGBuilder.cpp.

◆ isHeaderVPBB()

static bool isHeaderVPBB ( VPBasicBlock VPBB)
static