mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Remove ShortNames from getNodeLabel in DOTGraphTraits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90134 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a10d598602
commit
56f4ef3232
@ -31,19 +31,22 @@ struct DOTGraphTraits<const Function*> : public DefaultDOTGraphTraits {
|
||||
return "CFG for '" + F->getNameStr() + "' function";
|
||||
}
|
||||
|
||||
static std::string getNodeLabel(const BasicBlock *Node,
|
||||
const Function *Graph,
|
||||
bool ShortNames) {
|
||||
if (ShortNames && !Node->getName().empty())
|
||||
static std::string getSimpleNodeLabel(const BasicBlock *Node,
|
||||
const Function *Graph) {
|
||||
if (!Node->getName().empty())
|
||||
return Node->getNameStr();
|
||||
|
||||
std::string Str;
|
||||
raw_string_ostream OS(Str);
|
||||
|
||||
if (ShortNames) {
|
||||
WriteAsOperand(OS, Node, false);
|
||||
return OS.str();
|
||||
}
|
||||
WriteAsOperand(OS, Node, false);
|
||||
return OS.str();
|
||||
}
|
||||
|
||||
static std::string getCompleteNodeLabel(const BasicBlock *Node,
|
||||
const Function *Graph) {
|
||||
std::string Str;
|
||||
raw_string_ostream OS(Str);
|
||||
|
||||
if (Node->getName().empty()) {
|
||||
WriteAsOperand(OS, Node, false);
|
||||
@ -68,6 +71,14 @@ struct DOTGraphTraits<const Function*> : public DefaultDOTGraphTraits {
|
||||
return OutStr;
|
||||
}
|
||||
|
||||
std::string getNodeLabel(const BasicBlock *Node,
|
||||
const Function *Graph) {
|
||||
if (isSimple())
|
||||
return getSimpleNodeLabel(Node, Graph);
|
||||
else
|
||||
return getCompleteNodeLabel(Node, Graph);
|
||||
}
|
||||
|
||||
static std::string getEdgeSourceLabel(const BasicBlock *Node,
|
||||
succ_const_iterator I) {
|
||||
// Label source of conditional branches with "T" or "F"
|
||||
|
@ -62,8 +62,7 @@ public:
|
||||
/// getNodeLabel - Given a node and a pointer to the top level graph, return
|
||||
/// the label to print in the node.
|
||||
template<typename GraphType>
|
||||
static std::string getNodeLabel(const void *Node,
|
||||
const GraphType& Graph, bool ShortNames) {
|
||||
std::string getNodeLabel(const void *Node, const GraphType& Graph) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,6 @@ template<typename GraphType>
|
||||
class GraphWriter {
|
||||
raw_ostream &O;
|
||||
const GraphType &G;
|
||||
bool ShortNames;
|
||||
|
||||
typedef DOTGraphTraits<GraphType> DOTTraits;
|
||||
typedef GraphTraits<GraphType> GTraits;
|
||||
@ -89,8 +88,7 @@ class GraphWriter {
|
||||
}
|
||||
|
||||
public:
|
||||
GraphWriter(raw_ostream &o, const GraphType &g, bool SN) :
|
||||
O(o), G(g), ShortNames(SN) {
|
||||
GraphWriter(raw_ostream &o, const GraphType &g, bool SN) : O(o), G(g) {
|
||||
DTraits = DOTTraits(SN);
|
||||
}
|
||||
|
||||
@ -143,7 +141,7 @@ public:
|
||||
O << "label=\"{";
|
||||
|
||||
if (!DTraits.renderGraphFromBottomUp()) {
|
||||
O << DOT::EscapeString(DTraits.getNodeLabel(Node, G, ShortNames));
|
||||
O << DOT::EscapeString(DTraits.getNodeLabel(Node, G));
|
||||
|
||||
// If we should include the address of the node in the label, do so now.
|
||||
if (DTraits.hasNodeAddressLabel(Node, G))
|
||||
@ -163,7 +161,7 @@ public:
|
||||
}
|
||||
|
||||
if (DTraits.renderGraphFromBottomUp()) {
|
||||
O << DOT::EscapeString(DTraits.getNodeLabel(Node, G, ShortNames));
|
||||
O << DOT::EscapeString(DTraits.getNodeLabel(Node, G));
|
||||
|
||||
// If we should include the address of the node in the label, do so now.
|
||||
if (DTraits.hasNodeAddressLabel(Node, G))
|
||||
|
@ -31,18 +31,23 @@ namespace llvm {
|
||||
template<>
|
||||
struct DOTGraphTraits<DomTreeNode*> : public DefaultDOTGraphTraits {
|
||||
|
||||
DOTGraphTraits (bool isSimple=false) : DefaultDOTGraphTraits(isSimple) {}
|
||||
DOTGraphTraits (bool isSimple=false)
|
||||
: DefaultDOTGraphTraits(isSimple) {}
|
||||
|
||||
static std::string getNodeLabel(DomTreeNode *Node, DomTreeNode *Graph,
|
||||
bool ShortNames) {
|
||||
std::string getNodeLabel(DomTreeNode *Node, DomTreeNode *Graph) {
|
||||
|
||||
BasicBlock *BB = Node->getBlock();
|
||||
|
||||
if (!BB)
|
||||
return "Post dominance root node";
|
||||
|
||||
return DOTGraphTraits<const Function*>::getNodeLabel(BB, BB->getParent(),
|
||||
ShortNames);
|
||||
|
||||
if (isSimple())
|
||||
return DOTGraphTraits<const Function*>
|
||||
::getSimpleNodeLabel(BB, BB->getParent());
|
||||
else
|
||||
return DOTGraphTraits<const Function*>
|
||||
::getCompleteNodeLabel(BB, BB->getParent());
|
||||
}
|
||||
};
|
||||
|
||||
@ -56,11 +61,8 @@ struct DOTGraphTraits<DominatorTree*> : public DOTGraphTraits<DomTreeNode*> {
|
||||
return "Dominator tree";
|
||||
}
|
||||
|
||||
static std::string getNodeLabel(DomTreeNode *Node,
|
||||
DominatorTree *G,
|
||||
bool ShortNames) {
|
||||
return DOTGraphTraits<DomTreeNode*>::getNodeLabel(Node, G->getRootNode(),
|
||||
ShortNames);
|
||||
std::string getNodeLabel(DomTreeNode *Node, DominatorTree *G) {
|
||||
return DOTGraphTraits<DomTreeNode*>::getNodeLabel(Node, G->getRootNode());
|
||||
}
|
||||
};
|
||||
|
||||
@ -74,12 +76,9 @@ struct DOTGraphTraits<PostDominatorTree*>
|
||||
static std::string getGraphName(PostDominatorTree *DT) {
|
||||
return "Post dominator tree";
|
||||
}
|
||||
static std::string getNodeLabel(DomTreeNode *Node,
|
||||
PostDominatorTree *G,
|
||||
bool ShortNames) {
|
||||
return DOTGraphTraits<DomTreeNode*>::getNodeLabel(Node,
|
||||
G->getRootNode(),
|
||||
ShortNames);
|
||||
|
||||
std::string getNodeLabel(DomTreeNode *Node, PostDominatorTree *G ) {
|
||||
return DOTGraphTraits<DomTreeNode*>::getNodeLabel(Node, G->getRootNode());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -366,10 +366,9 @@ namespace llvm {
|
||||
return "CFG for '" + F->getFunction()->getNameStr() + "' function";
|
||||
}
|
||||
|
||||
static std::string getNodeLabel(const MachineBasicBlock *Node,
|
||||
const MachineFunction *Graph,
|
||||
bool ShortNames) {
|
||||
if (ShortNames && Node->getBasicBlock() &&
|
||||
std::string getNodeLabel(const MachineBasicBlock *Node,
|
||||
const MachineFunction *Graph) {
|
||||
if (isSimple () && Node->getBasicBlock() &&
|
||||
!Node->getBasicBlock()->getName().empty())
|
||||
return Node->getBasicBlock()->getNameStr() + ":";
|
||||
|
||||
@ -377,7 +376,7 @@ namespace llvm {
|
||||
{
|
||||
raw_string_ostream OSS(OutStr);
|
||||
|
||||
if (ShortNames)
|
||||
if (isSimple())
|
||||
OSS << Node->getNumber() << ':';
|
||||
else
|
||||
Node->print(OSS);
|
||||
|
@ -60,9 +60,7 @@ namespace llvm {
|
||||
}
|
||||
|
||||
|
||||
static std::string getNodeLabel(const SUnit *Node,
|
||||
const ScheduleDAG *Graph,
|
||||
bool ShortNames);
|
||||
std::string getNodeLabel(const SUnit *Node, const ScheduleDAG *Graph);
|
||||
static std::string getNodeAttributes(const SUnit *N,
|
||||
const ScheduleDAG *Graph) {
|
||||
return "shape=Mrecord";
|
||||
@ -76,8 +74,7 @@ namespace llvm {
|
||||
}
|
||||
|
||||
std::string DOTGraphTraits<ScheduleDAG*>::getNodeLabel(const SUnit *SU,
|
||||
const ScheduleDAG *G,
|
||||
bool ShortNames) {
|
||||
const ScheduleDAG *G) {
|
||||
return G->getGraphNodeLabel(SU);
|
||||
}
|
||||
|
||||
|
@ -96,9 +96,16 @@ namespace llvm {
|
||||
}
|
||||
|
||||
|
||||
static std::string getNodeLabel(const SDNode *Node,
|
||||
const SelectionDAG *Graph,
|
||||
bool ShortNames);
|
||||
static std::string getSimpleNodeLabel(const SDNode *Node,
|
||||
const SelectionDAG *G) {
|
||||
std::string Result = Node->getOperationName(G);
|
||||
{
|
||||
raw_string_ostream OS(Result);
|
||||
Node->print_details(OS, G);
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
std::string getNodeLabel(const SDNode *Node, const SelectionDAG *Graph);
|
||||
static std::string getNodeAttributes(const SDNode *N,
|
||||
const SelectionDAG *Graph) {
|
||||
#ifndef NDEBUG
|
||||
@ -124,14 +131,8 @@ namespace llvm {
|
||||
}
|
||||
|
||||
std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node,
|
||||
const SelectionDAG *G,
|
||||
bool ShortNames) {
|
||||
std::string Result = Node->getOperationName(G);
|
||||
{
|
||||
raw_string_ostream OS(Result);
|
||||
Node->print_details(OS, G);
|
||||
}
|
||||
return Result;
|
||||
const SelectionDAG *G) {
|
||||
DOTGraphTraits<SelectionDAG*>::getSimpleNodeLabel (Node, G);
|
||||
}
|
||||
|
||||
|
||||
@ -272,8 +273,8 @@ std::string ScheduleDAGSDNodes::getGraphNodeLabel(const SUnit *SU) const {
|
||||
for (SDNode *N = SU->getNode(); N; N = N->getFlaggedNode())
|
||||
FlaggedNodes.push_back(N);
|
||||
while (!FlaggedNodes.empty()) {
|
||||
O << DOTGraphTraits<SelectionDAG*>::getNodeLabel(FlaggedNodes.back(),
|
||||
DAG, false);
|
||||
O << DOTGraphTraits<SelectionDAG*>
|
||||
::getSimpleNodeLabel(FlaggedNodes.back(), DAG);
|
||||
FlaggedNodes.pop_back();
|
||||
if (!FlaggedNodes.empty())
|
||||
O << "\n ";
|
||||
|
@ -53,8 +53,7 @@ namespace llvm {
|
||||
return "Call Graph";
|
||||
}
|
||||
|
||||
static std::string getNodeLabel(CallGraphNode *Node, CallGraph *Graph,
|
||||
bool ShortNames) {
|
||||
static std::string getNodeLabel(CallGraphNode *Node, CallGraph *Graph) {
|
||||
if (Node->getFunction())
|
||||
return ((Value*)Node->getFunction())->getName();
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user