Fixed a failure in getSpaltValue()
authorElena Demikhovsky <elena.demikhovsky@intel.com>
Tue, 1 Dec 2015 12:30:40 +0000 (12:30 +0000)
committerElena Demikhovsky <elena.demikhovsky@intel.com>
Tue, 1 Dec 2015 12:30:40 +0000 (12:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254409 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/VectorUtils.cpp

index e461294c1bee1d136120d49162a2ba1e0cd63ddd..5fb517e8edb5578e08952b8a53023a7d8e7f3293 100644 (file)
@@ -420,7 +420,8 @@ Value *llvm::findScalarElement(Value *V, unsigned EltNo) {
 const llvm::Value *llvm::getSplatValue(const Value *V) {
 
   if (auto *C = dyn_cast<Constant>(V))
-    return C->getSplatValue();
+    if (isa<VectorType>(V->getType()))
+      return C->getSplatValue();
 
   auto *ShuffleInst = dyn_cast<ShuffleVectorInst>(V);
   if (!ShuffleInst)