diff options
author | Davide Italiano <davide@freebsd.org> | 2018-04-30 16:57:33 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2018-04-30 16:57:33 +0000 |
commit | bd3bf1660beb777f96dc92b92c6d38fdc875e476 (patch) | |
tree | 120b22e24ff491eae8a20371b117448ca797ea35 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | |
parent | c80a5aa09a0c2bdcb980cc65e59e874a3893e888 (diff) | |
download | bcm5719-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.cpp | 5 |
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)); |