LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::IPModRef Class Reference

#include <IPModRef.h>

Inheritance diagram for llvm::IPModRef:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 IPModRef ()
 ~IPModRef ()
virtual bool runOnModule (Module &M)
const FunctionModRefInfogetFunctionModRefInfo (const Function &func)
const DSGraphgetBUDSGraph (const Function &F)
void print (std::ostream &O) const
void dump () const
virtual void releaseMemory ()
virtual void getAnalysisUsage (AnalysisUsage &AU) const

Detailed Description

IPModRef Class - An interprocedural pass that computes IP Mod/Ref info for functions and for individual call sites.

Given the DSGraph of a function, this class can be queried for a ModRefInfo object describing all the nodes in the DSGraph that are (a) modified, and (b) referenced during an execution of the function from an arbitrary callsite, or during an execution of a single call-site within the function.

Definition at line 186 of file IPModRef.h.


Constructor & Destructor Documentation

llvm::IPModRef::IPModRef  )  [inline]
 

Definition at line 193 of file IPModRef.h.

llvm::IPModRef::~IPModRef  )  [inline]
 

Definition at line 194 of file IPModRef.h.


Member Function Documentation

void llvm::IPModRef::dump  )  const
 

Reimplemented from llvm::Pass.

Definition at line 440 of file IPModRef.cpp.

References print().

void llvm::IPModRef::getAnalysisUsage AnalysisUsage AU  )  const [virtual]
 

getAnalysisUsage - This pass requires top-down data structure graphs. It modifies nothing.

Reimplemented from llvm::Pass.

Definition at line 419 of file IPModRef.cpp.

References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().

const DSGraph & llvm::IPModRef::getBUDSGraph const Function F  ) 
 

getBUDSGraph - This method returns the BU data structure graph for F through the use of the BUDataStructures object.

Definition at line 411 of file IPModRef.cpp.

const FunctionModRefInfo& llvm::IPModRef::getFunctionModRefInfo const Function func  )  [inline]
 

getFunctionModRefInfo - Retrieve the Mod/Ref information for a single function

Definition at line 205 of file IPModRef.h.

void llvm::IPModRef::print std::ostream &  O  )  const [virtual]
 

Reimplemented from llvm::Pass.

Definition at line 427 of file IPModRef.cpp.

Referenced by dump().

void llvm::IPModRef::releaseMemory  )  [virtual]
 

releaseMemory - Release memory held by this pass when the pass pipeline is done

Reimplemented from llvm::Pass.

Definition at line 363 of file IPModRef.cpp.

References E.

bool llvm::IPModRef::runOnModule Module M  )  [virtual]
 

run - Driver function to run IP Mod/Ref on a Module. This initializes the module reference, and then computes IPModRef results immediately if demand-driven analysis was *not* specified.

Implements llvm::ModulePass.

Definition at line 377 of file IPModRef.cpp.

References llvm::Module::begin(), and llvm::Module::end().


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