[all-commits] [llvm/llvm-project] c1db35: [flang] Implement more transformational intrinsic ...

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu May 20 13:28:30 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c1db35f0c232a8672d44f2531d178d4da35b5b3c
      https://github.com/llvm/llvm-project/commit/c1db35f0c232a8672d44f2531d178d4da35b5b3c
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2021-05-20 (Thu, 20 May 2021)

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

  Log Message:
  -----------
  [flang] Implement more transformational intrinsic functions in runtime

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.

Differential Revision: https://reviews.llvm.org/D102857




More information about the All-commits mailing list