class CFLGraphBuilder
Declaration
template <typename CFLAA>
class CFLGraphBuilder { /* full declaration omitted */ };
Description
A builder class used to create CFLGraph instance from a given function The CFL-AA that uses this builder must provide its own type as a template argument. This is necessary for interprocedural processing: CFLGraphBuilder needs a way of obtaining the summary of other functions when callinsts are encountered. As a result, we expect the said CFL-AA to expose a getAliasSummary() public member function that takes a Function & and returns the corresponding summary as a const AliasSummary*.
Declared at: llvm/lib/Analysis/CFLGraph.h:163
Templates
- CFLAA
Member Variables
- private CFLAA& Analysis
- private const llvm::TargetLibraryInfo& TLI
- private llvm::cflaa::CFLGraph Graph
- private SmallVector<llvm::Value*, 4> ReturnedValues
Method Overview
- public CFLGraphBuilder<CFLAA>(CFLAA & Analysis, const llvm::TargetLibraryInfo & TLI, llvm::Function & Fn)
- private void addArgumentToGraph(llvm::Argument & Arg)
- private void addInstructionToGraph(llvm::cflaa::CFLGraphBuilder::GetEdgesVisitor & Visitor, llvm::Instruction & Inst)
- private void buildGraphFrom(llvm::Function & Fn)
- public const llvm::cflaa::CFLGraph & getCFLGraph() const
- public const SmallVector<llvm::Value *, 4> & getReturnValues() const
- private static bool hasUsefulEdges(llvm::Instruction * Inst)
Methods
¶CFLGraphBuilder<CFLAA>(
CFLAA& Analysis,
const llvm::TargetLibraryInfo& TLI,
llvm::Function& Fn)
CFLGraphBuilder<CFLAA>(
CFLAA& Analysis,
const llvm::TargetLibraryInfo& TLI,
llvm::Function& Fn)
Declared at: llvm/lib/Analysis/CFLGraph.h:654
Parameters
- CFLAA& Analysis
- const llvm::TargetLibraryInfo& TLI
- llvm::Function& Fn
¶void addArgumentToGraph(llvm::Argument& Arg)
void addArgumentToGraph(llvm::Argument& Arg)
Declared at: llvm/lib/Analysis/CFLGraph.h:618
Parameters
- llvm::Argument& Arg
¶void addInstructionToGraph(
llvm::cflaa::CFLGraphBuilder::GetEdgesVisitor&
Visitor,
llvm::Instruction& Inst)
void addInstructionToGraph(
llvm::cflaa::CFLGraphBuilder::GetEdgesVisitor&
Visitor,
llvm::Instruction& Inst)
Declared at: llvm/lib/Analysis/CFLGraph.h:633
Parameters
¶void buildGraphFrom(llvm::Function& Fn)
void buildGraphFrom(llvm::Function& Fn)
Declared at: llvm/lib/Analysis/CFLGraph.h:642
Parameters
- llvm::Function& Fn
¶const llvm::cflaa::CFLGraph& getCFLGraph() const
const llvm::cflaa::CFLGraph& getCFLGraph() const
Declared at: llvm/lib/Analysis/CFLGraph.h:659
¶const SmallVector<llvm::Value*, 4>&
getReturnValues() const
const SmallVector<llvm::Value*, 4>&
getReturnValues() const
Declared at: llvm/lib/Analysis/CFLGraph.h:660
¶static bool hasUsefulEdges(
llvm::Instruction* Inst)
static bool hasUsefulEdges(
llvm::Instruction* Inst)
Declared at: llvm/lib/Analysis/CFLGraph.h:610
Parameters
- llvm::Instruction* Inst