Like RawAddress, an abstract representation of an aligned address, but the pointer contained in this class is possibly signed. More...
Like RawAddress, an abstract representation of an aligned address, but the pointer contained in this class is possibly signed.
This is designed to be an IR-level abstraction, carrying just the information necessary to perform IR operations on an address like loads and stores. In particular, it doesn't carry C type information or allow the representation of things like bit-fields; clients working at that level should generally be using LValue
.
An address may be either raw, meaning that it's an ordinary machine pointer, or signed, meaning that the pointer carries an embedded pointer-authentication signature. Representing signed pointers directly in this abstraction allows the authentication to be delayed as long as possible without forcing IRGen to use totally different code paths for signed and unsigned values or to separately propagate signature information through every API that manipulates addresses. Pointer arithmetic on signed addresses (e.g. drilling down to a struct field) is accumulated into a separate offset which is applied when the address is finally accessed.
Definition at line 128 of file Address.h.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4