X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=20e07e396c4ada5fab7238d4324b1a800acc9313;hp=b6e6a9061ab6e810a3e7269ea21d06a5d4b26ba2;hb=c445c8dabaa2550c4c9e2093e6bf438999d5b946;hpb=ca9b446756c0594ab3c55f190924eec3f10f1a7b diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6e6a9061ab..20e07e396c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,780 @@ +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. + * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice + at WPA dumping. + (cgraph_decide_inlining): Do not expect callee to be removed in all + cases. + +2010-04-21 Eric B. Weddington + + * config/avr/avr-devices.c (avr_mcu_types): Add missing comma. + +2010-04-21 Uros Bizjak + + * config/i386/i386.md (x86_shrd): Add athlon_decode and + amdfam10_decode attributes. + +2010-04-21 Jakub Jelinek + + PR middle-end/43570 + * omp-low.c (scan_sharing_clauses): Don't scan_omp_op + OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. + (lower_copyprivate_clauses): Use private var in outer + context instead of original var. Make sure the types + are correct for VLAs. + +2010-04-21 Richard Guenther + + * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping + to non-pointer objects. + +2010-04-21 Jakub Jelinek + + * 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. + (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. + + * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as + long as address size is the same as sizeof (void *) and + segment size is 0. + * unwind-dw2-fde.c (get_cie_encoding): Likewise. If + address size or segment size is unexpected, return DW_EH_PE_omit. + (classify_object_over_fdes): If get_cie_encoding returned + DW_EH_PE_omit, return -1. + (init_object): If classify_object_over_fdes returned -1, + pretend there were no FDEs at all. + +2010-04-21 Uros Bizjak + + * config/i386/i386.md (bswap2): Macroize expander from + bswap{si,di}2 using SWI48 mode iterator. + (*bswap2_movbe): Macroize insn from *bswap{si,di}_movbe using + SWI48 mode iterator. Set type attribute of bswap insn to bitmanip, + set modrm attribute of bswap insn to 0 and remove length attribute. + (*bswap2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode + iterator. Set type attribute to bitmanip, set modrm attribute to 0, + set mode attribute to and remove length attribute. + +2010-04-20 James E. Wilson + + PR rtl-optimization/43520 + * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with + zero available registers. + +2010-04-20 Kaveh R. Ghazi + + * builtins.c (fold_builtin_cproj): Fold more cases. + +2010-04-20 Kaveh R. Ghazi + + * builtins.c (build_complex_cproj, fold_builtin_cproj): New. + (fold_builtin_1): Fold builtin cproj. + * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL): + Use ATTR_CONST_NOTHROW_LIST. + +2010-04-20 Uros Bizjak + + * config/i386/i386.md (ffs2): Macroize expander from ffs_cmove + and ffsdi2 using SWI48 mode iterator. Expand SImode insn through + ffsi2_no_cmove for !TARGET_CMOVE. + (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public. + (ffssi2): Remove expander. + (*ffs_1): Macroize insn from *ffs{si,di} using SWI48 + mode iterator. + (ctz2): Ditto from ctz{si,di}2. + (clz2): Macroize expander from ctz{hi,si,di}2 using SWI248 + mode iterator. + (clz2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248 + mode iterator. + +2010-04-20 Jakub Jelinek + + * dwarf2out.c (AT_linkage_name): Define. + (clone_as_declaration): Handle DW_AT_linkage_name. + (add_name_and_src_coords_attributes): Use AT_linkage_name instead + of DW_AT_MIPS_linkage_name. + (move_linkage_attr): Likewise. + (dwarf2out_finish): Likewise. + +2010-04-20 Xinliang David Li + + PR middle-end/41952 + * fold-const.c (fold_comparison): New folding rule. + +2010-04-20 Anatoly Sokolov + + * double-int.h (double_int_setbit): Declare. + * double-int.c (double_int_setbit): New function. + * rtl.h (immed_double_int_const): Declare. + * emit-rtl.c (immed_double_int_const): New function. + * builtins.c (expand_builtin_signbit): Clean up, use double_int_* + and immed_double_int_const functions. + * optabs.c (expand_absneg_bit, expand_copysign_absneg, + expand_copysign_bit): (Ditto.). + * simplify-rtx.c (simplify_binary_operation_1): (Ditto.). + * tree-ssa-address.c (addr_for_mem_ref): (Ditto.). + * dojump.c (prefer_and_bit_test): (Ditto.). + * expr.c (convert_modes, reduce_to_bit_field_precision, + const_vector_from_tree): (Ditto.). + * expmed.c (mask_rtx, lshift_value): (Ditto.). + +2010-04-20 Jan Hubicka + + * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin. + (dump_cgraph_node): Dump new flags. + * cgraph.h (struct cgraph_node): Add flags + reachable_from_other_partition and in_other_partition. + (cgraph_can_remove_if_no_direct_calls_p): Functions used by + other partition can not be removed. + * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by + the other partition must be output; silence sanity checking on + leaking functions bodies from other paritition. + * lto-cgraph.c (reachable_from_other_partition_p): New function. + (lto_output_node): Output new flags; do not sanity check that inline + clones are output; drop lto_forced_extern_inline_p code; do not mock + visibility flags at partition boundaries. + (add_node_to): New function. + (output_cgraph): Use it to sort functions so masters appear before + clones. + (input_overwrite_node): Input new flags. + * passes.c (ipa_write_summaries): Do not call + lto_new_extern_inline_states. + * lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states, + lto_delete_extern_inline_states, lto_force_functions_extern_inline, + lto_forced_extern_inline_p): Kill. + * lto-streamer.h (lto_new_extern_inline_states, + * lto_delete_extern_inline_states, lto_force_functions_extern_inline, + lto_forced_extern_inline_p): Kill. + +2010-04-20 Richard Guenther + + * tree-ssa-structalias.c (do_sd_constraint): Add edges only + from vars that can have pointers. + (process_constraint): Dump useless constraints. + +2010-04-20 Richard Guenther + + * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF. + (dump_sa_points_to_info): Remove asserts. + (init_base_vars): nothing_id isn't an escape point nor does it + have pointers. + +2010-04-20 Jakub Jelinek + + * tree.h (TYPE_REF_IS_RVALUE): Define. + * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die, + should_move_die_to_comdat, prune_unused_types_walk): Handle + DW_TAG_rvalue_reference_type like DW_TAG_reference_type. + (modified_type_die, gen_reference_type_die): Emit + DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type + if TYPE_REF_IS_RVALUE and -gdwarf-4. + +2010-04-20 Andreas Krebbel + + PR target/43635 + * config/s390/s390.c (s390_emit_call): Turn direct into indirect + calls for -fpic -m31 if they have been sibcall optimized. + +2010-04-19 James E. Wilson + + * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make + ar.lc fixed and call-used. + + * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define. + +2010-04-19 Jan Hubicka + + * opts.c (decode_options): Disable whpr incompatible passes. + * lto/lto.c (lto_1_to_1_map): Skip clones. + (read_cgraph_and_symbols): Do not mark everything as needed. + (do_whole_program_analysis): Do map only after optimizing; + set proper cgraph_state; use passmanager. + +2010-04-19 DJ Delorie + + * cfgexpand.c (expand_debug_expr): Check for mismatched modes in + POINTER_PLUS_EXPR and fix them. + +2010-04-19 Eric B. Weddington + + * config/avr/avr-devices.c (avr_mcu_types): Add support for new + devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313, + attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a, + atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa, + atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa, + atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p, + atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a, + atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a, + m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1, + atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b. + * config/avr/t-avr.c (MULTILIB_MATCHES): Same. + +2010-04-19 Eric Botcazou + + * ifcvt.c (noce_try_cmove_arith): Fix long lines. + (check_cond_move_block): Likewise. + (cond_move_process_if_block): Likewise. + (noce_find_if_block): Improve formatting. + (find_if_header): Pass 0 to memset and tweak conditions. + (cond_exec_find_if_block): Fix long lines and tweak conditions. + +2010-04-19 Jakub Jelinek + + * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0 + for -gdwarf-4. + + PR middle-end/43337 + * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE + with non-local decl doesn't need chain. + +2010-04-19 Vladimir Makarov + + * ira-color.c (allocno_reload_assign): Avoid accumulating + reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS. + +2010-04-19 Martin Jambor + + * gimple.h (create_tmp_reg): Declare. + * gimplify.c (create_tmp_reg): New function. + (gimplify_return_expr): Use create_tmp_reg. + (gimplify_omp_atomic): Likewise. + (gimple_regimplify_operands): Likewise. + * tree-dfa.c (make_rename_temp): Likewise. + * tree-predcom.c (predcom_tmp_var): Likewise. + (reassociate_to_the_same_stmt): Likewise. + * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise. + (get_replaced_param_substitute): Likewise. + * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. + * tree-ssa-phiopt.c (cond_store_replacement): Likewise. + * tree-ssa-pre.c (get_representative_for): Likewise. + (create_expression_by_pieces): Likewise. + * tree-tailcall.c (adjust_return_value_with_ops): Likewise. + (create_tailcall_accumulator): Likewise. + +2010-04-19 Martin Jambor + + * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update + new_stmt. + (cgraph_materialize_all_clones): Assert !need_ssa_update_p. + +2010-04-19 Richard Guenther + + PR tree-optimization/43796 + * tree-vrp.c (adjust_range_with_scev): Lookup init and step + from SCEV in the lattice. + (vrp_visit_phi_node): Dump change. + +2010-04-19 Richard Guenther + + * configure.ac: Fix quoting around elf_getshstrndx ABI check. + * configure: Re-generated. + +2010-04-19 Richard Guenther + + PR tree-optimization/43783 + * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop + constant ARRAY_REF operands two and three if possible. + +2010-04-19 Uros Bizjak + + PR target/43766 + * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends. + +2010-04-19 Jie Zhang + + PR target/43662 + * reginfo.c (reinit_regs): Set caller_save_initialized_p to false. + +2010-04-19 Ira Rosen + + PR tree-optimization/37027 + * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions + and macro to access it. + (vectorizable_reduction): Add argument. + (vect_get_slp_defs): Likewise. + * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction + statements for possible use in SLP. + (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS. + (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS. + (vect_create_epilog_for_reduction): Handle SLP. Modify documentation, + add new argument. + (vectorizable_reduction): Likewise. + * tree-vect-stmts.c (vect_get_vec_defs): Update call to + vect_get_slp_defs. + (vectorizable_type_demotion, vectorizable_type_promotion, + vectorizable_store): Likewise. + (vect_analyze_stmt): Update call to vectorizable_reduction. + (vect_transform_stmt): Likewise. + * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction. + (vect_build_slp_tree): Fix indentation. Check that there are no loads + from different interleaving chains in same node. + (vect_slp_rearrange_stmts): New function. + (vect_supported_load_permutation_p): Allow load permutations for + reductions. Call vect_slp_rearrange_stmts() to rearrange statements + inside SLP nodes if necessary. + (vect_analyze_slp_instance): Handle reductions. + (vect_analyze_slp): Try to build SLP instances originating from groups + of reductions. + (vect_detect_hybrid_slp_stmts): Skip reduction statements. + (vect_get_constant_vectors): Create initial vectors for reductions + according to reduction code. Add new argument. + (vect_get_slp_defs): Add new argument, pass it to + vect_get_constant_vectors. + (vect_schedule_slp_instance): Remove SLP tree root statements. + +2010-04-19 Jakub Jelinek + + * tree.h (ENUM_IS_SCOPED): Define. + * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class + for ENUM_IS_SCOPED enums. + +2010-04-18 Eric Botcazou + + * fold-const.c (fold_comparison): Use ssizetype. + * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise. + * ipa-prop.c (ipa_modify_call_arguments): Use sizetype. + * tree-loop-distribution.c (build_size_arg_loc): Likewise. + * tree-object-size.c (compute_object_sizes): Use size_type_node. + + * tree.h (initialize_sizetypes): Remove parameter. + (build_common_tree_nodes): Remove second parameter. + * stor-layout.c (initialize_sizetypes): Remove parameter. + Always create an unsigned type. + (set_sizetype): Assert that the passed type is unsigned and simplify. + * tree.c (build_common_tree_nodes): Remove second parameter. + Adjust call to initialize_sizetypes. + * c-decl.c (c_init_decl_processing): Remove second argument in call to + build_common_tree_nodes. + +2010-04-18 Matthias Klose + + * gcc.c (main): Search for liblto_plugin.so with mode R_OK. + +2010-04-18 Ira Rosen + + PR tree-optimization/43771 + * tree-vect-slp.c (vect_supported_load_permutation_p): Check that + load permutation doesn't have gaps. + +2010-04-18 Jan Hubicka + + * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New. + (sse_prologue_save_insn expander): Use new pattern. + (sse_prologue_save_insn1): New pattern and splitter. + (sse_prologue_save_insn): Update to deal also with 64bit aligned + blocks. + * i386.c (setup_incoming_varargs_64): Do not compute jump + destination here. + (ix86_gimplify_va_arg): Update alignment needed. + (ix86_local_alignment): Do not align all local arrays to 128bit. + +2010-04-17 Jan Hubicka + + * ipa-inline.c (cgraph_early_inlining): Handle flattening too. + +2010-04-17 Richard Earnshaw + + * arm.md (negdi2): Remove redundant code to force values into a + register. + +2010-04-17 Richard Earnshaw + + * arm/bpabi.S: Add EABI alignment attributes to objects. + * arm/bpabi-v6m.S: Likewise. + * arm/crti.asm: Likewise. + * arm/crtn.asm: Likewise. + * arm/lib1funcs.asm: Likewise. + * arm/libunwind.S: Likewise. + +2010-04-17 Richard Earnshaw + + * arm-protos.h (tune_params): New structure. + * arm.c (current_tune): New variable. + (arm_constant_limit): Delete. + (struct processors): Add pointer to the tune parameters. + (arm_slowmul_tune): New tuning option. + (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise. + (all_cores): Adjust to pick up the tuning model. + (arm_constant_limit): New function. + (arm_override_options): Select the appropriate tuning model. Delete + initialization of arm_const_limit. + (arm_split_constant): Use the new constant-limit model. + (arm_rtx_costs): Pick up the current tuning model. + * arm.md (is_strongarm, is_xscale): Delete. + * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly + for Xscale variant architectures. + (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM. + +2010-04-17 Ramana Radhakrishnan + + * config/arm/arm.c (arm_gen_constant): Remove unused variable + can_shift. + (arm_rtx_costs_1): Remove unused variable extra_cost. + (arm_unwind_emit_set): Use variable offset. + (thumb1_output_casesi): Remove unused variable flags. + +2010-04-16 Jeff Law + + * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos + needing assignment rather than doing a two-phase assignment. Remove + unused variable 'm'. + 2010-04-16 Jakub Jelinek PR bootstrap/43767 @@ -18,7 +795,7 @@ * config/i386/i386.md (*jcc_bt): Fix build breakage by adding missing left parenthesis. - + 2010-04-16 Uros Bizjak * config/i386/i386.md (*bt): Macroize insn from *btsi and @@ -50,7 +827,7 @@ * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX. - * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx, + * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx, cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in #xx:3 and #xx:4 mode. @@ -62,8 +839,7 @@ 2010-04-16 Rainer Orth - * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx - flavor. + * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. * configure: Regenerate. * config.in: Regenerate. * doc/install.texi (Prerequisites): Document that Solaris 2 libelf @@ -94,8 +870,7 @@ 2010-04-16 Diego Novillo - * doc/invoke.texi: Explain how are unrecognized -Wno- warnings - handled. + * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled. 2010-04-16 Bernd Schmidt @@ -225,8 +1000,7 @@ (dump_points_to_solution): Likewise. * tree-dfa.c (dump_variable): Also dump DECL_PT_UID. * tree-inline.c (remap_ssa_name): Copy IPA points-to solution. - (remap_gimple_stmt): Reset call clobber/use information if - necessary. + (remap_gimple_stmt): Reset call clobber/use information if necessary. (copy_decl_to_var): Copy DECL_PT_UID. (copy_result_decl_to_var): Likewise. * tree.c (make_node_stat): Initialize DECL_PT_UID. @@ -294,7 +1068,7 @@ PR target/43742 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint - in an input-only operand. + in an input-only operand. 2010-04-15 Anatoly Sokolov @@ -303,7 +1077,7 @@ (double_int_negative_p): Convert to static inline function. * double-int.c (double_int_lshift, double_int_lshift): Add new function. (double_int_negative_p): Remove. - * tree.h (lshift_double, rshift_double): + * tree.h (lshift_double, rshift_double): * tree.c (build_low_bits_mask): Clean up, use double_int_* functions. * fold-const.c (fold_convert_const_int_from_real, fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.). @@ -313,7 +1087,7 @@ * expmed.c (mask_rtx, lshift_value): (Ditto.). 2010-04-14 Bernd Schmidt - + PR target/21803 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences at the start and end of the then/else blocks, and omit them from the