aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-06-26 23:43:23 +0000
committerNadav Rotem <nrotem@apple.com>2013-06-26 23:43:23 +0000
commit1e1c694dcd934aa63a0b1e27e01293dcfc610f40 (patch)
tree64c16bccf9b4fba49c1e261730d528e55c101e0b
parentc3cfe53b661533401017e39d22022656fc7c74c5 (diff)
downloadexternal_llvm-1e1c694dcd934aa63a0b1e27e01293dcfc610f40.zip
external_llvm-1e1c694dcd934aa63a0b1e27e01293dcfc610f40.tar.gz
external_llvm-1e1c694dcd934aa63a0b1e27e01293dcfc610f40.tar.bz2
SLP: Dont erase instructions during vectorization because it prevents the outerloops from iterating over the instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185040 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Transforms/Vectorize/SLPVectorizer.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/lib/Transforms/Vectorize/SLPVectorizer.cpp b/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 33d1100..3c1dc78 100644
--- a/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -1258,8 +1258,6 @@ Value *FuncSLP::vectorizeArith(ArrayRef<Value *> Operands) {
for (unsigned i = 0, e = Operands.size(); i != e; ++i) {
Value *S = Builder.CreateExtractElement(Vec, Builder.getInt32(i));
Operands[i]->replaceAllUsesWith(S);
- Instruction *I = cast<Instruction>(Operands[i]);
- I->eraseFromParent();
}
return Vec;