[Bug tree-optimization/94010] New: [missed optimization] -fmerge-all-constants misses simple array merging
aleksey.covacevice at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 3 04:34:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94010
Bug ID: 94010
Summary: [missed optimization] -fmerge-all-constants misses
simple array merging
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: aleksey.covacevice at gmail dot com
Target Milestone: ---
-fmerge-all-constants misses a very simple optimization scenario involving an
array:
extern void g(const char* c);
void f() {
const char c[] = "12345";
g(c);
}
produces a local array (with or without the flag).
If `const char c[]` is replaced by `const char* c`, the above code produces a
global array as expected.
This seems to be the case in every GCC version I have tested, starting from
4.9.
More information about the Gcc-bugs
mailing list