HomePhabricator

Reland "[Debugify] Make the debugify aware of the original (-g) Debug Info"

Authored by djtodoro on Feb 18 2021, 9:49 AM.

Description

Reland "[Debugify] Make the debugify aware of the original (-g) Debug Info"

As discussed on the RFC [0], I am sharing the set of patches that
enables checking of original Debug Info metadata preservation in
optimizations. The proof-of-concept/proposal can be found at [1].

The implementation from the [1] was full of duplicated code,
so this set of patches tries to merge this approach into the existing
debugify utility.

For example, the utility pass in the original-debuginfo-check
mode could be invoked as follows:

  $ opt -verify-debuginfo-preserve -pass-to-test sample.ll

Since this is very initial stage of the implementation,
there is a space for improvements such as:
  - Add support for the new pass manager
  - Add support for metadata other than DILocations and DISubprograms

[0] https://groups.google.com/forum/#!msg/llvm-dev/QOyF-38YPlE/G213uiuwCAAJ
[1] https://github.com/djolertrk/llvm-di-checker

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

The test that was failing is now forced to use the old PM.

Details

Committed
djtodoroFeb 18 2021, 11:29 PM
Parents
rGd82ecb0ac722: LanguageRuntime can provide an UnwindPlan for special occasions
Branches
Unknown
Tags
Unknown