LLVM  8.0.1
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 "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
 This class represents lattice values for constants.
 

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.