+2009-10-08 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/41620
+ * ipa.c (cgraph_externally_visible_p,
+ function_and_variable_visibility,
+ whole_program_function_and_variable_visibility): Skip non-finalized
+ nodes.
+
+2009-10-08 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
+ CONST_DOUBLEs.
+
+2009-10-08 Andreas Tobler <a.tobler@schweiz.org>
+
+ PR bootstrap/37739
+ * config.host: Use config/x-cflags-O1 for powerpc FreeBSD.
+
+2009-10-07 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/41182
+ * c-common.c (c_fully_fold_internal): Strip nops from the result
+ of recursive calls to c_fully_fold_internal.
+ (c_wrap_maybe_const): New.
+ (c_save_expr): Use c_wrap_maybe_const.
+ * c-common.h (c_wrap_maybe_const): Declare.
+ * c-typeck.c (build_conditional_expr, c_finish_stmt_expr,
+ build_binary_op): Use c_wrap_maybe_const.
+
+2009-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * real.c: Fix comment to reflect actual exponent size.
+
+2009-10-08 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/a2.md: Add FSF comment header.
+
+2009-10-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_extend): New code iterator.
+ (u, s): New code attributes.
+ (sgnprefix): Ditto.
+ (DWIH): Rewrite as code iterator for SI and DI modes.
+ (DWI): Rewrite as mode attribute.
+ (dwi): New mode attribute.
+ (di): Depend on SI mode and DI mode.
+ (doubleint_general_operand): Remove mode attribute.
+
+ (*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
+ DWIH mode iterator.
+
+ (*add<mode>3_doubleword): Use DWIH as the base mode iterator.
+ (*sub<mode>3_doubleword): Ditto.
+
+ (mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
+ using SWIM248 mode iterator.
+ (*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
+ using SWI48 mode iterator.
+ (<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
+ patterns using DWIH mode iterator and any_extend code iterator.
+ (<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
+ using any_extend code iterator.
+ (*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
+ patterns using DWIH mode iterator and any_extend code iterator.
+ (*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
+ using any_extend code iterator.
+ (<s>mul<mode>3_highpart): Macroize expander from
+ {s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
+ and any_extend code iterator.
+ (*<s>muldi3_highpart_1): Macroize insn from
+ *{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
+ (*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
+ patterns using any_extend code iterator.
+ (*<s>mulsi3_highpart_zext): Macroize insn from
+ *{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.
+
+2009-10-07 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add
+ DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin
+ refering to a DIE with DW_AT_const_value.
+
+2009-10-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/22072
+ * ira-lives.c (check_and_make_def_conflict): Process all operands.
+
+2009-10-06 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
+ correctly.
+
+2009-10-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
+ *lea_2_rex64): Move before *add<mode>_1 pattern.
+
+2009-10-07 Jan Hubicka <jh@suse.cz>
+
+ * collect2.c (main): Add -fno-whole-program.
+ * gcc.c (set_collect_gcc_options): Do not remove whole program here.
+
+2009-10-07 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
+ no address taken.
+ * cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
+ never needed.
+ (cgraph_clone_node): Clear externally_visible flag for clones.
+ * cgraph.h (cgraph_only_called_directly_p,
+ cgraph_can_remove_if_no_direct_calls_p): New predicates.
+ * tree-pass.h (pass_ipa_whole_program_visibility): Declare.
+ * ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
+ (ipcp_initialize_node_lattices, ipcp_estimate_growth,
+ ipcp_insert_stage): Likwise.
+ * cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
+ externally_visible flag.
+ (verify_cgraph_node): Verify that inline clones look right.
+ (process_function_and_variable_attributes): Do not set
+ externally_visible flags.
+ (ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
+ been already run.
+ * lto-cgraph.c (lto_output_node): Assert that inline clones are not
+ boundaries.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
+ clear externally_visible when turning into inline clones
+ (cgraph_mark_inline_edge): Use new predicates.
+ (cgraph_estimate_growth): Likewise.
+ (cgraph_decide_inlining): Likewise.
+ * ipa.c (cgraph_postorder): Likewise.
+ (cgraph_remove_unreachable_nodes): Likewise; sanity check
+ that inline clones are not needed.
+ (cgraph_externally_visible_p): New predicate.
+ (function_and_variable_visibility): Add whole_program parameter;
+ always set externally_visible flag; handle COMDAT function
+ privatization.
+ (local_function_and_variable_visibility): New function.
+ (gate_whole_program_function_and_variable_visibility): New function.
+ (whole_program_function_and_variable_visibility): New function.
+ (pass_ipa_whole_program_visibility): New function.
+ * passes.c (init_optimization_passes): Add whole program visibility
+ pass.
+ (do_per_function_toporder, function_called_by_processed_nodes_p): Do
+ not care about needed/reachable flags.
+ * varpool.c: Include flags.h
+ (decide_is_variable_needed): When doing LTO assume whole-program mode.
+ (varpool_finalize_decl): When we are in LTO read-back, all variables
+ are analyzed.
+ (varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
+
+2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
+ add MASK_HARD_DFP.
+
+2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config.gcc: Don't include the makefile fragments intended for
+ libgcc.
+ * config/s390/fixdfdi.h: File removed.
+ * config/s390/libgcc-glibc.ver: File removed.
+ * config/s390/s390.h: Remove the fixdfdi.h hack.
+ * config/s390/t-crtstuff: File moved to libgcc dir.
+ * config/s390/t-linux: Likewise.
+ * config/s390/t-tpf: libgcc specific parts removed.
+ * config/s390/t-linux64: Likewise.
+
+2009-10-06 Jerry Quinn <jlquinn@optonline.net>
+
+ * Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
+ (lto-compress.o): Likewise.
+
+2009-10-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/41512
+ * config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't propagate
+ dllexport to class members here.
+ (i386_pe_determine_dllimport_p): Only check static class data for
+ definition.
+ (i386_pe_encode_section_info): Don't recheck DECL_DLLIMPORT_P.
+ * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Only check
+ functions for vague linkage.
+ (i386_pe_type_dllexport_p): Fix formatting.
+ (maybe_add_dllexport) New function.
+ (i386_pe_adjust_class_at_definition): Use it to propagate dllexport
+ to class members.
+
+2009-10-07 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/a2.md: Remove duplicated lines.
+
+2009-10-07 Ben Elliston <bje@au.ibm.com>
+
+ * config.gcc (powerpc*-*-*): Handle a2.
+ * config/rs6000/rs6000.md (cpu): Add ppca2. Include "a2.md".
+ * config/rs6000/a2.md: New file.
+ * config/rs6000/rs6000.opt (mno-update): New.
+ (mupdate): Return to using a mask, not a var.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for a2.
+ (enum processor_type): Add PROCESSOR_PPCA2.
+ * config/rs6000/rs6000.c (ppca2_cost): New costs.
+ (rs6000_override_options): Add "a2" to processor_target_table.
+ Update rs6000_always_hint logic. Correctly set rs6000_cost for a2.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=a2.
+
2009-10-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):