diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2024-09-21 18:32:19 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2024-09-21 18:32:19 +0200 |
commit | 053cec9a5f4513537ca20a246c39d1bbfe6ce4be (patch) | |
tree | 8d85374bfdcf547e84a7a15ead2837e7cdc13a80 /gcc/tree-vectorizer.h | |
parent | b6ea4f7b0e6f983376aac6ebcdbf4eb375b4f1d9 (diff) | |
download | gcc-053cec9a5f4513537ca20a246c39d1bbfe6ce4be.zip gcc-053cec9a5f4513537ca20a246c39d1bbfe6ce4be.tar.gz gcc-053cec9a5f4513537ca20a246c39d1bbfe6ce4be.tar.bz2 |
fortran: Disable frontend passes for inlinable MINLOC/MAXLOC [PR90608]
Disable rewriting of MINLOC/MAXLOC expressions for which inline code
generation is supported. Update the gfc_inline_intrinsic_function_p
predicate (already existing) for that, with the current state of
MINLOC/MAXLOC inlining support, that is only the cases of a scalar
result and non-CHARACTER argument for now.
This change has no effect currently, as the MINLOC/MAXLOC front-end passes
only change expressions of rank 1, but the inlining control predicate
gfc_inline_intrinsic_function_p returns false for those. However, later
changes will extend MINLOC/MAXLOC inline expansion support to array
expressions and update the inlining control predicate, and this will become
effective.
PR fortran/90608
gcc/fortran/ChangeLog:
* frontend-passes.cc (optimize_minmaxloc): Skip if we can generate
inline code for the unmodified expression.
* trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Add
MINLOC and MAXLOC cases.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions