aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
diff options
context:
space:
mode:
authorOrlando Cazalet-Hyams <orlando.hyams@sony.com>2024-06-10 09:21:40 +0100
committerGitHub <noreply@github.com>2024-06-10 09:21:40 +0100
commitd732a3298a70d83e5571c594de9be63df85668a7 (patch)
tree5b75158a1f1654d9ecfbc45425d2888094fb1d21 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
parent26224ca2de193dcfd21ede7a846c28ea892b77e3 (diff)
downloadllvm-d732a3298a70d83e5571c594de9be63df85668a7.zip
llvm-d732a3298a70d83e5571c594de9be63df85668a7.tar.gz
llvm-d732a3298a70d83e5571c594de9be63df85668a7.tar.bz2
[RemoveDIs] C API: Add before-dbg-record versions of IRBuilder position funcs (#92417)
Add `LLVMPositionBuilderBeforeDbgRecords` and `LLVMPositionBuilderBeforeInstrAndDbgRecords` to `llvm/include/llvm-c/Core.h` which behave the same as `LLVMPositionBuilder` and `LVMPositionBuilderBefore` except that the position is set before debug records attached to the target instruction (the existing functions set the insertion point to after any attached debug records). More info on debug records and the migration towards using them can be found here: https://llvm.org/docs/RemoveDIsDebugInfo.html The distinction is important in some situations. An important example is when inserting a phi before another instruction which has debug records attached to it (these come "before" the instruction). Inserting before the instruction but after the debug records would result in having debug records before a phi, which is illegal. That results in an assertion failure: `llvm/lib/IR/Instruction.cpp:166: Assertion '!isa<PHINode>(this) && "Inserting PHI after debug-records!"' failed.` In llvm (C++) we've added bit to instruction iterators that carries around the extra information. Adding dedicated functions seemed like the least invasive and least suprising way to update the C API. Update llvm/tools/llvm-c-test/debuginfo.c to test this functionality. Update the OCaml bindings, the migration docs and release notes.
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp')
0 files changed, 0 insertions, 0 deletions