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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |compile-time-hog
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-06-22

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC doesn't try to do memcpy pattern detection when you manually produce such
kind of initialization.  In theory vectorizer dataref analysis figures it out
but then there's no "vectorize with memset" implemented ;)  store-merging
only merges up to word-size stores.

As expected most of the compile-time is spent funneling this through
optimizers before the very late attempts to optimize it.  Notably

 alias stmt walking                 :  35.95 ( 64%)   0.47 ( 65%)  36.60 ( 64%)
      0 kB (  0%)
 tree DSE                           :  16.08 ( 29%)   0.14 ( 19%)  16.28 ( 28%)
      0 kB (  0%)

where the walking cut-off for DSE is likely too big (note the above is
for a -O0 optimized cc1 with -O1 -fno-checking).

Reply via email to