clang  12.0.0git
Typedefs
llvm::DomTreeBuilder Namespace Reference

Clang's CFG contains nullpointers for unreachable succesors, e.g. More...

Typedefs

using ClangCFGDomChildrenGetter = SemiNCAInfo< clang::CFGDomTree::DominatorTreeBase >::ChildrenGetter< false >
 
using ClangCFGDomReverseChildrenGetter = SemiNCAInfo< clang::CFGDomTree::DominatorTreeBase >::ChildrenGetter< true >
 
using ClangCFGPostDomChildrenGetter = SemiNCAInfo< clang::CFGPostDomTree::DominatorTreeBase >::ChildrenGetter< false >
 
using ClangCFGPostDomReverseChildrenGetter = SemiNCAInfo< clang::CFGPostDomTree::DominatorTreeBase >::ChildrenGetter< true >
 

Detailed Description

Clang's CFG contains nullpointers for unreachable succesors, e.g.

when an if statement's condition is always false, it's 'then' branch is represented with a nullptr. This however will result in a nullpointer derefernece for dominator tree calculation.

To circumvent this, let's just crudely specialize the children getters used in LLVM's dominator tree builder.

Typedef Documentation

◆ ClangCFGDomChildrenGetter

Definition at line 287 of file Dominators.h.

◆ ClangCFGDomReverseChildrenGetter

Definition at line 301 of file Dominators.h.

◆ ClangCFGPostDomChildrenGetter

Definition at line 316 of file Dominators.h.

◆ ClangCFGPostDomReverseChildrenGetter

Definition at line 331 of file Dominators.h.