diff options
| author | Renato Golin <renato.golin@linaro.org> | 2015-08-30 10:05:30 +0000 |
|---|---|---|
| committer | Renato Golin <renato.golin@linaro.org> | 2015-08-30 10:05:30 +0000 |
| commit | c7be31736ca0cbd7fca41989b805228cf87e4355 (patch) | |
| tree | 74999b0f23780bf846583fec7996b79eda30c95a /llvm/lib/Analysis | |
| parent | 5543fbc9b2a3a345bf7f79297677fe888252e3c9 (diff) | |
| download | bcm5719-llvm-c7be31736ca0cbd7fca41989b805228cf87e4355.tar.gz bcm5719-llvm-c7be31736ca0cbd7fca41989b805228cf87e4355.zip | |
Revert "New interface function is added to VectorUtils Value *getSplatValue(Value *Val);"
This reverts commit r246371, as it cause a rather obscure bug in AArch64
test-suite paq8p (time outs, seg-faults). I'll investigate it before
reapplying.
llvm-svn: 246379
Diffstat (limited to 'llvm/lib/Analysis')
| -rw-r--r-- | llvm/lib/Analysis/VectorUtils.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index 92a880c3762..72140952ecb 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -18,8 +18,6 @@ #include "llvm/IR/GetElementPtrTypeIterator.h" #include "llvm/IR/PatternMatch.h" #include "llvm/IR/Value.h" -#include "llvm/IR/Constants.h" - using namespace llvm; using namespace llvm::PatternMatch; @@ -408,27 +406,3 @@ Value *llvm::findScalarElement(Value *V, unsigned EltNo) { // Otherwise, we don't know. return nullptr; } - -/// \brief Get splat value if the input is a splat vector or return nullptr. -/// The value may be extracted from a splat constants vector or from -/// a sequence of instructions that broadcast a single value into a vector. -llvm::Value *llvm::getSplatValue(Value *V) { - llvm::ConstantDataVector *CV = dyn_cast<llvm::ConstantDataVector>(V); - if (CV) - return CV->getSplatValue(); - llvm::ShuffleVectorInst *ShuffleInst = dyn_cast<llvm::ShuffleVectorInst>(V); - if (!ShuffleInst) - return nullptr; - // All-zero (our undef) shuffle mask elements. - for (int i : ShuffleInst->getShuffleMask()) - if (i != 0 && i != -1) - return nullptr; - // The first shuffle source is 'insertelement' with index 0. - llvm::InsertElementInst *InsertEltInst = - dyn_cast<llvm::InsertElementInst>(ShuffleInst->getOperand(0)); - if (!InsertEltInst || !isa<ConstantInt>(InsertEltInst->getOperand(2)) || - !cast<ConstantInt>(InsertEltInst->getOperand(2))->isNullValue()) - return nullptr; - - return InsertEltInst->getOperand(1); -} |

