diff options
author | Peter Klausler <35819229+klausler@users.noreply.github.com> | 2024-03-26 09:21:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-26 09:21:16 -0700 |
commit | 3ada883f7c96e099e1a665c091751bff5f16690e (patch) | |
tree | 78e19060796cbf1d7aa1795038314a2e297f3fe9 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | c8b85add2ec1916f3aa5139dfd258e42a946a468 (diff) | |
download | llvm-3ada883f7c96e099e1a665c091751bff5f16690e.zip llvm-3ada883f7c96e099e1a665c091751bff5f16690e.tar.gz llvm-3ada883f7c96e099e1a665c091751bff5f16690e.tar.bz2 |
[flang][runtime] Runtime support for REDUCE() (#86214)
Supports the REDUCE() transformational intrinsic function of Fortran
(see F'2023 16.9.173) in a manner similar to the existing support for
SUM(), PRODUCT(), &c. There are APIs for total reductions to scalar
results, and APIs for partial reductions that reduce the rank of the
argument by one.
This implementation requires more functions than other reductions
because the various possible types of the user-supplied OPERATION=
function need to be elaborated.
Once the basic API in reduce.h has been approved, later patches will
implement lowering.
REDUCE() is primarily for completeness, not portability; only one other
Fortran compiler implements this F'2018 feature today, and only some
types work correctly with it.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions