LLVM  16.0.0git
Classes | Namespaces
VPlanHCFGBuilder.h File Reference
#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.


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


 This is an optimization pass for GlobalISel generic memory operations.

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.