1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

[NFC][AMDGPU] DWARF Extensions For Heterogeneous Debugging clarifications

Clarify that the base type endianity is used when creating implicit
location storage.

Remove duplicate definition of the generic type.

Reviewed By: scott.linder

Differential Revision: https://reviews.llvm.org/D98137
This commit is contained in:
Tony 2021-03-07 08:49:18 +00:00
parent eae4824dc0
commit 4f31275f73

View File

@ -711,8 +711,8 @@ DWARF Expression Value
++++++++++++++++++++++ ++++++++++++++++++++++
A value has a type and a literal value. It can represent a literal value of any A value has a type and a literal value. It can represent a literal value of any
supported base type of the target architecture. The base type specifies the size supported base type of the target architecture. The base type specifies the
and encoding of the literal value. size, encoding, and endianity of the literal value.
.. note:: .. note::
@ -1271,24 +1271,9 @@ This section describes the operations that push values on the stack.
Each value stack entry has a type and a literal value and can represent a Each value stack entry has a type and a literal value and can represent a
literal value of any supported base type of the target architecture. The base literal value of any supported base type of the target architecture. The base
type specifies the size and encoding of the literal value. type specifies the size, encoding, and endianity of the literal value.
Instead of a base type, value stack entries can have a distinguished generic The base type of value stack entries can be the distinguished generic type.
type, which is an integral type that has the size of an address in the target
architecture default address space and unspecified signedness.
*The generic type is the same as the unspecified type used for stack operations
defined in DWARF Version 4 and before.*
An integral type is a base type that has an encoding of ``DW_ATE_signed``,
``DW_ATE_signed_char``, ``DW_ATE_unsigned``, ``DW_ATE_unsigned_char``,
``DW_ATE_boolean``, or any target architecture defined integral encoding in the
inclusive range ``DW_ATE_lo_user`` to ``DW_ATE_hi_user``.
.. note::
Unclear if ``DW_ATE_address`` is an integral type. GDB does not seem to
consider it as integral.
.. _amdgpu-dwarf-literal-operations: .. _amdgpu-dwarf-literal-operations:
@ -2107,8 +2092,8 @@ implicit storage value starting at the bit offset.
``DW_OP_stack_value`` pops one stack entry that must be a value V. ``DW_OP_stack_value`` pops one stack entry that must be a value V.
An implicit location storage LS is created with the literal value V and a An implicit location storage LS is created with the literal value V using
size equal to V's base type size. the size, encoding, and enianity specified by V's base type.
It pushes a location description L with one implicit location description SL It pushes a location description L with one implicit location description SL
on the stack. SL specifies LS with a bit offset of 0. on the stack. SL specifies LS with a bit offset of 0.