public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jerry D <jvdelisle2@gmail.com>
To: Harald Anlauf <anlauf@gmx.de>, gfortran <fortran@gcc.gnu.org>
Subject: Re: Aw: Re: Invalid "dg-do run" in the testsuite (with 2 blanks)
Date: Mon, 25 Mar 2024 18:24:25 -0700	[thread overview]
Message-ID: <6c39ede2-e275-49fd-82a1-5797117d9208@gmail.com> (raw)
In-Reply-To: <trinity-e5a4f440-e78b-4e88-812a-1949b0d6221e-1711405814261@3c-app-gmx-bap03>

On 3/25/24 3:30 PM, Harald Anlauf wrote:
>> On 3/25/24 12:53 PM, Harald Anlauf wrote:
>>>>>>> I noticed by chance that we have quite a lot of improperly specified do-do
>>>>>>> directives in the testsuite.
>>>>>>>
>>>>>>> % grep "dg-do  run" gcc/testsuite/gfortran.dg/ -rl|wc -l
>>>>>>> 83
>>>>>>>
>>>>>
>>>>> I think this is on purpose.
>>>>> The idea to use a "feature" in dejagnu to only iterate once and not
>>>>> over all possible options. So execution time can be lowered a bit.
>>>>>
>>>>> But I don't know if this hack still works, it definitely did work some years ago.
>>>>>
>>>>> Cheers,
>>>>> Manfred
>>>
>>> Is this "feature" documented somewhere?  I don't see it on
>>>
>>> https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gccint/Directives.html
>>>
>>> Given that the dg-directives are important and possibly fragile,
>>> and since we had issues in the past, can we check that a test
>>> that was added works the way intended?
>>>
>>>>>>> Note that with two blanks instead of just one a testcase does not get executed.
>>>>>>>
>>>>>>> Does anybody want to earn the honors to change the directives and
>>>>>>> check for "fallout" in the testsuite?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Harald
>>>>>>>
>>>>>>
>>>>>> One failure after fixing all the spaces ( sed is our friend ).
>>>>>>
>>>>>> FAIL: gfortran.dg/inline_matmul_1.f90   -O0   scan-tree-dump-times optimized "_gfortran_matmul" 0
>>>
>>> This does actually point to an issue with the testcase:
>>> it only works properly with optimization enabled.
>>>
>>> Manual inspection of this test and the expected dump suggests
>>> that e.g. -O1 could have been added to the dg-options directive.
>>>
>>> Shouldn't we fix at least the dg-options of that testcase?
>>>
>>> Cheers,
>>> Harald
>>>
>>
>> I restored the one test that appeared to fail so that it had the two
>> spaces 'trick'.  When run in the test suite, it is compiled with -O
>> which does invoke the optimization.  I manually checked the tree dump
>> with this option and it indeed has all the _gfortran_matmul calls removed.
>>
>> I am inclined to leave these all untouched with the two spaces in place.
>>
>>   From the test log:
>>
>> PASS: gfortran.dg/inline_matmul_1.f90   -O  execution test
>> PASS: gfortran.dg/inline_matmul_1.f90   -O   scan-tree-dump-times
>> optimized "_gfortran_matmul" 0
> 
> Alright, then leave it that way.
> 
> I find it somewhat unsatisfactory though, to have a behavior of the
> testsuite harness that is so intranparent.
> 
> If it is a simple oversight that the behavior of double space was
> never documented, it could simply be fixed, for the sake of everybody.
> 
> The take-home message for me is - whenever I write a testcase that
> relies on this behavior - to add a comment in the header that this
> is intended behavior, and set all compiler flags appropriately...
> 
> Cheers,
> Harald
> 
> 

With two spaces there are 9 tests run at -O, with one space there are 54 
variations executed. Specifying the optimization option in the 
dg-options also runs 54 variations.  It appears that the "feature" was 
done on purpose, but it is frustrating that this is not documented anywhere.

I do remember discussions way back about some tests taking a long time 
to run and needing a way to speed up the overall testing.  I will look 
over the documentation and see if we can get this addressed.

For my own test cases, I have always specified the options I want and 
for front-end work, optimizations don't usually matter except in this 
case.  I don't have time to go through all 83 tests.

 From my system here:

Testing of trunk complete..... one space

real	4m56.294s
user	35m51.082s
sys	12m51.283s


Testing of trunk complete..... two spaces

real	4m44.421s
user	34m3.215s
sys	12m38.778s

Not a huge difference.

Jerry



  reply	other threads:[~2024-03-26  1:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-24 20:19 Harald Anlauf
2024-03-24 23:26 ` Jerry D
2024-03-25  4:53 ` Jerry D
2024-03-25  8:27   ` Manfred Schwarb
2024-03-25 17:38     ` Jerry D
2024-03-25 19:53       ` Harald Anlauf
2024-03-25 20:52         ` Jerry D
2024-03-25 22:30           ` Aw: " Harald Anlauf
2024-03-26  1:24             ` Jerry D [this message]
2024-03-26  7:49               ` Richard Biener
2024-03-26  8:53             ` Mikael Morin
2024-04-02  6:46 ` Andrew Pinski
2024-04-02 17:44   ` Jerry D

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6c39ede2-e275-49fd-82a1-5797117d9208@gmail.com \
    --to=jvdelisle2@gmail.com \
    --cc=anlauf@gmx.de \
    --cc=fortran@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).