[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Evan Cheng
evan.cheng at apple.com
Mon Dec 18 14:55:49 PST 2006
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.
More information about the llvm-commits
mailing list