This is an archive of the discontinued LLVM Phabricator instance.

[Debugify][OriginalDIMode] Export the report into JSON file
ClosedPublic

Authored by djtodoro on Jun 25 2020, 6:37 AM.

Details

Summary

By using the option in the combination with the llvm/utils/llvm-original-di-preservation.py it becomes very user friendly tool. An example of the HTML page with the issues related to debug info can be found at [0].

[0] https://djolertrk.github.io/di-checker-html-report-example/

Diff Detail

Event Timeline

djtodoro created this revision.Jun 25 2020, 6:37 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 25 2020, 6:37 AM
djtodoro updated this revision to Diff 276397.Jul 8 2020, 6:01 AM
djtodoro updated this revision to Diff 292467.Sep 17 2020, 5:25 AM
djtodoro retitled this revision from [Debugify][OriginalMode] Export the report into JSON file to [VerifyDIPreserve][OriginalDIMode] Export the report into JSON file.
djtodoro edited the summary of this revision. (Show Details)
  • Rebasing
  • Refactoring
djtodoro updated this revision to Diff 294657.Sep 28 2020, 4:51 AM

-Rebasing

djtodoro updated this revision to Diff 326003.Feb 24 2021, 12:25 AM
djtodoro retitled this revision from [VerifyDIPreserve][OriginalDIMode] Export the report into JSON file to [Debugify][OriginalDIMode] Export the report into JSON file.
  • Rebase on top of trunk

The fundamentals of the patch look solid; minor point about the HTML templating, and also I think there should be a couple of tests for the llvm-original-di-preservation script - nothing too complicated, just verifying that it produces the correct HTML for a given input, as with the opt-viewer tests.

llvm/utils/llvm-original-di-preservation.py
32

For each of these blocks, instead of using repeated html_header += you could instead use triple quotes and just write out the full HTML verbatim (using formatting to insert variables as needed), as in the other HTML generating python scripts.

@StephenTozer Thanks!

and also I think there should be a couple of tests for the llvm-original-di-preservation script - nothing too complicated, just verifying that it produces the correct HTML for a given input, as with the opt-viewer tests.

I'll check this.

llvm/utils/llvm-original-di-preservation.py
32

It makes sense.

djtodoro updated this revision to Diff 328084.Mar 4 2021, 2:11 AM
  • adding a test
djtodoro updated this revision to Diff 328476.Mar 5 2021, 4:49 AM
  • adjust the test to work on Windows as well
aprantl accepted this revision.Mar 10 2021, 3:04 PM
aprantl added inline comments.
llvm/include/llvm/Transforms/Utils/Debugify.h
169

The = ""; is redundant.

This revision is now accepted and ready to land.Mar 10 2021, 3:04 PM
This revision was landed with ongoing or failed builds.Mar 11 2021, 1:11 AM
This revision was automatically updated to reflect the committed changes.