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

Adrian Prantl aprantl at apple.com
Fri May 8 11:18:36 PDT 2015


Hi dexonsmith, dblaikie, echristo,

This adds a DIExternalTypeRef debug metadata node to the IR that is meant to be emitted by Clang when referring to a type that is defined in a .pcm file. DIExternalTypeRef is a child of DICompositeTypeBase because it shares common traits such as the unique identifier.

The idea how this is going to be used is that the frontend will discover that a type originates from an AST file and instead of and constructing a full DIType (and thus deserializing the type from the AST) it creates a DIExternalTypeRef with the tag type, mangled name and the .pcm file. The backend then can emit this as a split-DWARF-style forward declaration using DW_FORM_ref_sig8 (GDB) or as a string reference (LLDB) + and accelerator table entry.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D9612

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/DIExternalTypeRef.ll

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


More information about the llvm-commits mailing list