[Bug bootstrap/59199] [4.9 Regression] r205032 caused LTO bootstrap to fail with bootstrap-profile

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 2 09:41:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59199

Richard Biener <rguenth at gcc dot gnu.org> changed:

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
In fact we have the same without LTO ...

  _31 = &aloopD.38206_74->numD.37604;
...
  # DEBUG ptrD.42029 => &aloopD.38206

but checking doesn't catch it.

Which is because get_expr_operands () has an early out on
ADDR_EXPRs which are is_gimple_min_invariant.

In the specific LTO case it doesn't work because decl_address_invariant_p
doesn't return true as DECL_CONTEXT is different from current_function_decl.

We input a non-prevailing function body it seems, which isn't really supported
as we've already munged trees enough to confuse all sorts of predicates.  Why
do we need stmts at all here?  Isn't it enough to input the CFG?

Honza?



More information about the Gcc-bugs mailing list