[PATCH] D74030: [DebugInfo] Avoid generating duplicate llvm.dbg.value
Adrian Prantl via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 12 09:10:39 PST 2020
aprantl added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/Local.cpp:1259
if (DbgValueInst *DVI = dyn_cast<DbgValueInst>(PrevI))
- if (DVI->getValue() == I->getOperand(0) &&
- DVI->getVariable() == DIVar &&
- DVI->getExpression() == DIExpr)
+ if (isDbgValueMatching(DVI, I->getOperand(0), DIVar, DIExpr, DbgLoc))
+ return true;
----------------
Orlando wrote:
> @aprantl said:
> >Is checking the first instruction after going to be good enough in the general case?
>
> In this case shouldn't the 'already exists before I' check also be a backwards scan (through consecutive dbg.values)?
Yeah, and doing a linear scan each time might be prohibitively expensive (i.e., quadratic). If we're implementing this we should take a look at the performance of compiling an optimized clang and an optimizes asanified clang to make sure this isn't a problem.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74030/new/
https://reviews.llvm.org/D74030
More information about the llvm-commits
mailing list