You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LLVM 19 migrates away from the old style of recording debug information using llvm.dbg.* intrinsics to instead using debug records, as described in https://llvm.org/docs/RemoveDIsDebugInfo.html. This migration involved changes to bitcode that we must accommodate on the llvm-pretty-bc-parser side. The relevant LLVM commit is llvm/llvm-project@435d4c1, which introduces five new FUNC_CODEs:
LLVM 19 migrates away from the old style of recording debug information using
llvm.dbg.*
intrinsics to instead using debug records, as described in https://llvm.org/docs/RemoveDIsDebugInfo.html. This migration involved changes to bitcode that we must accommodate on thellvm-pretty-bc-parser
side. The relevant LLVM commit is llvm/llvm-project@435d4c1, which introduces five newFUNC_CODE
s:FUNC_CODE_DEBUG_RECORD_LABEL
(replacingllvm.dbg.label
)FUNC_CODE_DEBUG_RECORD_DECLARE
(replacingllvm.dbg.declare
)FUNC_CODE_DEBUG_RECORD_ASSIGN
(replacingllvm.dbg.assign
)FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
andFUNC_CODE_DEBUG_RECORD_VALUE
(replacingllvm.dbg.value
)Here are examples of programs that use each of these codes, which
llvm-pretty-bc-parser
fails to parse:FUNC_CODE_DEBUG_RECORD_LABEL
Minimal example:
Compiling this with
clang-19.1.0 -g -emit-llvm
yields:FUNC_CODE_DEBUG_RECORD_DECLARE
Minimal example:
Compiling this with
clang-19.1.0 -g -emit-llvm
yields:FUNC_CODE_DEBUG_RECORD_ASSIGN
Adapting the example from GaloisInc/crucible#1204:
Compiling this with
clang-19.1.0 -g -emit-llvm -O
yields:FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
andFUNC_CODE_DEBUG_RECORD_VALUE
Minimal example of a program which compiles down to
FUNC_CODE_DEBUG_RECORD_VALUE_SIMPLE
:Compiling this with
clang-19.1.0 -g -emit-llvm -O
yields:FUNC_CODE_DEBUG_RECORD_VALUE
(instruction code 61) is similar, although I'm not entirely sure how to make Clang emit such a function code.The text was updated successfully, but these errors were encountered: