LLVM 17.0.0git
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"
#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

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.