[all-commits] [llvm/llvm-project] b6db47: [llvm-dwarfdump][locstats] Unify handling of inlin...

Djordje Todorovic via All-commits all-commits at lists.llvm.org
Fri Feb 19 05:38:52 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b6db47d7e044730dc3c9b35dae6697eee0885dbf
      https://github.com/llvm/llvm-project/commit/b6db47d7e044730dc3c9b35dae6697eee0885dbf
  Author: Djordje Todorovic <djordje.todorovic at syrmia.com>
  Date:   2021-02-19 (Fri, 19 Feb 2021)

  Changed paths:
    A llvm/test/tools/llvm-dwarfdump/X86/locstats-for-inlined-vars.yaml
    M llvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
    M llvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test
    M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
    M llvm/test/tools/llvm-dwarfdump/X86/stats-scope-bytes-covered.yaml
    M llvm/tools/llvm-dwarfdump/Statistics.cpp

  Log Message:
  -----------
  [llvm-dwarfdump][locstats] Unify handling of inlined vars with no loc

The presence or absence of an inline variable (as well as formal
parameter) with only an abstract_origin ref (without DW_AT_location)
should not change the location coverage.

It means, for both:

DW_TAG_inlined_subroutine
  DW_AT_abstract_origin (0x0000004e "f")
  DW_AT_low_pc  (0x0000000000000010)
  DW_AT_high_pc (0x0000000000000013)
  DW_TAG_formal_parameter
    DW_AT_abstract_origin       (0x0000005a "b")

and,

DW_TAG_inlined_subroutine
   DW_AT_abstract_origin (0x0000004e "f")
   DW_AT_low_pc  (0x0000000000000010)
   DW_AT_high_pc (0x0000000000000013)

we should report 0% location coverage. If we add DW_AT_location,
for both cases the coverage should be improved.

Differential Revision: https://reviews.llvm.org/D96045




More information about the All-commits mailing list