[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Chris Lattner
lattner at cs.uiuc.edu
Wed Dec 21 10:03:04 PST 2005
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.236 -> 1.237
---
Log message:
fix a bug I introduced that broke recursive expansion of nodes (e.g. scalarizing vectors)
---
Diffs of the changes: (+6 -3)
LegalizeDAG.cpp | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.236 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.237
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.236 Mon Dec 19 18:53:54 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Dec 21 12:02:52 2005
@@ -3827,9 +3827,12 @@
std::make_pair(Lo, Hi))).second;
assert(isNew && "Value already expanded?!?");
- // Make sure the resultant values have been legalized themselves.
- Lo = LegalizeOp(Lo);
- Hi = LegalizeOp(Hi);
+ // Make sure the resultant values have been legalized themselves, unless this
+ // is a type that requires multi-step expansion.
+ if (getTypeAction(NVT) != Expand && NVT != MVT::isVoid) {
+ Lo = LegalizeOp(Lo);
+ Hi = LegalizeOp(Hi);
+ }
}
More information about the llvm-commits
mailing list