re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)
PR lto/64043 * gcc.dg/lto/20110201-1_0.c: New testcase. * tree-streamer.c (preload_common_nodes): Skip preloading of main_identifier_node, pid_type and optimization/option nodes. From-SVN: r218767
This commit is contained in:
parent
2bf7560bd3
commit
6c36539dcf
|
@ -1,3 +1,9 @@
|
|||
2014-12-15 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR lto/64043
|
||||
* tree-streamer.c (preload_common_nodes): Skip preloading
|
||||
of main_identifier_node, pid_type and optimization/option nodes.
|
||||
|
||||
2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR rtl-optimization/63397
|
||||
|
@ -92,6 +98,16 @@
|
|||
* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
|
||||
the loop for removal if we copied the loop header.
|
||||
|
||||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/61602
|
||||
* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool.
|
||||
* ipa.c (set_writeonly_bit): Track if reference was removed.
|
||||
(ipa_discover_readonly_nonaddressable_vars): Return true if any
|
||||
references was removed.
|
||||
* ipa-reference.c (propagate): Return TODO_remove_functions if
|
||||
reference was removed.
|
||||
|
||||
2014-12-14 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* ipa.c (process_references): Fix conditoinal on flag_optimize
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-12-15 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR lto/64043
|
||||
* gcc.dg/lto/20110201-1_0.c: New testcase.
|
||||
|
||||
2014-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/64316
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/* { dg-lto-do run } */
|
||||
/* { dg-lto-options { { -O0 -flto } } } */
|
||||
/* { dg-extra-ld-options "-O2 -ffast-math -fuse-linker-plugin" } */
|
||||
/* { dg-require-linker-plugin "" } */
|
||||
|
||||
/* We require a linker plugin because otherwise we'd need to link
|
||||
|
@ -9,7 +8,7 @@
|
|||
which does not have folded cabs. */
|
||||
|
||||
double cabs(_Complex double);
|
||||
double __attribute__((used))
|
||||
double __attribute__((used)) __attribute__ ((optimize ("O2,fast-math")))
|
||||
foo (_Complex double x, int b)
|
||||
{
|
||||
if (b)
|
||||
|
|
|
@ -324,7 +324,18 @@ preload_common_nodes (struct streamer_tree_cache_d *cache)
|
|||
/* Skip boolean type and constants, they are frontend dependent. */
|
||||
if (i != TI_BOOLEAN_TYPE
|
||||
&& i != TI_BOOLEAN_FALSE
|
||||
&& i != TI_BOOLEAN_TRUE)
|
||||
&& i != TI_BOOLEAN_TRUE
|
||||
/* MAIN_IDENTIFIER is not always initialized by Fortran FE. */
|
||||
&& i != TI_MAIN_IDENTIFIER
|
||||
/* PID_TYPE is initialized only by C family front-ends. */
|
||||
&& i != TI_PID_TYPE
|
||||
/* Skip optimization and target option nodes; they depend on flags. */
|
||||
&& i != TI_OPTIMIZATION_DEFAULT
|
||||
&& i != TI_OPTIMIZATION_CURRENT
|
||||
&& i != TI_TARGET_OPTION_DEFAULT
|
||||
&& i != TI_TARGET_OPTION_CURRENT
|
||||
&& i != TI_CURRENT_TARGET_PRAGMA
|
||||
&& i != TI_CURRENT_OPTIMIZE_PRAGMA)
|
||||
record_common_node (cache, global_trees[i]);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue