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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
That doesn't seem to be the reason for the ICE.
This at least for me (x86_64-linux) ICEs on
21327  /* Make sure any inlined functions are known to be inlineable.  */
21328  gcc_checking_assert (DECL_ABSTRACT_P (decl)
21329       || cgraph_function_possibly_inlined_p (decl));
The reason why DECL_ABSTRACT_P is not set in this case is that LTO throws away
DECL_ABSTRACT_ORIGIN of all decls.  And the reason why
cgraph_function_possibly_inlined_p is not set seems to be that
DECL_POSSIBLY_INLINED isn't set.  Supposedly it is not set in t1.o's mean,
because it is not inlined in there, and it is set in t2.o's mean, because it
has been early inlined in there.  So, DECL_POSSIBLY_INLINED ideally should be
ored in from all the LTO input files but that is not what is happening.  So, do
we need to move that flag to cgraph or duplicate it there, and make sure when
merging decls from different TUs it is ored in together?

Reply via email to