[PATCH] D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands
Wenlei He via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 26 08:16:27 PDT 2021
wenlei added a comment.
In D91722#2781418 <https://reviews.llvm.org/D91722#2781418>, @StephenTozer wrote:
> In D91722#2781128 <https://reviews.llvm.org/D91722#2781128>, @wenlei wrote:
>
>> We're seeing a pathological case with 36ec97f76ac0d8be76fb16ac521f55126766267d <https://reviews.llvm.org/rG36ec97f76ac0d8be76fb16ac521f55126766267d> (3rd Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands).
>
> I didn't encounter any such cases while testing this patch, but it's certainly possible for it to occur. Personally, I think the best approach for this is to impose a limit on the number of args that can be added to a DIArgList by salvaging - it's clear that it is not feasible to salvage everywhere we possibly can. I think that a max of 32 is probably a reasonable amount, but if you have a reproducer for this issue I can do some performance testing myself to more accurately determine a sensible limit.
>
> I do believe that InstCombine also has a problem with massively inflating the number of debug intrinsics in a function; the slowdown factor you're seeing is probably the product of these two factors.
The case we hit is from an internal codebase. Thanks for the fix in D103162 <https://reviews.llvm.org/D103162>. I will try 16 and 32 as the limit and report back there.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91722/new/
https://reviews.llvm.org/D91722
More information about the llvm-commits
mailing list