[Bug tree-optimization/93435] [8/9/10 Regression] Hang with -O2 on innocuous looking code with GCC 8.3

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 27 11:25:00 GMT 2020


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jamborm at gcc dot gnu.org
          Component|c                           |tree-optimization
   Target Milestone|10.0                        |8.4

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
So SRA probably shouldn't do that.  Somehow it passed

  unsigned HOST_WIDE_INT max_scalarization_size
    = get_move_ratio (optimize_speed_p) * UNITS_PER_WORD;

which is a bit of an odd thing since we test it against

            if (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (var)))
                <= max_scalarization_size)

later (UNITS vs. bits).  MOVE_RATIO can be as big as 17 on x86_64 (which
is also the default), times 8 that's 136 bytes - but we test against
bits above, so I don't see how it qualifies...

Then tree DSE does have some rate-limiting of its walks as well.


More information about the Gcc-bugs mailing list