mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-19 04:31:17 +00:00
Groups were not emitted if the dominator node and the node in the ordering list
were not the same node. Ultimately the test was bogus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24815 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6aa45292c6
commit
9022ed955a
@ -653,10 +653,10 @@ bool SimpleSched::isPassiveNode(SDNode *Node) {
|
||||
/// IncludeNode - Add node to NodeInfo vector.
|
||||
///
|
||||
void SimpleSched::IncludeNode(NodeInfo *NI) {
|
||||
// Get node
|
||||
SDNode *Node = NI->Node;
|
||||
// Ignore entry node
|
||||
if (Node->getOpcode() == ISD::EntryToken) return;
|
||||
// Get node
|
||||
SDNode *Node = NI->Node;
|
||||
// Ignore entry node
|
||||
if (Node->getOpcode() == ISD::EntryToken) return;
|
||||
// Check current count for node
|
||||
int Count = NI->getPending();
|
||||
// If the node is already in list
|
||||
@ -987,13 +987,9 @@ void SimpleSched::EmitAll() {
|
||||
for (unsigned i = 0, N = Ordering.size(); i < N; i++) {
|
||||
// Get the scheduling info
|
||||
NodeInfo *NI = Ordering[i];
|
||||
// Iterate through nodes
|
||||
NodeGroupIterator NGI(Ordering[i]);
|
||||
if (NI->isInGroup()) {
|
||||
if (NI->isGroupDominator()) {
|
||||
NodeGroupIterator NGI(Ordering[i]);
|
||||
while (NodeInfo *NI = NGI.next()) EmitNode(NI);
|
||||
}
|
||||
NodeGroupIterator NGI(Ordering[i]);
|
||||
while (NodeInfo *NI = NGI.next()) EmitNode(NI);
|
||||
} else {
|
||||
EmitNode(NI);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user