diff options
| author | Mikhail Gudim <mgudim@gmail.com> | 2025-11-05 18:33:20 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-05 15:33:20 -0800 |
| commit | 050cbd297ba401cb4089e13c925f233d1d3af26e (patch) | |
| tree | d3684804f856bd836f9a46aadf07018d3aad746c /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 3b010c96ac237e3cad06c7ed467e8a7eca096090 (diff) | |
| download | llvm-050cbd297ba401cb4089e13c925f233d1d3af26e.zip llvm-050cbd297ba401cb4089e13c925f233d1d3af26e.tar.gz llvm-050cbd297ba401cb4089e13c925f233d1d3af26e.tar.bz2 | |
[CodeGen] Allow negative frame indicies in Register class. (#164459)
The register values between `2 << 30` (inclusive) and `2 << 31`
(exclusive) correspond to frame indices. To obtain the frame index from
the given register value we interpret first 30 bits as an unsigned
integer. Thus, currently only non-negative frame indices can be
represented.
However, we should also be able to represent negative frame indices as
register values as well. This is used by reaching definitions analysis
for example.
In order to do that, we interpret the first 30 bits of the register
value as a signed integer.
---------
Co-authored-by: Mikhail Gudim <mgudim@ventanamicro.com>
Co-authored-by: Petr Penzin <ppenzin@tenstorrent.com>
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
