| 
    LLVM 22.0.0git
    
   | 
 
#include "llvm/Analysis/CFGPrinter.h"
Public Member Functions | |
| DOTGraphTraits (bool isSimple=false) | |
| std::string | getNodeLabel (const BasicBlock *Node, DOTFuncInfo *CFGInfo) | 
| std::string | getEdgeAttributes (const BasicBlock *Node, const_succ_iterator I, DOTFuncInfo *CFGInfo) | 
| Display the raw branch weights from PGO.   | |
| std::string | getNodeAttributes (const BasicBlock *Node, DOTFuncInfo *CFGInfo) | 
| LLVM_ABI bool | isNodeHidden (const BasicBlock *Node, const DOTFuncInfo *CFGInfo) | 
| LLVM_ABI void | computeDeoptOrUnreachablePaths (const Function *F) | 
| DefaultDOTGraphTraits (bool simple=false) | |
| Public Member Functions inherited from llvm::DefaultDOTGraphTraits | |
| DefaultDOTGraphTraits (bool simple=false) | |
| template<typename GraphType> | |
| std::string | getNodeLabel (const void *, const GraphType &) | 
| getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node.   | |
Static Public Member Functions | |
| static void | eraseComment (std::string &OutStr, unsigned &I, unsigned Idx) | 
| static std::string | getGraphName (DOTFuncInfo *CFGInfo) | 
| static std::string | getSimpleNodeLabel (const BasicBlock *Node, DOTFuncInfo *) | 
| static LLVM_ABI std::string | getCompleteNodeLabel (const BasicBlock *Node, DOTFuncInfo *, function_ref< void(raw_string_ostream &, const BasicBlock &)> HandleBasicBlock={}, function_ref< void(std::string &, unsigned &, unsigned)> HandleComment=eraseComment) | 
| static std::string | getEdgeSourceLabel (const BasicBlock *Node, const_succ_iterator I) | 
| static std::string | getBBName (const BasicBlock *Node) | 
| Static Public Member Functions inherited from llvm::DefaultDOTGraphTraits | |
| template<typename GraphType> | |
| static std::string | getGraphName (const GraphType &) | 
| getGraphName - Return the label for the graph as a whole.   | |
| template<typename GraphType> | |
| static std::string | getGraphProperties (const GraphType &) | 
| getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot.   | |
| static bool | renderGraphFromBottomUp () | 
| renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down.   | |
| template<typename GraphType> | |
| static bool | isNodeHidden (const void *, const GraphType &) | 
| isNodeHidden - If the function returns true, the given node is not displayed in the graph.   | |
| static bool | renderNodesUsingHTML () | 
| template<typename GraphType> | |
| static std::string | getNodeIdentifierLabel (const void *, const GraphType &) | 
| template<typename GraphType> | |
| static std::string | getNodeDescription (const void *, const GraphType &) | 
| template<typename GraphType> | |
| static std::string | getNodeAttributes (const void *, const GraphType &) | 
| If you want to specify custom node attributes, this is the place to do so.   | |
| template<typename EdgeIter, typename GraphType> | |
| static std::string | getEdgeAttributes (const void *, EdgeIter, const GraphType &) | 
| If you want to override the dot attributes printed for a particular edge, override this method.   | |
| template<typename EdgeIter> | |
| static std::string | getEdgeSourceLabel (const void *, EdgeIter) | 
| getEdgeSourceLabel - If you want to label the edge source itself, implement this method.   | |
| template<typename EdgeIter> | |
| static bool | edgeTargetsEdgeSource (const void *, EdgeIter) | 
| edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node.   | |
| template<typename EdgeIter> | |
| static EdgeIter | getEdgeTarget (const void *, EdgeIter I) | 
| getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge.   | |
| static bool | hasEdgeDestLabels () | 
| hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations.   | |
| static unsigned | numEdgeDestLabels (const void *) | 
| numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has.   | |
| static std::string | getEdgeDestLabel (const void *, unsigned) | 
| getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node.   | |
| template<typename GraphType, typename GraphWriter> | |
| static void | addCustomGraphFeatures (const GraphType &, GraphWriter &) | 
| addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary.   | |
Public Attributes | |
| DenseMap< const BasicBlock *, bool > | isOnDeoptOrUnreachablePath | 
Additional Inherited Members | |
| Protected Member Functions inherited from llvm::DefaultDOTGraphTraits | |
| bool | isSimple () | 
Definition at line 188 of file CFGPrinter.h.
      
  | 
  inline | 
Definition at line 193 of file CFGPrinter.h.
References DefaultDOTGraphTraits(), and llvm::DefaultDOTGraphTraits::isSimple().
| LLVM_ABI void llvm::DOTGraphTraits< DOTFuncInfo * >::computeDeoptOrUnreachablePaths | ( | const Function * | F | ) | 
| ( | bool | simple = false | ) | 
Referenced by DOTGraphTraits().
      
  | 
  inlinestatic | 
Definition at line 195 of file CFGPrinter.h.
References I.
      
  | 
  inlinestatic | 
Definition at line 246 of file CFGPrinter.h.
References Node::printAsOperand().
Referenced by getEdgeAttributes().
      
  | 
  static | 
References LLVM_ABI.
Referenced by getNodeLabel().
      
  | 
  inline | 
Display the raw branch weights from PGO.
Definition at line 258 of file CFGPrinter.h.
References llvm::mdconst::dyn_extract(), llvm::formatv(), getBBName(), llvm::DOTFuncInfo::getBPI(), llvm::getBranchWeightMDNode(), llvm::BranchProbabilityInfo::getEdgeProbability(), llvm::DOTFuncInfo::getFreq(), llvm::MDNode::getNumOperands(), llvm::Instruction::getNumSuccessors(), llvm::MDNode::getOperand(), llvm::Instruction::getSuccessor(), llvm::ConstantInt::getZExtValue(), I, llvm::DOTFuncInfo::showEdgeWeights(), and llvm::DOTFuncInfo::useRawEdgeWeights().
      
  | 
  inlinestatic | 
Definition at line 223 of file CFGPrinter.h.
References llvm::dyn_cast(), llvm::SwitchInst::CaseIteratorImpl< ConstCaseHandle >::fromSuccessorIndex(), I, and llvm::succ_begin().
      
  | 
  inlinestatic | 
Definition at line 200 of file CFGPrinter.h.
References llvm::DOTFuncInfo::getFunction(), llvm::Value::getName(), and llvm::StringRef::str().
      
  | 
  inline | 
Definition at line 313 of file CFGPrinter.h.
References llvm::DOTFuncInfo::getFreq(), llvm::getHeatColor(), llvm::DOTFuncInfo::getMaxFreq(), and llvm::DOTFuncInfo::showHeatColors().
      
  | 
  inline | 
Definition at line 215 of file CFGPrinter.h.
References getCompleteNodeLabel(), getSimpleNodeLabel(), and isSimple().
      
  | 
  inlinestatic | 
Definition at line 204 of file CFGPrinter.h.
References llvm::SimpleNodeLabelString().
Referenced by getNodeLabel().
| LLVM_ABI bool llvm::DOTGraphTraits< DOTFuncInfo * >::isNodeHidden | ( | const BasicBlock * | Node, | 
| const DOTFuncInfo * | CFGInfo ) | 
References LLVM_ABI.
| DenseMap<const BasicBlock *, bool> llvm::DOTGraphTraits< DOTFuncInfo * >::isOnDeoptOrUnreachablePath | 
Definition at line 191 of file CFGPrinter.h.