diff options
author | Chris Lattner <sabre@nondot.org> | 2006-03-21 19:20:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-03-21 19:20:37 +0000 |
commit | 672a42d731eba4dead0b6300efb5b2c62255948a (patch) | |
tree | 7b866ae965a21adeb98d1a943e5be39d2ba06c09 /llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | |
parent | 013127981adaf7e88a62bde4c3a5709c9ebdff0e (diff) | |
download | bcm5719-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.cpp | 3 |
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; |