From: Mikael Morin <[email protected]>

This is the second part of the array descriptor series.

The goal here is to differenciate reads from writes among array descriptor
accesses.  This is important because changes to the array descriptor format
don't have the same impact on the code generated for either access.  Reads
can be translated transparently in the new format by calculating a value
from the new fields if the old field is not present any more.  For writes,
on the contrary, the same direct translation of individual field accesses is
not possible.

These patches introduce getters and setters for descriptor fields that
don't have them already, and replace descriptor fields usage with either
accessor.  Future patches will introduce more high level functions in order
to reduce usage of setters outside of trans-descriptor.cc.

Previous parts in the series:
part 1: https://gcc.gnu.org/pipermail/gcc-patches/2025-October/699114.html

Mikael Morin (11):
  fortran: array descriptor: Use the setter to modify the offset
  fortran: array descriptor: Add accessors for the elem_len field
  fortran: array descriptor: Add accessors for the version field
  fortran: array descriptor: Add accessors for the rank field
  fortran: array descriptor: Add accessors for the type field
  fortran: array descriptor: Add accessors for the dtype field
  fortran: array descriptor: Remove access to the attribute field
  fortran: array descriptor: Add accessors for the dim field
  fortran: array descriptor: Add a setter for the token field
  fortran: array descriptor: Rename dim subfields internal accessors
  fortran: array descriptor: Add internal field accessor for data

 gcc/fortran/trans-array.cc      | 168 +++++++---------
 gcc/fortran/trans-decl.cc       |  40 ++--
 gcc/fortran/trans-descriptor.cc | 343 ++++++++++++++++++++++++++++----
 gcc/fortran/trans-descriptor.h  |  26 ++-
 gcc/fortran/trans-expr.cc       |  82 +++-----
 gcc/fortran/trans-intrinsic.cc  |  26 +--
 gcc/fortran/trans-openmp.cc     |   8 +-
 gcc/fortran/trans-stmt.cc       |   7 +-
 gcc/fortran/trans.cc            |   5 +-
 9 files changed, 456 insertions(+), 249 deletions(-)

-- 
2.51.0

Reply via email to