[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

Chris Lattner lattner at cs.uiuc.edu
Mon Apr 3 10:22:02 PDT 2006



Changes in directory llvm/lib/CodeGen/SelectionDAG:

DAGCombiner.cpp updated: 1.141 -> 1.142
---
Log message:

Add a missing check, which broke a bunch of vector tests.


---
Diffs of the changes:  (+6 -3)

 DAGCombiner.cpp |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.141 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.142
--- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.141	Sun Apr  2 22:16:50 2006
+++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp	Mon Apr  3 12:21:50 2006
@@ -2756,9 +2756,12 @@
               Ops.back().getOpcode() == ISD::ConstantFP) &&
              "Scalar binop didn't fold!");
     }
-    Ops.push_back(*(LHS.Val->op_end()-2));
-    Ops.push_back(*(LHS.Val->op_end()-1));
-    return DAG.getNode(ISD::VBUILD_VECTOR, MVT::Vector, Ops);
+    
+    if (Ops.size() == LHS.getNumOperands()-2) {
+      Ops.push_back(*(LHS.Val->op_end()-2));
+      Ops.push_back(*(LHS.Val->op_end()-1));
+      return DAG.getNode(ISD::VBUILD_VECTOR, MVT::Vector, Ops);
+    }
   }
   
   return SDOperand();






More information about the llvm-commits mailing list