[PATCH] D82363: [DebugInfo] Add new instruction and expression operator for variadic debug values

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 24 06:59:27 PDT 2020


djtodoro added a comment.

In D82363#2108840 <https://reviews.llvm.org/D82363#2108840>, @StephenTozer wrote:

> In D82363#2108817 <https://reviews.llvm.org/D82363#2108817>, @djtodoro wrote:
>
> > Is there an overlap of the `DW_OP_LLVM_arg` with the D70642 <https://reviews.llvm.org/D70642>?
>
>
> Yes, the names here are conflicting; mainly because I didn't see a good alternative name for these ones, and none of the implicit pointer patches appear to have received any comments or updates since Jan 10th. They have similar purposes, but with the exception that this version is used to index values, while the other can also be used to index variables; given that, a reasonable conflict resolution might be to have one specifically for variables and another for debug operands.


I see...
Hi @alok, do you have any input on this?

>> `DBG_VAL_VAR` stands for //variadic//, any alternative for the name? //VAR// may indicate to '//variable//' I think...
> 
> DBG_VALUE_VARIADIC seems reasonable though also quite long, but it's better than being misleading.
> 
>> Another question/concern (may be too early): the Salvage Debug Info feature when supporting multiple SSA values may produce an exploded/very huge number of //dbg_values// I think, so we may want to introduce a magic value to cut off the input if it is too big. Have you encountered such situation?

As @probinson suggested, `DBG_VALUE_LIST` sounds good to me.

> I don't have a sample to prove that it will or will not, the full implementation is still in progress, but basic measurements of the number of debug values lost to salvaging suggests that it's not going to be a truly staggering number; even moreso when we consider that debug values relying on multiple SSA values or machine locations are more likely to have one of those values become unavailable at some point due to optimizations, losing the debug value.

I think it will trigger on any "larger" project build, e.g. llvm-project itself, even if we add support for instructions with two SSA values, but we can cut off the user-values if it reach certain number. But, as you said, it may be too early for this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82363/new/

https://reviews.llvm.org/D82363





More information about the llvm-commits mailing list