Tested on x86_64-pc-linux-gnu, does this look OK for trunk? -- >8 --
The below testcase uses --param=ggc-min-expand=0 which forces a full GC during every collection point and in turn takes over two minutes to run and ends up being the main bottleneck of the modules.exp testsuite. This patch speeds up this test without (hopefully) significantly affecting its coverage by using =1 instead of =0 which forces a full GC each time the heap grows by 1%, which means exponentially fewer GCs. After this patch the modules.exp testsuite finishes in 2m55s instead of 3m40s with -j8 on my machine. gcc/testsuite/ChangeLog: * g++.dg/modules/pr99023_a.X: Use ggc-min-expand=1 instead of =0. * g++.dg/modules/pr99023_b.X: Likewise. --- gcc/testsuite/g++.dg/modules/pr99023_a.X | 2 +- gcc/testsuite/g++.dg/modules/pr99023_b.X | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/g++.dg/modules/pr99023_a.X b/gcc/testsuite/g++.dg/modules/pr99023_a.X index c872d15f792..96bb4a2ab5a 100644 --- a/gcc/testsuite/g++.dg/modules/pr99023_a.X +++ b/gcc/testsuite/g++.dg/modules/pr99023_a.X @@ -1,5 +1,5 @@ // PR c++/99023, ICE -// { dg-additional-options {-x c++-system-header initializer_list -fmodules-ts --param ggc-min-expand=0} } +// { dg-additional-options {-x c++-system-header initializer_list -fmodules-ts --param ggc-min-expand=1} } // { dg-prune-output {linker input file unused} } diff --git a/gcc/testsuite/g++.dg/modules/pr99023_b.X b/gcc/testsuite/g++.dg/modules/pr99023_b.X index ca5f32e5bcc..955378ad88f 100644 --- a/gcc/testsuite/g++.dg/modules/pr99023_b.X +++ b/gcc/testsuite/g++.dg/modules/pr99023_b.X @@ -1,5 +1,5 @@ // PR c++/99023, ICE -// { dg-additional-options {-x c++-system-header iostream -fmodules-ts -flang-info-include-translate=<initializer_list> --param ggc-min-expand=0} } +// { dg-additional-options {-x c++-system-header iostream -fmodules-ts -flang-info-include-translate=<initializer_list> --param ggc-min-expand=1} } // { dg-prune-output {linker input file unused} } -- 2.45.0.rc0