LLVM 19.0.0git
Classes | Namespaces
VPlanHCFGBuilder.h File Reference

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. More...

#include "VPlanDominatorTree.h"

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

namespace  llvm
 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.