[Bug lto/61635] LTO partitioner does not handle &&label in statics
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jun 27 23:04:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61635
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2014-06-27
CC| |hubicka at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |hubicka at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Yep, this is a known problem. We do not represent labels in symbol table and
thus LTO partitioner has no clue about them. I would be interested to see the
example that fails - theoretically the problematic static variable should
always end up in the same partition as the function using it, because that
function is no inline and no clone and should not get duplicated. So kernel &
friends should fail only with -flto-partition=1to1 not with ballanced/none/one
algorithms.
I plan correct solution - I already implemented labels for symtab some time ago
but I would like to re-do it on the new API.
The poor-man's class hiearchy in C was not very pretty and a lot of code is
still not updated to nots assume two basic types of symbols (variables and
functions). With Martin Liska we are updating the APIs and once it is done I
will add symbols for non-local labels and const_decls.
More information about the Gcc-bugs
mailing list