aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorPeter Klausler <35819229+klausler@users.noreply.github.com>2024-03-26 09:21:16 -0700
committerGitHub <noreply@github.com>2024-03-26 09:21:16 -0700
commit3ada883f7c96e099e1a665c091751bff5f16690e (patch)
tree78e19060796cbf1d7aa1795038314a2e297f3fe9 /clang/lib/CodeGen/CodeGenFunction.cpp
parentc8b85add2ec1916f3aa5139dfd258e42a946a468 (diff)
downloadllvm-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