[PATCH] Add a DIModule debug info metadata node to the IR.

Adrian Prantl aprantl at apple.com
Fri May 8 11:37:22 PDT 2015


Hi dexonsmith, dblaikie, echristo, spyffe,

This patch adds a DIModule debug info metadata node to the IR. It is meant to be used to record modules @imported by the current compile unit, so a debugger an import the same modules to replicate this environment before dropping into the expression evaluator.

DIModule is a sibling to DINamespace and behaves quite similarly. In addition to the name of the module it also records the module configuration details that are necessary to uniquely identify the module. This includes the configuration macros (e.g., -DNDEBUG), the include path where the module.map file is to be found, and the isysroot.

The idea is that the backend will turn this into a DW_TAG_module. The DW_AT_LLVM_* attributes holding the configuration strings can either be emitted into the DW_TAG_module or as part of the skeleton CU depending on how we decide to move forward on this.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D9614

Files:
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/DIBuilder.h
  include/llvm/IR/DebugInfoMetadata.h
  include/llvm/IR/Metadata.def
  include/llvm/IR/Metadata.h
  lib/AsmParser/LLParser.cpp
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/DIBuilder.cpp
  lib/IR/DebugInfoMetadata.cpp
  lib/IR/LLVMContextImpl.h
  lib/IR/Verifier.cpp
  test/Assembler/dimodule.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9614.25355.patch
Type: text/x-patch
Size: 16454 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150508/9f28a5fe/attachment.bin>


More information about the llvm-commits mailing list