summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2015-08-30 10:05:30 +0000
committerRenato Golin <renato.golin@linaro.org>2015-08-30 10:05:30 +0000
commitc7be31736ca0cbd7fca41989b805228cf87e4355 (patch)
tree74999b0f23780bf846583fec7996b79eda30c95a /llvm/lib/Analysis
parent5543fbc9b2a3a345bf7f79297677fe888252e3c9 (diff)
downloadbcm5719-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.cpp26
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);
-}
OpenPOWER on IntegriCloud