aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGenPrepare.cpp
diff options
context:
space:
mode:
authorkhaki3 <47756807+khaki3@users.noreply.github.com>2024-08-15 17:32:56 -0700
committerGitHub <noreply@github.com>2024-08-15 17:32:56 -0700
commit5d48248755f41245be031791ff6ea7a79a5a8912 (patch)
treed82136f24a5a99296c8efdbe47a29c88076e1bf4 /llvm/lib/CodeGen/CodeGenPrepare.cpp
parent812e049ac1c2424f96746ac4c453d6255b0a6ca5 (diff)
downloadllvm-5d48248755f41245be031791ff6ea7a79a5a8912.zip
llvm-5d48248755f41245be031791ff6ea7a79a5a8912.tar.gz
llvm-5d48248755f41245be031791ff6ea7a79a5a8912.tar.bz2
[flang] Inline minval/maxval over elemental/designate (#103503)
This PR intends to optimize away `hlfir.elemental` operations, which leave temporary buffers (`allocmem`) in FIR. We typically see elemental operations in the arguments of reduction intrinsics, so extending `OptimizedBufferization` shall be the first solution to get heap-free code. Here we newly handle `minval`/`maxval` along with other reduction intrinsics. Those functions over elemental become do loops. Furthermore, we take the same action with `hlfir.designate` in order to inline more intrinsics, which otherwise call runtime routines.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions