Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.447 -> 1.448 --- Log message: LegalizeSetCCOperands() may end up inserting libcalls. They need to be properly serialized. Do not clear LastCallSEQ_END until that is done. --- Diffs of the changes: (+2 -3) LegalizeDAG.cpp | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.447 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.448 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.447 Fri Dec 15 20:20:50 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Mon Dec 18 16:55:34 2006 @@ -1360,14 +1360,13 @@ // Ensure that libcalls are emitted before a branch. Tmp1 = DAG.getNode(ISD::TokenFactor, MVT::Other, Tmp1, LastCALLSEQ_END); Tmp1 = LegalizeOp(Tmp1); - LastCALLSEQ_END = DAG.getEntryNode(); - Tmp2 = Node->getOperand(2); // LHS Tmp3 = Node->getOperand(3); // RHS Tmp4 = Node->getOperand(1); // CC LegalizeSetCCOperands(Tmp2, Tmp3, Tmp4); - + LastCALLSEQ_END = DAG.getEntryNode(); + // If we didn't get both a LHS and RHS back from LegalizeSetCCOperands, // the LHS is a legal SETCC itself. In this case, we need to compare // the result against zero to select between true and false values. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits