X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=c369a6640a2d92413ec76a16ef2c50c58f97b40d;hp=085567351084819a7845263a50cf3fd44a51ce66;hb=b9ed6d8eca6aab2649677c46bbfd5607f8bbadd8;hpb=873cd72c865ea0527d6550ba99a4d3e807c98c34 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 08556735108..c369a6640a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,535 @@ +2010-04-27 Nathan Froyd + + * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration. + +2010-04-27 Martin Jambor + + PR middle-end/43812 + * ipa.c (dissolve_same_comdat_group_list): New function. + (function_and_variable_visibility): Call + dissolve_same_comdat_group_list when comdat group contains external or + newly local nodes. + * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group + lists are circular and that they contain only DECL_ONE_ONLY nodes. + +2010-04-27 Eric Botcazou + + * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF. + (const_hash_1) : New case. + (compare_constant) : Likewise. + : Deal with LABEL_REFs. + (copy_constant) : New case. + +2010-04-27 Jan Hubicka + + * cgraph.c (cgraph_propagate_frequency): New function. + * cgraph.h (cgraph_propagate_frequency): Declare. + * ipa-inline.c (cgraph_clone_inlined_nodes): Call + cgraph_propagate_frequency. + +2010-04-27 Jakub Jelinek + + * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. + +2010-04-27 Bernd Schmidt + + PR target/40657 + * config/arm/arm.c (thumb1_extra_regs_pushed): New function. + (thumb1_expand_prologue, thumb1_output_function_prologue): Call it + here to determine which regs to push and how much stack to reserve. + +2010-04-27 Jie Zhang + + * doc/gimple.texi (gimple_statement_with_ops): Remove + addresses_taken field. + (gimple_statement_with_memory_ops): Likewise. + +2010-04-27 Jan Hubicka + + * tree-inline.c (eni_inlining_weights): Remove. + (estimate_num_insns): Special case more builtins. + +2010-04-27 Shujing Zhao + + PR c/32207 + * c-typeck.c (build_binary_op): Move forward check for comparison + pointer with null pointer constant and adjust the diagnostic message. + +2010-04-27 Dave Korn + + PR lto/42776 + * configure.ac (gcc_cv_as_section_has_align): Set if installed + binutils supports extended .section directive needed by LTO, or + warn if older binutils found. + (LTO_BINARY_READER): New AC_SUBST'd variable. + (LTO_USE_LIBELF): Likewise. + * gcc/config.gcc (lto_binary_reader): New target-specific configure + variable. + * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. + (LTO_USE_LIBELF): Likewise. + * configure: Regenerate. + + * collect2.c (is_elf): Rename from this ... + (is_elf_or_coff): ... to this, and recognize and allow i386 COFF + object files in addition to ELF-formatted ones. + (scan_prog_file): Caller updated. Also allow for LTO info marker + symbol to be prefixed or not by an extra underscore. + + * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. + * config/i386/winnt.c: Also #include lto-streamer.h + (i386_pe_asm_named_section): Specify 1-byte section alignment for + LTO named sections. + (i386_pe_asm_output_aligned_decl_common): Add comment. + (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. + +2010-04-27 Hans-Peter Nilsson + + PR target/43889 + * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): + Add missing earlyclobber for second alternative. + +2010-04-26 Bernd Schmidt + + * df-problems.c (df_simulate_initialize_forwards): Set, don't clear, + bits for artificial defs at the top of the block. + * fwprop.c (single_def_use_enter_block): Don't call it. + +2010-04-26 Jack Howarth + + PR 43715 + * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin + instead of "$gcc_cv_objdump -T". + Use "-undefined dynamic_lookup" on darwin. + * gcc/configure: Regenerate. + +2010-04-26 Jakub Jelinek + + PR c/43893 + * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. + +2010-04-26 Nathan Froyd + + * c-parser.c (struct c_token): Move location field up. + * c-tree.h (struct c_typespec): Move expr_const_operands field up. + (struct c_declspecs): Convert typespec_word, storage_class, and + default_int_p into bitfields. + (struct c_declarator): Move loc field up. + +2010-04-26 Nathan Froyd + + * cfgloop.h (struct loop): Move can_be_parallel field up. + * ipa-prop.h (struct ip_node_params): Move bitfields up. + * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field + down. + (struct iv_cand): Convert pos field into a bitfield. + * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number + field up. + (struct _stmt_vec_info): Shuffle fields for better packing. + +2010-04-26 Eric Botcazou + + * varasm.c (IN_NAMED_SECTION): Remove guard. + * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to... + (IN_NAMED_SECTION_P): ...this. + (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming. + (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. + +2010-04-26 Eric Botcazou + + * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables. + Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead + of shadowing it. Fix comments. + +2010-04-26 Jan Hubicka + + * cgraph.c (cgraph_create_node): Set node frequency to normal. + (cgraph_clone_node): Copy function frequency. + * cgraph.h (node_frequency): New enum + (struct cgraph_node): Add. + * final.c (rest_of_clean_state): Update. + * lto-cgraph.c (lto_output_node): Output node frequency. + (input_overwrite_node): Input node frequency. + * tre-ssa-loop-ivopts (computation_cost): Update. + * lto-streamer-out.c (output_function): Do not output function + frequency. + * predict.c (maybe_hot_frequency_p): Update and handle functions + executed once. + (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of + attribute lookup. + (probably_never_executed_bb_p, optimize_function_for_size_p): Update. + (compute_function_frequency): Set noreturn functions to be executed + once. + (choose_function_section): Update. + * lto-streamer-in.c (input_function): Do not input function frequency. + * function.c (allocate_struct_function): Do not initialize function + frequency. + * function.h (function_frequency): Remove. + (struct function): Remove function frequency. + * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove. + (try_update): Update. + * tree-inline.c (initialize_cfun): Do not update function frequency. + * passes.c (pass_init_dump_file): Update. + * i386.c (ix86_compute_frame_layout): Update. + (ix86_pad_returns): Update. + +2010-04-26 Jie Zhang + + PR tree-optimization/43833 + * tree-vrp.c (range_int_cst_p): New. + (range_int_cst_singleton_p): New. + (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case + when both operands are constants. Use range_int_cst_p in + BIT_IOR_EXPR case. + +2010-04-26 Jan Hubicka + + * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating. + +2010-04-26 Richard Guenther + + PR lto/43080 + * gimple.c (gimple_decl_printable_name): Deal gracefully + with a NULL DECL_NAME. + +2010-04-26 Richard Guenther + + PR lto/42425 + * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT + if emitting debug information and it is either a function + or a namespace decl. + +2010-04-26 Ira Rosen + + * tree-vectorizer.h (struct _stmt_vec_info): Add new field to + determine if the statement is vectorizable, and a macro to + access it. + * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): + Skip statements that can't be vectorized. If the analysis + fails, mark the statement as unvectorizable if vectorizing + basic block. + (vect_compute_data_refs_alignment): Likewise. + (vect_verify_datarefs_alignment): Skip statements marked as + unvectorizable. Add print. + (vect_analyze_group_access): Skip statements that can't be + vectorized. If the analysis fails, mark the statement as + unvectorizable if vectorizing basic block. + (vect_analyze_data_ref_accesses, vect_analyze_data_refs): + Likewise. + * tree-vect-stmts.c (vectorizable_store): Fix the number of + generated stmts for SLP. + (new_stmt_vec_info): Initialize the new field. + * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize + statements marked as unvectorizable. + +2010-04-25 Joseph Myers + + * c-common.c (flag_isoc1x): New. + (flag_isoc99): Update comment. + * c-common.h (flag_isoc1x): New. + (flag_isoc99): Update comment. + * c-cppbuiltin.c (builtin_define_float_constants): Also define + ___DECIMAL_DIG__. + * c-opts.c (set_std_c1x): New. + (c_common_handle_option): Handle -std=c1x and -std=gnu1x. + (set_std_c89, set_std_c99): Also set flag_isoc1x to 0. + * c.opt (-std=c1x, -std=gnu1x): New options. + * doc/cpp.texi: Mention -std=c1x. + * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document. + * doc/extend.texi: Mention -std=c1x and -std=gnu1x. + * doc/invoke.texi (-std=c1x, -std=gnu1x): Document. + * doc/standards.texi: Mention C1X. + * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, + LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, + LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN): + Define for C1X. + +2010-04-25 Uros Bizjak + + * config/i386/gmon-sol2.c (_mcleanup): Change format string + placeholder from 0x%x to %#x. + * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. + * config/i386/i386.c (ix86_target_string): Ditto. + (output_pic_addr_const): Ditto. + (print_operand): Ditto. + +2010-04-25 Paolo Bonzini + + * combine.c (find_split_point): Add third argument. Use it + to find nested multiply-accumulate instructions. Adjust calls. + (try_combine): Adjust call to find_split_point. + +2010-04-24 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Add Dodji Seketeli. + +2010-04-24 Bernd Schmidt + + PR tree-optimization/41442 + * fold-const.c (merge_truthop_with_opposite_arm): New function. + (fold_binary_loc): Call it. + +2010-04-23 Manuel López-Ibáñez + + * toplev.c (general_init): Set default for fdiagnostics-show-option. + * opts.c (common_handle_option): Allow disabling it. + * common.opt (fdiagnostics-show-option): Add Var. Enabled by default. + +2010-04-23 Eric Botcazou + + * expr.c (expand_expr_real_1) : Only use conversion + between modes if both types are integral. + +2010-04-23 Richard Guenther + + PR tree-optimization/43572 + * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. + +2010-04-23 Richard Guenther + + PR lto/43455 + * tree-inline.c (tree_can_inline_p): Also check compatibility + of return types. + +2010-04-23 Martin Jambor + + PR tree-optimization/43846 + * tree-sra.c (struct access): New flag grp_assignment_read. + (build_accesses_from_assign): Set grp_assignment_read. + (sort_and_splice_var_accesses): Propagate grp_assignment_read. + (enum mark_read_status): New type. + (analyze_access_subtree): Propagate grp_assignment_read, create + accesses also if both direct_read and root->grp_assignment_read. + +2010-04-23 Martin Jambor + + PR middle-end/43835 + * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the + function does not have type attributes. + +2010-04-23 Richard Guenther + + PR lto/42653 + * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT + of FUNCTION_DECLs. + +2010-04-22 Laurynas Biveinis + + * sese.h (create_if_region_on_edge): Remove. + + * sese.c (create_if_region_on_edge): Make static. + + * tree-inline.c: Do not include ggc.h. + + * expr.c: Do not include ggc.h. + + * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from + dependencies. + +2010-04-22 Kaz Kojima + + PR target/43744 + * config/sh/sh.c (find_barrier): Don't emit a constant pool + in the middle of insns for casesi_worker_2. + +2010-04-22 David Edelsohn + + * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS. + +2010-04-22 Ira Rosen + + PR tree-optimization/43842 + * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle + loop unrolling in update of exit phis. Fix comment. + * tree-vect-slp.c (vect_analyze_slp): Check that there are at + least two reduction statements in the loop before starting SLP + analysis. + +2010-04-22 Nick Clifton + + * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko. + +2010-04-22 Alexander Monakov + + * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR + to simplify a + ~a. + +2010-04-22 Laurynas Biveinis + + * tree-parloops.c (loop_parallel_p): New argument + parloop_obstack. Pass it down. + (parallelize_loops): New variable parloop_obstack. Initialize it, + pass it down, free it. + + * tree-loop-linear.c (linear_transform_loops): Pass down + lambda_obstack. + + * tree-data-ref.h (lambda_compute_access_matrices): New argument + of type struct obstack *. + + * tree-data-ref.c (analyze_subscript_affine_affine): New variable + scratch_obstack. Initialize it, pass down, free it. + + * lambda.h (lambda_loop_new): Remove. + (lambda_matrix_new, lambda_matrix_inverse) + (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New + argument of type struct obstack *. + + * lambda-trans.c (lambda_trans_matrix_new): New argument + lambda_obstack. Pass it down, use obstack allocation for ret. + (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass + it down. + + * lambda-mat.c (lambda_matrix_get_column) + (lambda_matrix_project_to_null): Remove. + (lambda_matrix_new): New argument lambda_obstack. Use obstack + allocation for mat. + (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument + lambda_obstack. + + * lambda-code.c (lambda_loop_new): New function. + (lambda_lattice_new, compute_nest_using_fourier_motzkin) + (lambda_compute_auxillary_space, lambda_compute_target_space) + (lambda_loopnest_transform, gcc_loop_to_lambda_loop) + (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack. + (build_access_matrix): New argument lambda_obstack. Use obstack + allocation for am. + (lambda_compute_step_signs, lambda_compute_access_matrices): New + argument lambda_obstack. Pass it down. + +2010-04-22 Bernd Schmidt + + * optabs.h (expand_widening_mult): Declare. + +2010-04-22 Richard Guenther + + PR tree-optimization/43845 + * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly + lookup the CALL_EXPR function and arguments. + +2010-04-22 Nick Clifton + + * config/stormy16/stormy16.c + (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter. + * config/stormy16/stormy16.h: Tidy up formatting. + (DONT_USE_BUILTIN_SETJMP): Remove definition. + * config/stormy16/stormy16.c (cbranchsi4): Delete pattern. + (ineqbranchsi): Delete pattern. + * config/stormy16/stormy16-lib2-ucmpsi2.c: New file. + * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function. + * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add + stormy16-lib2-ucmpsi2.c. + +2010-04-22 Bernd Schmidt + + * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and + df_simulate_find_noclobber_defs as appropriate. Keep track of an + extra set merge_set_noclobber, and use it to relax the final test + slightly. + * df.h (df_simulate_find_noclobber_defs): Declare. + * df-problems.c (df_simulate_find_defs): Don't ignore partial or + conditional defs. + (df_simulate_find_noclobber_defs): New function. + +2010-04-22 Uros Bizjak + + * config/i386/i386.md: Use {} around multi-line preparation statements. + +2010-04-22 Laurynas Biveinis + + * c-tree.h (push_init_level, pop_init_level, set_init_index) + (process_init_element): New argument of type struct obstack *. + + * c-typeck.c (push_init_level, pop_init_level, set_designator) + (set_init_index, set_init_label, set_nonincremental_init) + (set_nonincremental_init_from_string, find_init_member) + (output_init_element, output_pending_init_elements) + (process_init_element): New argument braced_init_obstack. Pass it + down. + (push_range_stack, add_pending_init): New argument + braced_init_obstack. Use obstack allocation. + + * c-parser.c (c_parser_initelt, c_parser_initval): New argument + braced_init_obstack. Pass it down. + (c_parser_braced_init): New variables ret, braced_init_obstack. + Initialize obstack, pass it down and finally free it. + +2010-04-22 Bernd Schmidt + + PR middle-end/29274 + * tree-pass.h (pass_optimize_widening_mul): Declare. + * tree-ssa-math-opts.c (execute_optimize_widening_mul, + gate_optimize_widening_mul): New static functions. + (pass_optimize_widening_mul): New. + * expr.c (expand_expr_real_2) : New case. + : Remove support for widening multiplies. + * tree.def (WIDEN_MULT_EXPR): Tweak comment. + * cfgexpand.c (expand_debug_expr) : Use + simplify_gen_unary rather than directly building extensions. + * tree-cfg.c (verify_gimple_assign_binary): Add tests for + WIDEN_MULT_EXPR. + * expmed.c (expand_widening_mult): New function. + * passes.c (init_optimization_passes): Add pass_optimize_widening_mul. + +2010-04-21 Jan Hubicka + + * timevar.def (TV_WHOPR_WPA_FIXUP): Remove. + * lto-section-in.c (lto_section_name): Remove wpa_fixup. + * lto-wpa-fixup.c: Remove. + * Makefile.in (lto-wpa-fixup.o): Remove. + * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup. + (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA. + * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section. + +2010-04-21 Jan Hubicka + + * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary; + add write_optimization_summary, read_optimization_summary. + (ipa_write_summaries_of_cgraph_node_set): Remove. + (ipa_write_optimization_summaries): Declare. + (ipa_read_optimization_summaries): Declare. + * ipa-cp.c (pass_ipa_cp): Update. + * ipa-reference.c (pass_ipa_reference): Update. + * ipa-pure-const.c (pass_ipa_pure_const): Update. + * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish): + Update. + * ipa-inline.c (pass_ipa_inline): Update. + * ipa.c (pass_ipa_whole_program): Update. + * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update. + * passes.c (ipa_write_summaries_1): Do not test wpa. + (ipa_write_optimization_summaries_1): New. + (ipa_write_optimization_summaries): New. + (ipa_read_summaries): Do not test ltrans. + (ipa_read_optimization_summaries_1): New. + (ipa_read_optimization_summaries): New. + +2010-04-21 Jan Hubicka + + * lto-cgraph.c (lto_output_node): Do not output comdat groups + for boundary nodes. + (output_cgraph): Do not arrange comdat groups for boundary nodes. + +2010-04-21 Jakub Jelinek + + PR debug/40040 + * dwarf2out.c (add_name_and_src_coords_attributes): Add + DW_AT_{,MIPS_}linkage_name even for Fortran decls. + +2010-04-21 Jan Hubicka + + * ipa-prop.c (ipa_edge_removal_hook): Check for bounds. + +2010-04-21 Jan Hubicka + + * varpool.c (decide_is_variable_needed): Variable is always needed + during ltrans. + +2010-04-21 Jan Hubicka + + * opts.c (decode_options): Enable pure-const pass for whopr. + 2010-04-21 Jan Hubicka * cgraph.c (dump_cgraph_node): Dump also assembler name. @@ -34,14 +566,12 @@ * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop last chain entry if it starts with the still current label. (add_location_or_const_value_attribute): Check that - loc_list->first->next is NULL instead of comparing ->first with - ->last. + loc_list->first->next is NULL instead of comparing ->first with ->last. (dwarf2out_var_location): Pass last_label resp. last_postcall_label to add_var_loc_to_decl. * dwarf2out.c (output_call_frame_info): For dw_cie_version - >= 4 add also address size and segment size fields into CIE - header. + >= 4 add also address size and segment size fields into CIE header. * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as long as address size is the same as sizeof (void *) and @@ -294,7 +824,7 @@ PR target/43662 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false. -2010-04-19 Ira Rosen +2010-04-19 Ira Rosen PR tree-optimization/37027 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions @@ -359,7 +889,7 @@ * gcc.c (main): Search for liblto_plugin.so with mode R_OK. -2010-04-18 Ira Rosen +2010-04-18 Ira Rosen PR tree-optimization/43771 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that