diff options
author | khaki3 <47756807+khaki3@users.noreply.github.com> | 2024-08-15 17:32:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-15 17:32:56 -0700 |
commit | 5d48248755f41245be031791ff6ea7a79a5a8912 (patch) | |
tree | d82136f24a5a99296c8efdbe47a29c88076e1bf4 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 812e049ac1c2424f96746ac4c453d6255b0a6ca5 (diff) | |
download | llvm-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