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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Well, I'm not convinced the #c0 transformation should be done by default, but
what should and can be done is instead of emitting {42, 42, 42, ...., 42}; emit
like the C or C++ FEs emit {[1..1000000] = 42} which is much more compile time
memory friendly, and if the user doesn't require that it is SAVEd, e.g. the
gimplifier has code to decide if having a .rodata initializer vs. initializing
by a loop is beneficial.  See PR82294 or PR87436 for the C++ counterparts.
I see a single spot with RANGE_EXPR even in the Fortran FE, so maybe it does it
already.

Reply via email to