[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Mar 18 16:08:01 PST 2006
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.317 -> 1.318
---
Log message:
Fix the remaining bugs in the vector expansion rework I commited yesterday.
This fixes CodeGen/Generic/vector.ll
---
Diffs of the changes: (+5 -4)
LegalizeDAG.cpp | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.317 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.318
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.317 Fri Mar 17 19:44:44 2006
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sat Mar 18 18:07:49 2006
@@ -407,7 +407,7 @@
// Otherwise, this is a multiple element vector that isn't supported.
// Split it in half and legalize both parts.
SDOperand X, Y;
- ExpandOp(Op, X, Y);
+ SplitVectorOp(Op, X, Y);
}
}
break;
@@ -4006,6 +4006,7 @@
}
switch (Node->getOpcode()) {
+ default: assert(0 && "Unknown vector operation!");
case ISD::VConstant: {
std::vector<SDOperand> LoOps(Node->op_begin(), Node->op_begin()+NewNumElts);
LoOps.push_back(NewNumEltsNode);
@@ -4098,10 +4099,10 @@
PackVectorOp(Node->getOperand(1), NewVT));
break;
case ISD::VLOAD: {
- SDOperand Ch = LegalizeOp(Node->getOperand(2)); // Legalize the chain.
- SDOperand Ptr = LegalizeOp(Node->getOperand(3)); // Legalize the pointer.
+ SDOperand Ch = LegalizeOp(Node->getOperand(0)); // Legalize the chain.
+ SDOperand Ptr = LegalizeOp(Node->getOperand(1)); // Legalize the pointer.
- Result = DAG.getLoad(NewVT, Ch, Ptr, Node->getOperand(4));
+ Result = DAG.getLoad(NewVT, Ch, Ptr, Node->getOperand(2));
// Remember that we legalized the chain.
AddLegalizedOperand(Op.getValue(1), LegalizeOp(Result.getValue(1)));
More information about the llvm-commits
mailing list