summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-05-10 06:46:49 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-05-10 06:46:49 +0000
commit71b9afb053d9a8eb9baf3a52f82acdf9efba1c55 (patch)
tree209f232ecfc1b86778bd6d15110e7acd7e759803 /llvm/lib/Target
parentb93cfdb48ab79b9d574e41276e4dd9613d6597ec (diff)
downloadbcm5719-llvm-71b9afb053d9a8eb9baf3a52f82acdf9efba1c55.tar.gz
bcm5719-llvm-71b9afb053d9a8eb9baf3a52f82acdf9efba1c55.zip
When transforming a vector_shuffle to a load, the base address must not be an undef.
llvm-svn: 50940
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index d2d76671e94..307aeae1b22 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -6283,6 +6283,8 @@ static bool EltsFromConsecutiveLoads(SDNode *N, SDOperand PermMask,
return false;
if (!Base) {
Base = Elt.Val;
+ if (Base->getOpcode() == ISD::UNDEF)
+ return false;
continue;
}
if (Elt.getOpcode() == ISD::UNDEF)
OpenPOWER on IntegriCloud