aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-11-19 20:21:32 +0000
committerChris Lattner <sabre@nondot.org>2007-11-19 20:21:32 +0000
commit3dec33af58c8392159bd355c6c8ae2425c98c0d7 (patch)
tree155c96ffb851ef11924d6c173ef6bbff95dd5d5a
parentcb542ae902d66bd3aafcb610cd9d9635cfe6f12b (diff)
downloadexternal_llvm-3dec33af58c8392159bd355c6c8ae2425c98c0d7.zip
external_llvm-3dec33af58c8392159bd355c6c8ae2425c98c0d7.tar.gz
external_llvm-3dec33af58c8392159bd355c6c8ae2425c98c0d7.tar.bz2
Implement splitting of UNDEF nodes. This is the first step towards fixing PR1811
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44239 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeDAG.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index c6b4662..e343a0e 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -6265,6 +6265,10 @@ void SelectionDAGLegalize::SplitVectorOp(SDOperand Op, SDOperand &Lo,
Node->dump(&DAG);
#endif
assert(0 && "Unhandled operation in SplitVectorOp!");
+ case ISD::UNDEF:
+ Lo = DAG.getNode(ISD::UNDEF, NewVT_Lo);
+ Hi = DAG.getNode(ISD::UNDEF, NewVT_Hi);
+ break;
case ISD::BUILD_PAIR:
Lo = Node->getOperand(0);
Hi = Node->getOperand(1);