https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802
Bug ID: 61802 Summary: AArch64 execute.exp failures with LTO after r212467 Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org After r212467 Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Jul 11 17:43:44 2014 +0000 * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h (varpool_get_constructor): New function. (varpool_ctor_useable_for_folding_p): Break out from ... (ctor_for_folding): ... here; use varpool_get_constructor. (varpool_assemble_decl): Likewise. * lto-streamer.h (struct output_block): Turn cgraph_node to symbol filed. (lto_input_variable_constructor): Declare. * ipa-visibility.c (function_and_variable_visibility): Use varpool_get_constructor. * cgraph.h (varpool_get_constructor): Declare. (varpool_ctor_useable_for_folding_p): New function. * lto-streamer-out.c (get_symbol_initial_value): Take encoder parameter; return error_mark_node for non-trivial constructors. (lto_write_tree_1, DFS_write_tree): UPdate use of get_symbol_initial_value. (output_function): Update initialization of symbol. (output_constructor): New function. (copy_function): Rename to .. (copy_function_or_variable): ... this one; handle vars too. (lto_output): Output variable sections. * lto-streamer-in.c (input_constructor): New function. (lto_read_body): Rename from ... (lto_read_body_or_constructor): ... this one; handle vars too. (lto_input_variable_constructor): New function. * ipa-prop.c (ipa_prop_write_jump_functions, ipa_prop_write_all_agg_replacement): Update. * lto-cgraph.c (compute_ltrans_boundary): Use it. (output_cgraph_opt_summary): Set symbol to NULL. * lto-partition.c (add_references_to_partition): Use varpool_ctor_useable_for_folding_p. * lto.c (lto_read_in_decl_state): Update sanity check. I'm seeing a number of failures in gcc.c-torture/execute/ on the -flto variants, including: FAIL: gcc.c-torture/execute/20000422-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20000422-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20001013-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20001013-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20011113-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20011113-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20020615-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20020615-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20040805-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20040805-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20050929-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20050929-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20071210-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20071210-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20081117-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20081117-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20120427-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20120427-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/20120919-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/20120919-1.c execution, -O2 -flto FAIL: gcc.c-torture/execute/921113-1.c execution, -O2 -flto -flto-partition=none FAIL: gcc.c-torture/execute/921113-1.c execution, -O2 -flto