X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=a26d6ddbc8b47b6082fa084673d6ae48987b4e90;hb=e51ee2f19769b27f5073ea789573227a4771e1df;hp=faebb392a8df5dcc79f029c66656b429e7e03d93;hpb=34d17c9b56ee405968c70b0ebb473fec776dbe21;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index faebb392a8d..a26d6ddbc8b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,170 @@ +2009-10-08 Jan Hubicka + + 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 + + * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow + CONST_DOUBLEs. + +2009-10-08 Andreas Tobler + + PR bootstrap/37739 + * config.host: Use config/x-cflags-O1 for powerpc FreeBSD. + +2009-10-07 Joseph Myers + + 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 + + * real.c: Fix comment to reflect actual exponent size. + +2009-10-08 Ben Elliston + + * config/rs6000/a2.md: Add FSF comment header. + +2009-10-07 Uros Bizjak + + * 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. + + (*add3_doubleword): Use DWIH as the base mode iterator. + (*sub3_doubleword): Ditto. + + (mul3): Macroize expander from mul{hi,si,di}3 patterns + using SWIM248 mode iterator. + (*mul3_1): Macroize insn from mul{si,di}3_1 patterns + using SWI48 mode iterator. + (mul3): Macroize expander from {,u}mul{sidi,diti}3 + patterns using DWIH mode iterator and any_extend code iterator. + (mulqihi3): Macroize expander from {,u}mulqihi3 patterns + using any_extend code iterator. + (*mul3_1): Macroize insn from {,u}mul{sidi,diti}3_1 + patterns using DWIH mode iterator and any_extend code iterator. + (*mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns + using any_extend code iterator. + (mul3_highpart): Macroize expander from + {s,u}mul{si,di}3_highpart patterns using DWIH mode iterator + and any_extend code iterator. + (*muldi3_highpart_1): Macroize insn from + *{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator. + (*mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1 + patterns using any_extend code iterator. + (*mulsi3_highpart_zext): Macroize insn from + *{s,u}mulsi3_highpart_zext patterns using any_extend code iterator. + +2009-10-07 Jakub Jelinek + + * 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 + + PR middle-end/22072 + * ira-lives.c (check_and_make_def_conflict): Process all operands. + +2009-10-06 Jan Hubicka + + * cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes + correctly. + +2009-10-06 Uros Bizjak + + * config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext, + *lea_2_rex64): Move before *add_1 pattern. + +2009-10-07 Jan Hubicka + + * collect2.c (main): Add -fno-whole-program. + * gcc.c (set_collect_gcc_options): Do not remove whole program here. + +2009-10-07 Jan Hubicka + + * 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 + + * config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and + add MASK_HARD_DFP. + +2009-10-07 Andreas Krebbel + + * 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 * Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS. @@ -17,8 +184,8 @@ (maybe_add_dllexport) New function. (i386_pe_adjust_class_at_definition): Use it to propagate dllexport to class members. - - 2009-10-07 Ben Elliston + +2009-10-07 Ben Elliston * config/rs6000/a2.md: Remove duplicated lines. @@ -33,10 +200,8 @@ (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. + 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