+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
* 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
+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
/* { 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
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)
/* 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]);
}