History log of /llvm-project/llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll (Results 1 – 2 of 2)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1cbddceb 11-Jul-2024 John Brawn <john.brawn@arm.com>

[DebugInfo] Use DW_OP_deref_size for DW_OP_LLVM_extract_bits (#97609)

Using DW_OP_deref can result in the debugger reading past the end of an
object into inaccessible memory, causing an error. Inst

[DebugInfo] Use DW_OP_deref_size for DW_OP_LLVM_extract_bits (#97609)

Using DW_OP_deref can result in the debugger reading past the end of an
object into inaccessible memory, causing an error. Instead use
DW_OP_deref_size to make sure we don't read any bytes beyond what we
need to.

show more ...


Revision tags: llvmorg-18.1.8
# 1721c14e 07-Jun-2024 John Brawn <john.brawn@arm.com>

[DebugInfo] Add DW_OP_LLVM_extract_bits (#93990)

This operation extracts a number of bits at a given offset and sign or
zero extends them, which is done by emitting it as a left shift followed
by

[DebugInfo] Add DW_OP_LLVM_extract_bits (#93990)

This operation extracts a number of bits at a given offset and sign or
zero extends them, which is done by emitting it as a left shift followed
by a right shift.

This is being added for use in clang for C++ structured bindings of
bitfields that have offset or size that aren't a byte multiple. A new
operation is being added, instead of shifts being used directly, as it
makes correctly handling it in optimisations (which will be done in a
later patch) much easier.

show more ...