llvm-project/llvm/tools/opt
Vedant Kumar 195dfd10a6 [Debugify] Add a pass to test debug info preservation
The Debugify pass synthesizes debug info for IR. It's paired with a
CheckDebugify pass which determines how much of the original debug info
is preserved. These passes make it easier to create targeted tests for
debug info preservation.

Here is the Debugify algorithm:

  NextLine = 1
  for (Instruction &I : M)
    attach DebugLoc(NextLine++) to I

  NextVar = 1
  for (Instruction &I : M)
    if (canAttachDebugValue(I))
      attach dbg.value(NextVar++) to I

The CheckDebugify pass expects contiguous ranges of DILocations and
DILocalVariables. If it fails to find all of the expected debug info, it
prints a specific error to stderr which can be FileChecked.

This was discussed on llvm-dev in the thread:
"Passes to add/validate synthetic debug info"

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

llvm-svn: 320202
2017-12-08 21:57:28 +00:00
..
AnalysisWrappers.cpp [CG] Actually hoist up the generic CallGraphPrinter pass from a weird 2016-03-10 11:08:44 +00:00
BreakpointPrinter.cpp Turn DISubprogram into a variable-length node. 2017-04-26 23:59:52 +00:00
BreakpointPrinter.h
CMakeLists.txt [Debugify] Add a pass to test debug info preservation 2017-12-08 21:57:28 +00:00
Debugify.cpp [Debugify] Add a pass to test debug info preservation 2017-12-08 21:57:28 +00:00
GraphPrinters.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
LLVMBuild.txt
NewPMDriver.cpp [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
NewPMDriver.h [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
PassPrinters.cpp [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. Also affected in files (NFC). 2017-08-31 21:56:16 +00:00
PassPrinters.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. Also affected in files (NFC). 2017-08-31 21:56:16 +00:00
PrintSCC.cpp
opt.cpp Rename CommandFlags.h -> CommandFlags.def 2017-11-27 19:43:58 +00:00