*PING* [PATCH v3 10/10] fortran: Add -finline-intrinsics flag for MINLOC/MAXLOC [PR90608]

Mikael Morin morin-mikael@orange.fr
Sat Sep 21 14:32:38 GMT 2024


Le 19/09/2024 à 23:24, Jakub Jelinek a écrit :
> On Mon, Sep 16, 2024 at 10:52:43AM +0200, Mikael Morin wrote:
>>> While I understand the intent of 'positive form' vs 'negative form', the
>>> above might be clearer as
>>>
>>>      Usage of intrinsics can be implemented either by generating a call
>>>      to the libgfortran library function or by directly generating inline
>>>      code.  For most intrinsics, only a single variant is available, and
>>>      there is no choice of implementation.  However, some intrinsics can
>>>      use a library function or inline code, wher inline code typically offers
>>>      opportunities for additional optimization over a library function.
>>>      With @code{-finline-intrinsics=...} or @code{-fno-inline-intrinsics=...}, the
>>>      choice applies only to the intrinsics present in the comma-separated list
>>>      provided as argument.
>>>
>>>>> +For each intrinsic, if no choice of implementation was made through either of
>>>>> +the flag variants, a default behaviour is chosen depending on optimization:
>>>>> +library calls are generated when not optimizing or when optimizing for size;
>>>>> +otherwise inline code is preferred.
>>>>> +
>>>
>>>
>>> OK with consideration the above comments.
>>>
>>
>> Harald actually gave a partial green light on this already, but obviously
>> there was still room for improvement.
>> Thanks for the review, I'm incorporating the changes you suggested.
>>
>> I was (and still am) waiting for a review from someone knowledgeable in the
>> options system.  I'm considering proceeding without, as I prefer seeing this
>> pushed sooner than later.
> 
> Just note lang.opt.urls will need to be updated, either you do it right away
> with make regenerate-opt-urls or commit, wait for a nag-mail from CI and
> commit incrementally the patch it creates.
> 
Thanks for the tip.
The Makefile dependencies seem to be incomplete.
Here is what I get:

$ LC_ALL=C make -C gcc regenerate-opt-urls
make: Entering directory '…/build/gcc'
make: *** No rule to make target 
'…/build/gcc/HTML/gcc-15.0.0/gcc/Option-Index.html', needed by 
'regenerate-opt-urls'.  Stop.
make: Leaving directory '…/build/gcc'

After:

$ make maybe-html-gcc
... blah ...

it becomes:

$ LC_ALL=C make -C gcc regenerate-opt-urls
make: Entering directory '…/build/gcc'
make: *** No rule to make target 
'…/build/gcc/HTML/gcc-15.0.0/gdc/Option-Index.html', needed by 
'regenerate-opt-urls'.  Stop.
make: Leaving directory '…/build/gcc'

(Note the change from 'gcc' to 'gdc' in the error's path.)

Next I manually edited Makefile to add d.html as dependency to 
lang.html, reran make maybe-html-gcc, and then again:

$ LC_ALL=C make -C gcc regenerate-opt-urls

and it ran without error.
BUT
There is no modified file.  Did I miss something?



More information about the Fortran mailing list