LLVM: include/llvm/CodeGen/MachineCFGPrinter.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

16

17namespace llvm {

18

19template struct GraphTraits;

21private:

23

24public:

26

28};

29

30template <>

35 }

36

37

39

42 }

43

46 }

47

50 }

51};

52

53template <>

55

57

58 static void eraseComment(std::string &OutStr, unsigned &I, unsigned Idx) {

59 OutStr.erase(OutStr.begin() + I, OutStr.begin() + Idx);

60 --I;

61 }

62

66 }

67

71 HandleBasicBlock =

74 function_ref<void(std::string &, unsigned &, unsigned)>

75 HandleComment = eraseComment) {

77 }

78

82 return getSimpleNodeLabel(Node, CFGInfo);

83

84 return getCompleteNodeLabel(Node, CFGInfo);

85 }

86

89 "' function";

90 }

91};

92}

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)