Skip to content

[RemoveDIs] Add release note for C API changes #92396

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions llvm/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,27 @@ Changes to the C API
* ``LLVMGetCallBrNumIndirectDests``
* ``LLVMGetCallBrIndirectDest``

* Added the following functions for querying and setting the debug info format and for explicitly building either debug intrinsics (old format) or records (new format). These functions will be deprecated and removed in the future as we move towards removing support for the old debug format. See the `debug info migration guide <https://llvm.org/docs/RemoveDIsDebugInfo.html>`_ for more info.

* ``LLVMIsNewDbgInfoFormat``
* ``LLVMSetIsNewDbgInfoFormat``
* ``LLVMDIBuilderInsertDeclareIntrinsicBefore``
* ``LLVMDIBuilderInsertDeclareIntrinsicAtEnd``
* ``LLVMDIBuilderInsertDbgValueIntrinsicBefore``
* ``LLVMDIBuilderInsertDbgValueIntrinsicAtEnd``
* ``LLVMDIBuilderInsertDeclareRecordBefore``
* ``LLVMDIBuilderInsertDeclareRecordAtEnd``
* ``LLVMDIBuilderInsertDbgValueRecordBefore``
* ``LLVMDIBuilderInsertDbgValueRecordAtEnd``
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to remove these prior to the LLVM 19 release? We shouldn't add temporary functions to the C API if we can avoid it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could remove the "InsertDbg...Record" four above without a problem, since these are just aliases for LLVMDIBuilderInsertDeclareBefore and friends (the modified ones below).

It's more difficult to remove the intrinsic based insertion functions, e.g. LLVMDIBuilderInsertDeclareIntrinsicBefore, because these return a different type to the debug record insertion ones.

All of these functions above have been added as a transition aid for projects that aren't ready to move to debug records (the new debug info format). Most projects shouldn't need to use them. For projects ready to use debug intrinsics the only update required would be to address compiler errors introduced by the new return type of the modified functions below.


* Modified the following functions which now always insert debug records (new debug info format) rather than debug intrinsics (old debug info format). See the `debug info migration guide <https://llvm.org/docs/RemoveDIsDebugInfo.html>`_ for more info.

* ``LLVMDIBuilderInsertDeclareBefore``
* ``LLVMDIBuilderInsertDeclareBefore``
* ``LLVMDIBuilderInsertDeclareAtEnd``
* ``LLVMDIBuilderInsertDbgValueBefore``
* ``LLVMDIBuilderInsertDbgValueAtEnd``

Changes to the CodeGen infrastructure
-------------------------------------

Expand Down
Loading