mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-26 20:57:15 +00:00
Add edge source labels to SelectionDAG graphs, now that the graph printing
framework omits differentiated edge sources in the case where the labels are empty strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90254 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0baf2a302f
commit
5b69fe767c
@ -2397,6 +2397,11 @@ public:
|
||||
SDNodeIterator operator++(int) { // Postincrement
|
||||
SDNodeIterator tmp = *this; ++*this; return tmp;
|
||||
}
|
||||
size_t operator-(SDNodeIterator Other) const {
|
||||
assert(Node == Other.Node &&
|
||||
"Cannot compare iterators of two different nodes!");
|
||||
return Operand - Other.Operand;
|
||||
}
|
||||
|
||||
static SDNodeIterator begin(SDNode *N) { return SDNodeIterator(N, 0); }
|
||||
static SDNodeIterator end (SDNode *N) {
|
||||
|
@ -50,6 +50,11 @@ namespace llvm {
|
||||
return ((const SDNode *) Node)->getValueType(i).getEVTString();
|
||||
}
|
||||
|
||||
template<typename EdgeIter>
|
||||
static std::string getEdgeSourceLabel(const void *Node, EdgeIter I) {
|
||||
return itostr(I - SDNodeIterator::begin((SDNode *) Node));
|
||||
}
|
||||
|
||||
/// edgeTargetsEdgeSource - This method returns true if this outgoing edge
|
||||
/// should actually target another edge source, not a node. If this method
|
||||
/// is implemented, getEdgeTarget should be implemented.
|
||||
|
Loading…
x
Reference in New Issue
Block a user