mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-12 07:37:34 +00:00
Assign the ordering of SDNodes in a much less intrusive fashion. After the
"visit*" method is called, take the newly created nodes, walk them in a DFS fashion, and if they don't have an ordering set, then give it one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94757 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1124cc02b4
commit
4533cac557
@ -841,7 +841,7 @@ public:
|
||||
}
|
||||
|
||||
/// AssignOrdering - Assign an order to the SDNode.
|
||||
void AssignOrdering(SDNode *SD, unsigned Order);
|
||||
void AssignOrdering(const SDNode *SD, unsigned Order);
|
||||
|
||||
/// GetOrdering - Get the order for the SDNode.
|
||||
unsigned GetOrdering(const SDNode *SD) const;
|
||||
|
@ -5237,7 +5237,7 @@ unsigned SelectionDAG::AssignTopologicalOrder() {
|
||||
}
|
||||
|
||||
/// AssignOrdering - Assign an order to the SDNode.
|
||||
void SelectionDAG::AssignOrdering(SDNode *SD, unsigned Order) {
|
||||
void SelectionDAG::AssignOrdering(const SDNode *SD, unsigned Order) {
|
||||
assert(SD && "Trying to assign an order to a null node!");
|
||||
Ordering->add(SD, Order);
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -342,6 +342,11 @@ public:
|
||||
|
||||
void CopyValueToVirtualRegister(Value *V, unsigned Reg);
|
||||
|
||||
/// AssignOrderingToNode - Assign an ordering to the node. The order is gotten
|
||||
/// from how the code appeared in the source. The ordering is used by the
|
||||
/// scheduler to effectively turn off scheduling.
|
||||
void AssignOrderingToNode(const SDNode *Node);
|
||||
|
||||
void visit(Instruction &I);
|
||||
|
||||
void visit(unsigned Opcode, User &I);
|
||||
|
Loading…
x
Reference in New Issue
Block a user