[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
Evan Cheng
evan.cheng at apple.com
Mon Aug 7 15:12:29 PDT 2006
Changes in directory llvm/lib/CodeGen/SelectionDAG:
ScheduleDAG.cpp updated: 1.99 -> 1.100
---
Log message:
Reverse the FlaggedNodes after scanning up for flagged preds or else the order would be reversed.
---
Diffs of the changes: (+10 -5)
ScheduleDAG.cpp | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.99 llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.100
--- llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.99 Fri Jul 21 15:57:35 2006
+++ llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp Mon Aug 7 17:12:12 2006
@@ -55,11 +55,16 @@
// Scan up, adding flagged preds to FlaggedNodes.
SDNode *N = NI;
- while (N->getNumOperands() &&
- N->getOperand(N->getNumOperands()-1).getValueType() == MVT::Flag) {
- N = N->getOperand(N->getNumOperands()-1).Val;
- NodeSUnit->FlaggedNodes.push_back(N);
- SUnitMap[N] = NodeSUnit;
+ if (N->getNumOperands() &&
+ N->getOperand(N->getNumOperands()-1).getValueType() == MVT::Flag) {
+ do {
+ N = N->getOperand(N->getNumOperands()-1).Val;
+ NodeSUnit->FlaggedNodes.push_back(N);
+ SUnitMap[N] = NodeSUnit;
+ } while (N->getNumOperands() &&
+ N->getOperand(N->getNumOperands()-1).getValueType()== MVT::Flag);
+ std::reverse(NodeSUnit->FlaggedNodes.begin(),
+ NodeSUnit->FlaggedNodes.end());
}
// Scan down, adding this node and any flagged succs to FlaggedNodes if they
More information about the llvm-commits
mailing list