[Bug tree-optimization/97623] [9/10/11 Regression] Extremely slow O2 compile (>>O(n^2))

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 29 07:17:37 GMT 2020


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
            Summary|Extremely slow O2 compile   |[9/10/11 Regression]
                   |(>>O(n^2))                  |Extremely slow O2 compile
                   |                            |(>>O(n^2))
      Known to work|                            |7.5.0
          Component|middle-end                  |tree-optimization
   Last reconfirmed|                            |2020-10-29

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
 tree PRE                           :   6.83 ( 96%)   0.02 ( 50%)   6.90 ( 96%)
  11764 kB ( 37%)

Confirmed.

insert iterations == 187: 1
RPO blocks: 843
RPO iterations == 10: 1
compute_antic iterations == 2: 1
RPO blocks visited: 843
New PHIs: 15021
RPO num values == 7009: 1
Insertions: 23846
RPO max_rpo iterations == 0: 1
RPO blocks executable: 843
RPO block visited times == 1: 843
HOIST inserted: 13098
RPO num lattice == 7009: 1
RPO num avail == 6755: 1
Symbol to SSA rewrite: 1
Eliminated: 27807

So the number of insert iterations is troubling.

Now the testcase is a bit big to analyze what's going on there, we seem
to need about 2 insert iterations for each of the statements.

It looks like the statements are 1:1 copies besides sometimes changing
the constant index into the tbt__rvtop__swerv__ifu__bp__bht_bank_wr_data
array?

I will have a closer look.


More information about the Gcc-bugs mailing list