19template <
class GraphType>
struct GraphTraits;
59 OutStr.erase(OutStr.begin() +
I, OutStr.begin() +
Idx);
75 HandleComment = eraseComment) {
82 return getSimpleNodeLabel(
Node, CFGInfo);
84 return getCompleteNodeLabel(
Node, CFGInfo);
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one unsigned Idx
static bool isSimple(Instruction *I)
DOTMachineFuncInfo(const MachineFunction *F)
const MachineFunction * getFunction() const
StringRef getName() const
getName - Return the name of the corresponding LLVM function.
const MachineBasicBlock & front() const
std::string str() const
str - Get the contents as an std::string.
An efficient, type-erasing, non-owning reference to a callable.
A raw_ostream that writes to an std::string.
This is an optimization pass for GlobalISel generic memory operations.
std::string SimpleNodeLabelString(const BasicBlockT *Node)
std::string CompleteNodeLabelString(const BasicBlockT *Node, function_ref< void(raw_string_ostream &, const BasicBlockT &)> HandleBasicBlock, function_ref< void(std::string &, unsigned &, unsigned)> HandleComment)
DOTGraphTraits(bool isSimple=false)
static std::string getGraphName(DOTMachineFuncInfo *CFGInfo)
static std::string getSimpleNodeLabel(const MachineBasicBlock *Node, DOTMachineFuncInfo *)
static void eraseComment(std::string &OutStr, unsigned &I, unsigned Idx)
std::string getNodeLabel(const MachineBasicBlock *Node, DOTMachineFuncInfo *CFGInfo)
static std::string getCompleteNodeLabel(const MachineBasicBlock *Node, DOTMachineFuncInfo *, function_ref< void(raw_string_ostream &, const MachineBasicBlock &)> HandleBasicBlock=[](raw_string_ostream &OS, const MachineBasicBlock &Node) -> void { OS<< Node;}, function_ref< void(std::string &, unsigned &, unsigned)> HandleComment=eraseComment)
DOTGraphTraits - Template class that can be specialized to customize how graphs are converted to 'dot...
DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits ...
static NodeRef getEntryNode(DOTMachineFuncInfo *CFGInfo)
static size_t size(DOTMachineFuncInfo *CFGInfo)
static nodes_iterator nodes_end(DOTMachineFuncInfo *CFGInfo)
static nodes_iterator nodes_begin(DOTMachineFuncInfo *CFGInfo)