summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2018-04-30 16:57:33 +0000
committerDavide Italiano <davide@freebsd.org>2018-04-30 16:57:33 +0000
commitbd3bf1660beb777f96dc92b92c6d38fdc875e476 (patch)
tree120b22e24ff491eae8a20371b117448ca797ea35 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parentc80a5aa09a0c2bdcb980cc65e59e874a3893e888 (diff)
downloadbcm5719-llvm-bd3bf1660beb777f96dc92b92c6d38fdc875e476.tar.gz
bcm5719-llvm-bd3bf1660beb777f96dc92b92c6d38fdc875e476.zip
[SLPVectorizer] Debug info shouldn't impact spill cost computation.
<rdar://problem/39794738> (Also, PR32761). Differential Revision: https://reviews.llvm.org/D46199 llvm-svn: 331199
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
-rw-r--r--llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index e3637ccf5d7..6835ed9986f 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -2554,7 +2554,10 @@ int BoUpSLP::getSpillCost() {
continue;
}
- if (isa<CallInst>(&*PrevInstIt) && &*PrevInstIt != PrevInst) {
+ // Debug informations don't impact spill cost.
+ if ((isa<CallInst>(&*PrevInstIt) &&
+ !isa<DbgInfoIntrinsic>(&*PrevInstIt)) &&
+ &*PrevInstIt != PrevInst) {
SmallVector<Type*, 4> V;
for (auto *II : LiveValues)
V.push_back(VectorType::get(II->getType(), BundleWidth));
OpenPOWER on IntegriCloud