[flang-commits] [PATCH] D102857: [flang] Implement more transformational intrinsic functions in runtime

Peter Klausler via Phabricator via flang-commits flang-commits at lists.llvm.org
Thu May 20 10:40:01 PDT 2021


klausler created this revision.
klausler added a reviewer: jeanPerier.
klausler added a project: Flang.
Herald added subscribers: jdoerfert, mgorny.
Herald added a reviewer: sscalpone.
klausler requested review of this revision.

Define APIs, naively implement, and add basic sanity unit tests for
the transformational intrinsic functions CSHIFT, EOSHIFT, PACK,
SPREAD, TRANSPOSE, and UNPACK.  These are the remaining transformational
intrinsic functions that rearrange data without regard to type
(except for default boundary values in EOSHIFT); RESHAPE was already
in place as a stress test for the runtime's descriptor handling
facilities.

Code is in place to create copies of allocatable/automatic
components when transforming arrays of derived type, but it won't
do anything until we have derived type information being passed to the
runtime from the frontend.


https://reviews.llvm.org/D102857

Files:
  flang/module/__fortran_type_info.f90
  flang/runtime/CMakeLists.txt
  flang/runtime/allocatable.cpp
  flang/runtime/copy.cpp
  flang/runtime/copy.h
  flang/runtime/descriptor.h
  flang/runtime/tools.cpp
  flang/runtime/tools.h
  flang/runtime/transformational.cpp
  flang/runtime/transformational.h
  flang/runtime/type-info.h
  flang/unittests/Evaluate/reshape.cpp
  flang/unittests/RuntimeGTest/CMakeLists.txt
  flang/unittests/RuntimeGTest/Matmul.cpp
  flang/unittests/RuntimeGTest/Namelist.cpp
  flang/unittests/RuntimeGTest/Reduction.cpp
  flang/unittests/RuntimeGTest/Transformational.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102857.346795.patch
Type: text/x-patch
Size: 47492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20210520/d4777d37/attachment-0001.bin>


More information about the flang-commits mailing list