LLVM API Documentation

llvmc::CompilationGraph Class Reference

CompilationGraph - The compilation graph itself. More...

#include <CompilationGraph.h>

Collaboration diagram for llvmc::CompilationGraph:
[legend]

List of all members.

Public Types

typedef nodes_map_type::iterator nodes_iterator
typedef
nodes_map_type::const_iterator 
const_nodes_iterator

Public Member Functions

 CompilationGraph ()
void insertNode (Tool *T)
void insertEdge (const std::string &A, Edge *E)
int Build (llvm::sys::Path const &TempDir, const LanguageMap &LangMap)
int Check ()
Node & getNode (const std::string &ToolName)
const Node & getNode (const std::string &ToolName) const
void viewGraph ()
void writeGraph ()
 writeGraph - Write a compilation-graph.dot file.

Friends

NodesIterator GraphBegin (CompilationGraph *)
NodesIterator GraphEnd (CompilationGraph *)


Detailed Description

CompilationGraph - The compilation graph itself.

Definition at line 108 of file CompilationGraph.h.


Member Typedef Documentation

Definition at line 126 of file CompilationGraph.h.

Definition at line 127 of file CompilationGraph.h.


Constructor & Destructor Documentation

llvmc::CompilationGraph::CompilationGraph (  ) 


Member Function Documentation

void llvmc::CompilationGraph::insertNode ( Tool *  T  ) 

insertNode - Insert a new node into the graph. Takes ownership of the object.

void llvmc::CompilationGraph::insertEdge ( const std::string &  A,
Edge *  E 
)

insertEdge - Insert a new edge into the graph. Takes ownership of the Edge object.

int llvmc::CompilationGraph::Build ( llvm::sys::Path const &  TempDir,
const LanguageMap &  LangMap 
)

Build - Build target(s) from the input file set. Command-line options are passed implicitly as global variables.

int llvmc::CompilationGraph::Check (  ) 

Check - Check the compilation graph for common errors like cycles, input/output language mismatch and multiple default edges. Prints error messages and in case it finds any errors.

Node& llvmc::CompilationGraph::getNode ( const std::string &  ToolName  ) 

getNode - Return a reference to the node correponding to the given tool name. Throws std::runtime_error.

Referenced by llvm::GraphTraits< llvmc::CompilationGraph * >::getEntryNode(), llvmc::NodeChildIterator::operator*(), and llvmc::NodeChildIterator::operator->().

const Node& llvmc::CompilationGraph::getNode ( const std::string &  ToolName  )  const

void llvmc::CompilationGraph::viewGraph (  ) 

viewGraph - This function is meant for use from the debugger. You can just say 'call G->viewGraph()' and a ghostview window should pop up from the program, displaying the compilation graph. This depends on there being a 'dot' and 'gv' program in your path.

void llvmc::CompilationGraph::writeGraph (  ) 

writeGraph - Write a compilation-graph.dot file.


Friends And Related Function Documentation

NodesIterator GraphBegin ( CompilationGraph *  G  )  [friend]

Definition at line 235 of file CompilationGraph.h.

NodesIterator GraphEnd ( CompilationGraph *  G  )  [friend]

Definition at line 239 of file CompilationGraph.h.


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