diff options
author | Jim Laskey <jlaskey@mac.com> | 2005-12-18 03:59:21 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2005-12-18 03:59:21 +0000 |
commit | 9022ed955adc8ecdc8ebf19bb05efea924d1ad0e (patch) | |
tree | aa5bd253889d48fe5722a67e2e2760d813f0f7e6 /lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | |
parent | 6aa45292c69ebe1120f582dde4397544e92b5e25 (diff) |
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
Diffstat (limited to 'lib/CodeGen/SelectionDAG/ScheduleDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index db0543644e..ef90fc048c 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -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); } |