[all-commits] [llvm/llvm-project] b9076d: Recommit: "[Debugify][Original DI] Test dbg var lo...

Djordje Todorovic via All-commits all-commits at lists.llvm.org
Fri May 21 02:09:02 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b9076d119a5b2d380d8868ee5e4dc4fdc5ba04a6
      https://github.com/llvm/llvm-project/commit/b9076d119a5b2d380d8868ee5e4dc4fdc5ba04a6
  Author: Djordje Todorovic <djordje.todorovic at syrmia.com>
  Date:   2021-05-21 (Fri, 21 May 2021)

  Changed paths:
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/include/llvm/Transforms/Utils/Debugify.h
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/test/tools/llvm-original-di-preservation/Inputs/expected-sample.html
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
    M llvm/utils/llvm-original-di-preservation.py

  Log Message:
  -----------
  Recommit: "[Debugify][Original DI] Test dbg var loc preservation""

    [Debugify][Original DI] Test dbg var loc preservation

    This is an improvement of [0]. This adds checking of
    original llvm.dbg.values()/declares() instructions in
    optimizations.

    We have picked a real issue that has been found with
    this (actually, picked one variable location missing
    from [1] and resolved the issue), and the result is
    the fix for that -- D100844.

    Before applying the D100844, using the options from [0]
    (but with this patch applied) on the compilation of GDB 7.11,
    the final HTML report for the debug-info issues can be found
    at [1] (please scroll down, and look for
    "Summary of Variable Location Bugs"). After applying
    the D100844, the numbers has improved a bit -- please take
    a look into [2].

    [0] https://llvm.org/docs/HowToUpdateDebugInfo.html#\
        test-original-debug-info-preservation-in-optimizations
    [1] https://djolertrk.github.io/di-check-before-adce-fix/
    [2] https://djolertrk.github.io/di-check-after-adce-fix/

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

The Unit test was failing because the pass from the test that
modifies the IR, in its runOnFunction() didn't return 'true',
so the expensive-check configuration triggered an assertion.




More information about the All-commits mailing list