https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72712

--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> Btw, is the compile-time spent in the threading or in followup passes that
> blow up with the large number of BBs?
> 

I was quite surprised because the original file tended to die in
various after-pass TODOs, but it seems that half of it is threading
itself:

These are excerpts from release-checking compiler -O2 time report:

 phase opt and generate  : 253.88 (100%) usr   0.81 (99%) sys 254.88 (100%)
wall  702308 kB (99%) ggc

 tree CFG cleanup        :  38.68 (15%) usr   0.00 ( 0%) sys  38.69 (15%) wall 
  2543 kB ( 0%) ggc
 tree SSA incremental    :  66.79 (26%) usr   0.03 ( 4%) sys  66.85 (26%) wall 
 33289 kB ( 5%) ggc
 backwards jump threading: 117.38 (46%) usr   0.07 ( 9%) sys 117.43 (46%) wall 
355352 kB (50%) ggc
 cfg cleanup             :   4.16 ( 2%) usr   0.00 ( 0%) sys   4.15 ( 2%) wall 
 25782 kB ( 4%) ggc

However, checking=yes -O2 compilation does not differ very much:

 phase opt and generate  : 337.87 (100%) usr   0.96 (98%) sys 338.87 (100%)
wall  719371 kB (99%) ggc

 CFG verifier            :   9.66 ( 3%) usr   0.00 ( 0%) sys   9.68 ( 3%) wall 
     0 kB ( 0%) ggc
 tree CFG cleanup        :  43.23 (13%) usr   0.01 ( 1%) sys  43.28 (13%) wall 
  2998 kB ( 0%) ggc
 tree SSA incremental    :  76.06 (22%) usr   0.09 ( 9%) sys  76.01 (22%) wall 
 33289 kB ( 5%) ggc
 backwards jump threading: 150.05 (44%) usr   0.05 ( 5%) sys 150.10 (44%) wall 
365739 kB (50%) ggc

in both cases, everything else is <3%.

Reply via email to