diff options
| author | Andres-Salamanca <andrealebarbaritos@gmail.com> | 2025-07-31 10:12:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-31 10:12:56 -0500 |
| commit | 4005edd5c446f04a37856d69b47f1693364c12f0 (patch) | |
| tree | c5e4ea0cb70bc18c7bbf6811afeda5a45b4e37d2 /lldb/source/Commands/CommandObjectMemory.cpp | |
| parent | 08c5944222175e2530b1bd51c07c99fb08a24675 (diff) | |
| download | llvm-4005edd5c446f04a37856d69b47f1693364c12f0.zip llvm-4005edd5c446f04a37856d69b47f1693364c12f0.tar.gz llvm-4005edd5c446f04a37856d69b47f1693364c12f0.tar.bz2 | |
[CIR] Add ComputeVolatileBitfields Implementation (#151252)
This PR adds the implementation of the `ComputeVolatileBitfields`
function for the AAPCS ABI, following the rules described in [AAPCS64
ยง8.1.8.5 Volatile
Bit-fields](https://github.com/ARM-software/abi-aa/blob/f52e1ad3f81254497a83578dc102f6aac89e52d0/aapcs64/aapcs64.rst#8185volatile-bit-fields----preserving-number-and-width-of-container-accesses).
When accessing a volatile bit-field either reading or writing the
compiler must perform a load or store using the access size that matches
the width of the declared type (i.e., the type of the container), rather
than the packed bit-field size.
For example, if a field is declared as `int`, it must read or write 32
bits, even if the bit-field is only 3 bits wide.
The `ComputeVolatileBitfields` function calculates the correct values
and offsets necessary for proper lowering of volatile bitfields.
Support for emitting calls to `get_bitfield` and `set_bitfield` with the
correct access size for volatile bitfields will be implemented in a
future PR.
Diffstat (limited to 'lldb/source/Commands/CommandObjectMemory.cpp')
0 files changed, 0 insertions, 0 deletions
