LLVM  13.0.0git
Classes | Namespaces
VPlanHCFGBuilder.h File Reference
#include "VPlan.h"
#include "VPlanDominatorTree.h"
#include "VPlanVerifier.h"
Include dependency graph for VPlanHCFGBuilder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::VPlanHCFGBuilder
 Main class to build the VPlan H-CFG for an incoming IR. More...
 

Namespaces

 llvm
 

Detailed Description

This file defines the VPlanHCFGBuilder class which contains the public interface (buildHierarchicalCFG) to build a VPlan-based Hierarchical CFG (H-CFG) for an incoming IR.

A H-CFG in VPlan is a control-flow graph whose nodes are VPBasicBlocks and/or VPRegionBlocks (i.e., other H-CFGs). The outermost H-CFG of a VPlan consists of a VPRegionBlock, denoted Top Region, which encloses any other VPBlockBase in the H-CFG. This guarantees that any VPBlockBase in the H-CFG other than the Top Region will have a parent VPRegionBlock and allows us to easily add more nodes before/after the main vector loop (such as the reduction epilogue).

Definition in file VPlanHCFGBuilder.h.