LLVM API Documentation

Public Member Functions | Static Public Attributes
llvm::DominatorTreeWrapperPass Class Reference

Analysis pass which computes a DominatorTree. More...

#include <Dominators.h>

Inheritance diagram for llvm::DominatorTreeWrapperPass:
Inheritance graph
[legend]
Collaboration diagram for llvm::DominatorTreeWrapperPass:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DominatorTreeWrapperPass ()
DominatorTreegetDomTree ()
const DominatorTreegetDomTree () const
bool runOnFunction (Function &F) override
void verifyAnalysis () const override
void getAnalysisUsage (AnalysisUsage &AU) const override
void releaseMemory () override
void print (raw_ostream &OS, const Module *M=nullptr) const override

Static Public Attributes

static char ID = 0

Detailed Description

Analysis pass which computes a DominatorTree.

Definition at line 158 of file Dominators.h.


Constructor & Destructor Documentation


Member Function Documentation

void llvm::DominatorTreeWrapperPass::getAnalysisUsage ( AnalysisUsage ) const [inline, override, virtual]

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 175 of file Dominators.h.

References llvm::AnalysisUsage::setPreservesAll().

Definition at line 169 of file Dominators.h.

void DominatorTreeWrapperPass::print ( raw_ostream O,
const Module M = nullptr 
) const [override, virtual]

print - Print out the internal state of the pass. This is called by Analyze to print out the contents of an analysis. Otherwise it is not necessary to implement this method. Beware that the module pointer MAY be null. This automatically forwards to a virtual function that does not provide the Module* in case the analysis doesn't need it it can just be ignored.

Reimplemented from llvm::Pass.

Definition at line 319 of file Dominators.cpp.

References llvm::DominatorTreeBase< NodeT >::print().

void llvm::DominatorTreeWrapperPass::releaseMemory ( ) [inline, override, virtual]

releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. The default behavior of passes is to hold onto memory for the entire duration of their lifetime (which is the entire compile time). For pipelined passes, this is not a big deal because that memory gets recycled every time the pass is invoked on another program unit. For IP passes, it is more important to free memory when it is unused.

Optionally implement this function to release pass memory when it is no longer used.

Reimplemented from llvm::Pass.

Definition at line 179 of file Dominators.h.

References llvm::DominatorTreeBase< NodeT >::releaseMemory().

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

Implements llvm::FunctionPass.

void DominatorTreeWrapperPass::verifyAnalysis ( ) const [override, virtual]

verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information.

Reimplemented from llvm::Pass.

Definition at line 317 of file Dominators.cpp.

References llvm::DominatorTree::verifyDomTree().


Member Data Documentation

char DominatorTreeWrapperPass::ID = 0 [static]

Definition at line 162 of file Dominators.h.


The documentation for this class was generated from the following files: