On 28 May 2015 at 12:22, Alan Lawrence <alan.lawre...@arm.com> wrote: > Christophe Lyon wrote: >> >> On 26 May 2015 at 18:25, Alan Lawrence <alan.lawre...@arm.com> wrote: >>> >>> I don't see this symptom - I am able to execute such subsets with either >>> my, >>> or Sandra's, advsimd-intrinsics.exp. >> >> >> I didn't try to run with your patch, I thought it was an oversight of >> yours. >> >> Sorry, indeed I've just checked that gcc-dg-runtest includes the filter. >> >>> Is it that you have to check runtest_file_p because you are setting >>> gcc_parallel_test_enable to 0? >>> >>> I'm doing more testing now, but I think I can drop my >>> advsimd-intrinsics.exp >>> changes altogether; I'll post an updated patch series shortly. >>> >>> In the meantime I'm curious as to why you found the >>> gcc_parallel_test_enable >>> necessary? (And is it safe to reset it to 1 afterwards, rather than to a >>> saved value?) >> >> See https://gcc.gnu.org/ml/gcc/2014-10/msg00081.html > > > So after working through the differences between Sandra's and my patch, I > find the existing advsimd-intrinsics.exp achieves pretty much the same > thing, and preserves the same list of test variants (e.g. the -Og -g from > set-torture-options which I had removed). > > However, I've tried testing advsimd-intrinsics.exp (both the whole thing, > and individual tests using RUNTESTFLAGS) with and without this hunk: > > @@ -57,20 +57,7 @@ set-torture-options $C_TORTURE_OPTIONS {{}} > $LTO_TORTURE_OPTI > set additional_flags [add_options_for_arm_neon ""] > > # Main loop. > -foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { > - # If we're only testing specific files and this isn't one of them, skip > it. > - if ![runtest_file_p $runtests $src] then { > - continue > - } > - > - # runtest_file_p is already run above, and the code below can run > - # runtest_file_p again, make sure everything for this test is > - # performed if the above runtest_file_p decided this runtest > - # instance should execute the test > - gcc_parallel_test_enable 0 > - gcc-dg-runtest $src "" $additional_flags > - gcc_parallel_test_enable 1 > -} > +gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" > ${additional_flags} > > and find exactly the same tests are run and pass. My hypothesis is thus that > you only need the explicit loop, manual checking of runtest_file_p, and > gcc_parallel_test_enable, in order to do *both* c-torture-execute *and* > gcc-dg-runtest; since we are now only doing the latter, this is unnecessary. > Does that make sense? (If you agree, I'll propose that as a standalone > cleanup patch.) >
Indeed I think you are right. Since we no longer call c-torture-execute, we no longer need to call runtest_file_p here. Having only one remaining call to runtest_file_p in gcc-dg-runtest is parallel-safe. Thanks for the cleanup. Christophe. > Cheers, Alan >