[Bug tree-optimization/114711] Missed optimization: fold load of global constant array if there is obivous pattern

2024-04-15 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114711

--- Comment #4 from Richard Biener  ---
This one requires "symbolicizing" an initializer.  That might for example also
help implementing a non-constant initializer with a loop, reducing .data and
possibly relocations.  It might also help reducing compile-time memory usage
when we can have a more compact representation of a CONSTRUCTOR and its
elements.

It feels somewhat similar to what we do in switch-conversion, so maybe some
common infrastructure could be built.

[Bug tree-optimization/114711] Missed optimization: fold load of global constant array if there is obivous pattern

2024-04-13 Thread xxs_chy at outlook dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114711

--- Comment #3 from XChy  ---
(In reply to Andrew Pinski from comment #1)
> Note the openssl code issue was reported in pr 114682

Oh, thanks for transferring this LLVM issue! And because I'm recently trying to
transfer some of my LLVM issues to GCC and do some statistic work, let me know
if you have transferred some of them.

[Bug tree-optimization/114711] Missed optimization: fold load of global constant array if there is obivous pattern

2024-04-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114711

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Keywords||missed-optimization
 Ever confirmed|0   |1
   Last reconfirmed||2024-04-13
   Severity|normal  |enhancement

--- Comment #2 from Andrew Pinski  ---
In the openssl code, it is a loop which can be unrolled and gcc does and then
is able to handle the load for string just fine but not the resulting ID. See
the linked issue for that.


But confirmed on this one but it is definitely harder.

[Bug tree-optimization/114711] Missed optimization: fold load of global constant array if there is obivous pattern

2024-04-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114711

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=114682

--- Comment #1 from Andrew Pinski  ---
Note the openssl code issue was reported in pr 114682