diff options
-rw-r--r-- | llvm/lib/Analysis/VectorUtils.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index e461294c1be..5fb517e8edb 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -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) |