LLVM
11.0.0git

Compute iterated dominance frontiers using a linear time algorithm. More...
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/GenericDomTree.h"
#include <queue>
Go to the source code of this file.
Classes  
struct  llvm::IDFCalculatorDetail::ChildrenGetterTy< NodeTy, IsPostDom > 
Generic utility class used for getting the children of a basic block. More...  
class  llvm::IDFCalculatorBase< NodeTy, IsPostDom > 
Determine the iterated dominance frontier, given a set of defining blocks, and optionally, a set of livein blocks. More...  
Namespaces  
llvm  
This class represents lattice values for constants.  
llvm::IDFCalculatorDetail  
Compute iterated dominance frontiers using a linear time algorithm.
The algorithm used here is based on:
Sreedhar and Gao. A linear time algorithm for placing phinodes. In Proceedings of the 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages POPL '95. ACM, New York, NY, 6273.
It has been modified to not explicitly use the DJ graph data structure and to directly compute pruned SSA using pervariable liveness information.
Definition in file GenericIteratedDominanceFrontier.h.