diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -3250,12 +3250,7 @@ return Val; } - if (isa(C)) { - Constant *Splat = cast(C)->getSplatValue(); - return Splat ? isBytewiseValue(Splat, DL) : nullptr; - } - - if (isa(C) || isa(C)) { + if (isa(C)) { Value *Val = UndefInt8; for (unsigned I = 0, E = C->getNumOperands(); I != E; ++I) if (!(Val = Merge(Val, isBytewiseValue(C->getOperand(I), DL)))) diff --git a/llvm/unittests/Analysis/ValueTrackingTest.cpp b/llvm/unittests/Analysis/ValueTrackingTest.cpp --- a/llvm/unittests/Analysis/ValueTrackingTest.cpp +++ b/llvm/unittests/Analysis/ValueTrackingTest.cpp @@ -846,7 +846,7 @@ "<4 x i8> ", }, { - "", + "i8 5", "<2 x i8> < i8 5, i8 undef >", }, {