diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 8d5c2d030d5..2cb6be59a21 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -3377,8 +3377,7 @@ bool SelectionDAGLegalize::ExpandShift(unsigned Opc, SDOperand Op,SDOperand Amt, /// Found. static void FindLatestCallSeqStart(SDNode *Node, SDNode *&Found, std::set &Visited) { - if (/*Node->getNodeDepth() <= Found->getNodeDepth() ||*/ - Node->getNumOperands() == 0 || + if (Node->getNodeDepth() <= Found->getNodeDepth() || !Visited.insert(Node).second) return; // If we found an CALLSEQ_START, we already know this node occurs later @@ -3405,7 +3404,7 @@ static void FindLatestCallSeqStart(SDNode *Node, SDNode *&Found, /// than Found. static void FindEarliestCallSeqEnd(SDNode *Node, SDNode *&Found, std::set &Visited) { - if (/*(Found && Node->getNodeDepth() >= Found->getNodeDepth()) ||*/ + if ((Found && Node->getNodeDepth() >= Found->getNodeDepth()) || !Visited.insert(Node).second) return; // If we found an CALLSEQ_END, we already know this node occurs earlier