OSDN Git Service

PR bootstrap/41620
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 684352f..a26d6dd 100644 (file)
@@ -1,3 +1,208 @@
+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):