summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-21 19:20:37 +0000
committerChris Lattner <sabre@nondot.org>2006-03-21 19:20:37 +0000
commit672a42d731eba4dead0b6300efb5b2c62255948a (patch)
tree7b866ae965a21adeb98d1a943e5be39d2ba06c09 /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
parent013127981adaf7e88a62bde4c3a5709c9ebdff0e (diff)
downloadbcm5719-llvm-672a42d731eba4dead0b6300efb5b2c62255948a.tar.gz
bcm5719-llvm-672a42d731eba4dead0b6300efb5b2c62255948a.zip
Add a hacky workaround for crashes due to vectors live across blocks.
Note that this code won't work for vectors that aren't legal on the target. Improvements coming. llvm-svn: 26925
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index f2a8c8c1479..2744c415322 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -4262,6 +4262,9 @@ void SelectionDAGLegalize::SplitVectorOp(SDOperand Op, SDOperand &Lo,
/// type for the result.
SDOperand SelectionDAGLegalize::PackVectorOp(SDOperand Op,
MVT::ValueType NewVT) {
+ // FIXME: THIS IS A TEMPORARY HACK
+ if (Op.getValueType() == NewVT) return Op;
+
assert(Op.getValueType() == MVT::Vector && "Bad PackVectorOp invocation!");
SDNode *Node = Op.Val;
OpenPOWER on IntegriCloud