IRAs add_store_equivs is quadratic in the size of the function worst case, disable it when -fno-expensive-optimizations which means at -O1 and -Og.
Bootstrap and regtest running on x86_64-unknown-linux-gnu. OK? Thanks, Richard. * ira.cc (ira): Gate add_store_equivs on flag_expensive_optimizations. --- gcc/ira.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ira.cc b/gcc/ira.cc index 3936456c4ed..5231f63398e 100644 --- a/gcc/ira.cc +++ b/gcc/ira.cc @@ -5739,7 +5739,7 @@ ira (FILE *f) combine_and_move_insns (); /* Gather additional equivalences with memory. */ - if (optimize) + if (optimize && flag_expensive_optimizations) add_store_equivs (); loop_optimizer_finalize (); -- 2.43.0