diff options
author | Devang Patel <dpatel@apple.com> | 2011-08-15 23:00:00 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-08-15 23:00:00 +0000 |
commit | 6326a4238df05dafd7547cfa2cd71111cd6702a6 (patch) | |
tree | 8dd24b1097c5da37b4d6cac944161bc7ee5c8ff2 | |
parent | 6456a62178818204e0807aada7b699ab647bebc6 (diff) | |
download | llvm-6326a4238df05dafd7547cfa2cd71111cd6702a6.tar.gz llvm-6326a4238df05dafd7547cfa2cd71111cd6702a6.tar.bz2 llvm-6326a4238df05dafd7547cfa2cd71111cd6702a6.tar.xz |
Add a finalize() hook, that'll let DIBuilder construct compile unit lazily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137673 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | docs/ReleaseNotes.html | 4 | ||||
-rw-r--r-- | include/llvm/Analysis/DIBuilder.h | 3 | ||||
-rw-r--r-- | lib/Analysis/DIBuilder.cpp | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 258555496c..ebcbf15dad 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -673,6 +673,10 @@ it run faster:</p> <li>The <code>LLVMAddLowerSetJmpPass</code> function from the C API was removed because the <code>LowerSetJmp</code> pass was removed.</li> +<li>The <code>DIBuilder</code> interface used by front ends to encode debugging + information in the LLVM IR now expects clients to use <code>DIBuilder::finalize()</code> + at the end of translation unit to complete debugging information encoding.</li> + </ul> </div> diff --git a/include/llvm/Analysis/DIBuilder.h b/include/llvm/Analysis/DIBuilder.h index a706cc8f35..0f6fd50338 100644 --- a/include/llvm/Analysis/DIBuilder.h +++ b/include/llvm/Analysis/DIBuilder.h @@ -59,6 +59,9 @@ namespace llvm { const MDNode *getCU() { return TheCU; } enum ComplexAddrKind { OpPlus=1, OpDeref }; + /// finalize - Construct any deferred debug info descriptors. + void finalize(); + /// createCompileUnit - A CompileUnit provides an anchor for all debugging /// information generated during this instance of compilation. /// @param Lang Source programming language, eg. dwarf::DW_LANG_C99 diff --git a/lib/Analysis/DIBuilder.cpp b/lib/Analysis/DIBuilder.cpp index da5780827a..98a0ba085e 100644 --- a/lib/Analysis/DIBuilder.cpp +++ b/lib/Analysis/DIBuilder.cpp @@ -31,6 +31,10 @@ static Constant *GetTagConstant(LLVMContext &VMContext, unsigned Tag) { DIBuilder::DIBuilder(Module &m) : M(m), VMContext(M.getContext()), TheCU(0), DeclareFn(0), ValueFn(0) {} +/// finalize - Construct any deferred debug info descriptors. +void DIBuilder::finalize() { +} + /// createCompileUnit - A CompileUnit provides an anchor for all debugging /// information generated during this instance of compilation. void DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename, |