X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=cda150959898e6f3f39b9b132a8cfcc1c60c17f9;hp=e46891f60bec4b2bb19270f303ad1fe7d2419c6e;hb=ea487923746390bd19e8bc8effd7b972821a9c21;hpb=a147b6e5e62c484eab992a9d130adb02234b3a3f diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e46891f60be..cda15095989 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,707 @@ +2010-04-16 Jakub Jelinek + + PR bootstrap/43767 + * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL. + +2010-04-16 Doug Kwan + + * tree-ssa-reassoc.c (struct operand_entry): Add new field ID. + (next_operand_entry_id): New static variable. + (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs. + (add_to_ops_vec): Assigned unique ID to operand entry. + (struct oecount_s): New field ID. + (oecount_cmp): Stabilize qsort comparotor by using unique IDs. + (undistribute_ops_list): Assign unique IDs to oecounts. + (init_reassoc): reset next_operand_entry_id. + +2010-04-16 Doug Kwan + + * 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 + *btdi_rex64 using SWI48 mode iterator. + (*jcc_bt): Ditto from *jcc_btsi and *jcc_btdi_rex64. + (*jcc_bt_mask): Ditto from *jcc_btsi_mask and + *jcc_btdi_mask_rex64. + +2010-04-16 Anatoly Sokolov + + * double-int.h (tree_to_double_int): Convert to macro. + * double-int.c (tree_to_double_int): Remove. + +2010-04-16 Jakub Jelinek + + PR debug/43762 + * dwarf2out.c (add_bound_info): Always call loc_list_from_tree + with want_address 2 and in case a single element list might be + possible, call it again with want_address 0. + +2010-04-12 Kaushik Phatak + + * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX. + + * 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. + + * config/h8300/h8300.md (inverted load with HImode dest): Add + support for H8300SX. + + * config/h8300/predicate.md (bit_operand): Allow immediate values that + satisfy 'U' constraint. + +2010-04-16 Rainer Orth + + * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx + flavor. + * configure: Regenerate. + * config.in: Regenerate. + * doc/install.texi (Prerequisites): Document that Solaris 2 libelf + works. + +2010-04-16 Richard Guenther + + * tree.h (struct tree_decl_minimal): Move pt_uid ... + (struct tree_decl_common): ... here. + (DECL_PT_UID): Adjust. + (SET_DECL_PT_UID): Likewise. + (DECL_PT_UID_SET_P): Likewise. + +2010-04-16 Richard Guenther + + PR tree-optimization/43572 + * tree-ssa-alias.h (call_may_clobber_ref_p): Declare. + * tree-ssa-alias.c (call_may_clobber_ref_p): Export. + * tree-flow.h (is_call_clobbered): Remove. + * tree-flow-inline.h (is_call_clobbered): Likewise. + * tree-dfa.c (dump_variable): Do not dump call clobber state. + * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle. + (execute_return_slot_opt): Adjust. + * tree-tailcall.c (suitable_for_tail_opt_p): Remove + check for call clobbered vars here. + (find_tail_calls): Move tailcall verification to the + proper place. + +2010-04-16 Diego Novillo + + * doc/invoke.texi: Explain how are unrecognized -Wno- warnings + handled. + +2010-04-16 Bernd Schmidt + + PR target/40603 + * config/arm/arm.md (cbranchqi4): New pattern. + * config/arm/predicates.md (const0_operand, + cbranchqi4_comparison_operator): New predicates. + +2010-04-16 Richard Guenther + + * gimple-pretty-print.c (dump_gimple_phi): Dump alias info. + (dump_gimple_stmt): Likewise. + +2010-04-16 Bernd Schmidt + + * recog.h (struct recog_data): New field is_operator. + (struct insn_operand_data): New field is_operator. + * recog.c (extract_insn): Set recog_data.is_operator. + * genoutput.c (output_operand_data): Emit code to set the + is_operator field. + * reload.c (find_reloads): Use it rather than testing for an + empty constraint string. + + PR target/41514 + * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn". + If the previous insn is a cbranchsi4_insn with the same arguments, + omit the compare instruction. + + * config/arm/arm.md (addsi3_cbranch): If destination is a high + register, inputs must be low registers and we need a low register + scratch. Handle alternative 2 like alternative 3. + +2010-04-16 Jakub Jelinek + + * alias.c (memrefs_conflict_p): If x and y are the same VALUE, + don't call get_addr on both. If one expression is a VALUE and + the other a REG, check VALUE's locs if the REG isn't among them. + +2010-04-16 Christian Bruel + + * config/sh/sh.h (sh_frame_pointer_required): New function. + * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro. + (flag_omit_frame_pointer) Set. + (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set. + (rounded_frame_size): Adjust size with outgoing_args_size. + (sh_set_return_address): Must return from stack pointer. + * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define. + (SUBTARGET_FRAME_POINTER_REQUIRED): Define. + (ACCUMULATE_OUTGOING_ARGS): Define. + * doc/invoke.texi (maccumulate-outgoing-args): Document for SH. + * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option. + +2010-04-15 Kaz Kojima + + PR target/43471 + * config/sh/sh.c (sh_legitimize_reload_address): Use + MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P. + Remove a unneeded check for offset_base. + +2010-04-15 H.J. Lu + + * configure: Regenerated. + +2010-04-15 Andreas Krebbel + + * config/s390/s390.c (s390_call_save_register_used): Switch back + to HARD_REGNO_NREGS. + +2010-04-15 Richard Guenther + + * alias.c (alias_set_subset_of): Handle alias-set zero + child properly. + +2010-04-15 Mark Shinwell + Julian Brown + + * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str + alternatives according to use of high and low regs. + * config/arm/vfp.md (thumb2_movsi_vfp): Likewise. + * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when + optimizing for size on Thumb-2. + +2010-04-15 Thomas Schwinge + + * config.gcc : Handle softfp as for Linux. + +2010-04-15 Richard Guenther + + * tree-ssa-structalias.c (struct variable_info): Add + is_fn_info flag. + (new_var_info): Initialize it. + (dump_constraints): Support printing last added constraints. + (debug_constraints): Adjust. + (dump_constraint_graph): Likewise. + (make_heapvar_for): Check for NULL cfun. + (get_function_part_constraint): New function. + (get_fi_for_callee): Likewise. + (find_func_aliases): Properly implement IPA PTA constraints. + (process_ipa_clobber): New function. + (find_func_clobbers): Likewise. + (insert_into_field_list_sorted): Remove. + (create_function_info_for): Properly allocate vars for IPA mode. + Do not use insert_into_field_list_sorted. + (create_variable_info_for): Properly generate constraints for + global vars in IPA mode. + (dump_solution_for_var): Always dump the solution. + (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode. + (find_what_var_points_to): Adjust. + (pt_solution_set): Change. + (pt_solution_ior_into): New function. + (pt_solution_empty_p): Export. + (pt_solution_includes_global): Adjust. + (pt_solution_includes_1): Likewise. + (pt_solutions_intersect_1): Likewise. + (dump_sa_points_to_info): Check some invariants. + (solve_constraints): Move constraint dumping ... + (compute_points_to_sets): ... here. + (ipa_pta_execute): ... and here. + (compute_may_aliases): Do not re-compute points-to info + locally if IPA info is available. + (ipa_escaped_pt): New global var. + (ipa_pta_execute): Properly implement IPA PTA. + * tree-into-ssa.c (dump_decl_set): Support dumping + decls not in referenced-vars. + * tree-flow.h (struct gimple_df): Add ipa_pta flag. + * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust. + (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. + (copy_decl_to_var): Copy DECL_PT_UID. + (copy_result_decl_to_var): Likewise. + * tree.c (make_node_stat): Initialize DECL_PT_UID. + (copy_node_stat): Copy it. + * tree.h (DECL_PT_UID): New macro. + (SET_DECL_PT_UID): Likewise. + (DECL_PT_UID_SET_P): Likewise. + (struct tree_decl_minimal): Add pt_uid member. + * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag. + (pt_solution_empty_p): Declare. + (pt_solution_set): Adjust. + (ipa_escaped_pt): Declare. + * cfgexpand.c (update_alias_info_with_stack_vars): Adjust. + * gimple-pretty-print.c (pp_points_to_solution): New function. + (dump_gimple_call): Dump call clobber/use information. + * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry. + * tree-pass.h (TDF_ALIAS): New dump option. + * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to. + * doc/invoke.texi (-fipa-pta): Update documentation. + +2010-04-15 Richard Guenther + + * Makefile.in (OBJS-common): Add gimple-fold.o. + (gimple-fold.o): New rule. + * tree.h (maybe_fold_offset_to_reference, + maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move + prototypes ... + * gimple.h: ... here. + * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value, + may_propagate_address_into_dereference): Move prototypes ... + * gimple.h: ... here. + * tree-ssa-ccp.c (get_symbol_constant_value, + may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref, + maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference, + maybe_fold_offset_to_address, maybe_fold_stmt_indirect, + maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen, + ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond, + fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace, + gimplify_and_update_call_from_tree): Move ... + * gimple-fold.c: ... here. New file. + (ccp_fold_builtin): Rename to ... + (gimple_fold_builtin): ... this. + * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust. + +2010-04-15 Richard Guenther + + * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode, + fit_double_type, force_fit_type_double, add_double_with_sign, + neg_double, mul_double_with_sign, lshift_double, rshift_double, + lrotate_double, rrotate_double, div_and_round_double): Move ... + * double-int.c: ... here. + * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign, + add_double, neg_double, mul_double_with_sign, mul_double, + lshift_double, rshift_double, lrotate_double, rrotate_double, + div_and_round_double): Move prototypes ... + * double-int.h: ... here. + +2010-04-15 Bernd Schmidt + + PR target/43742 + * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use + matching constraints to ensure inputs match the output. + +2010-04-15 Kaz Kojima + + PR target/43742 + * config/sh/sh.md (doloop_end_split): Remove "+r" constraint + in an input-only operand. + +2010-04-15 Anatoly Sokolov + + * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define. + (double_int_not, double_int_lshift, double_int_rshift): Declare. + (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.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.). + (lshift_double): Change type of arith argument to bool. + (rshift_double): Change type of arith argument to bool. Correct + comment. + * 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 + conversion. + * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE + argument; all callers changed. Pass zero to old_insns_match_p instead. + (flow_find_head_matching_sequence): New function. + (old_insns_match_p): Check REG_EH_REGION notes for calls. + * basic-block.h (flow_find_cross_jump, + flow_find_head_matching_sequence): Declare functions. + +2010-04-14 Jason Merrill + + PR c++/36625 + * c-common.c (attribute_takes_identifier_p): New fn. + * c-common.h: Declare it. + +2010-04-14 Uros Bizjak + + * config/i386/i386.md (*divmod4): Remove stray "&&" from + splitter condition. + (*udivmod4): Ditto. + +2010-04-14 Uros Bizjak + + * config/i386/i386.md (maxmin_int): Rename code attribute from + maxminiprefix and update all users. + (maxmin_float): Ditto from maxminfprefix. + (logic): Ditto from logicprefix. + (absneg_mnemonic): Ditto from absnegprefix. + * config/i386/mmx.md: Update all users of maxminiprefix, + maxminfprefix and logicprefix for rename. + * config/i386/sse.md: Ditto. + * config/i386/sync.md (sync_): Update for + logicprefix rename. + +2010-04-14 Manuel López-Ibáñez + + PR 42966 + * diagnostics.c (diagnostic_report_diagnostic): Mark specially + warnings converted to errors. + +2010-04-14 Uros Bizjak + + * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not + used insn_type variable. + (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration + to avoid set-but-not-used warning. + +2010-04-14 Uros Bizjak + + * df-core.c (df_ref_debug): Change format string placeholder + from 0x%x to %#x. + * dwarf2asm.c (dw2_asm_output_data_raw, + dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128, + dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto. + * dwarf2out.c (output_cfi, output_cfi_directive, + dwarf2out_do_cfi_startproc, output_loc_sequence_raw, + output_cfa_loc_raw, output_die, output_ranges, output_file_names): + Ditto. + * genattrtab.c (write_test_expr, write_attr_valueq): Ditto. + * print-rtl.c (print_rtx): Ditto. + +2010-04-14 Michael Meissner + + PR middle-end/42694 + * builtins.c (expand_builtin_pow_root): New function to expand pow + calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a + series of sqrt and cbrt calls under -ffast-math. + (expand_builtin_pow): Call it. + +2010-04-14 Michael Matz + + PR tree-optimization/42963 + * tree-cfg.c (touched_switch_bbs): New static variable. + (group_case_labels_stmt): New function broken out from ... + (group_case_labels): ... here, use the above. + (start_recording_case_labels): Allocate touched_switch_bbs. + (end_recording_case_labels): Deallocate it, call + group_case_labels_stmt. + (gimple_redirect_edge_and_branch): Remember index of affected BB. + +2010-04-14 Uros Bizjak + + * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute + from insn template. + +2010-04-14 Uros Bizjak + + * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern. + +2010-04-13 Jan Hubicka + + * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting + of optimized out static functions. + (cgraph_edge_badness): Add DUMP parameter and dump reasons for the + cost computation. Also sanity check for overflows. + (update_caller_keys): Update cgraph_edge_badness call; properly + update fibheap and sanity check that it is up to date. + (add_new_edges_to_heap): Update cgraph_edge_badness. + (cgraph_decide_inlining_of_small_function): Likewise; + add sanity checking that badness in heap is up to date; + improve dumping of reason; Update badness of calls to the + offline copy of function currently inlined; dump badness + of functions not inlined because of unit growth limits. + +2010-04-13 Eric Botcazou + + PR middle-end/32628 + * c-common.c (pointer_int_sum): Disregard overflow that occured only + because of sign-extension change when converting to sizetype here... + * fold-const.c (fold_convert_const_int_from_int): ...and not here. + + * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict + the folding to constants. Remove redundant final conversion. + (fold_binary) : Do not associate if the re-association of + constants alone overflows. + (fold_binary) : Move transformation into BIT_AND_EXPR + to the end of the list. + (multiple_of_p) : New case. + +2010-04-13 Manuel López-Ibáñez + + * opt-functions.awk (opt_sanitized_name): New. + (opt_enum): New. + * optc-gen.awk: Use it + * opth-gen.awk: Use it. + +2010-04-13 Martin Jambor + + * tree-sra.c (replace_uses_with_default_def_ssa_name): New function. + (sra_modify_assign): Delete stmts loading dead data even if racc has no + children. Call replace_uses_with_default_def_ssa_name to handle + SSA_NAES on lhs. + +2010-04-13 Michael Matz + + PR middle-end/43730 + * builtins.c (expand_builtin_interclass_mathfn): Also create + a register if the predicate doesn't match. + +2010-04-13 Diego Novillo + + * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h. + * c-pch.c: Include timevar.h. + (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers. + (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers. + * ggc-common.c: Include timevar.h. + (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers. + * timevar.def (TV_PCH_SAVE): Define. + (TV_PCH_CPP_SAVE): Define. + (TV_PCH_PTR_REALLOC): Define. + (TV_PCH_PTR_SORT): Define. + (TV_PCH_RESTORE): Define. + (TV_PCH_CPP_RESTORE): Define. + +2010-04-13 Michael Matz + + * tree-ssa-reassoc.c (repropagate_negates): Merge negates also + into MINUS_EXPRs. + (can_reassociate_p): New function. + (break_up_subtract_bb, reassociate_bb): Use it. + +2010-04-13 Richard Guenther + + PR bootstrap/43737 + * builtins.c (c_readstr): Fix assert. + +2010-04-13 Uros Bizjak + + * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG + when generating cltd insn. + + (*ashl3_1): Remove special handling for register operand 2. + (*ashlsi3_1_zext): Ditto. + (*ashlhi3_1): Ditto. + (*ashlhi3_1_lea): Ditto. + (*ashlqi3_1): Ditto. + (*ashlqi3_1_lea): Ditto. + (*3_1): Ditto. + (*si3_1_zext): Ditto. + (*qi3_1_slp): Ditto. + (*3_1): Ditto. + (*si3_1_zext): Ditto. + (*qi3_1_slp): Ditto. + +2010-04-13 Richard Guenther + + * tree-ssa-structalias.c (callused_id): Remove. + (call_stmt_vars): New. + (get_call_vi): Likewise. + (lookup_call_use_vi): Likewise. + (lookup_call_clobber_vi): Likewise. + (get_call_use_vi): Likewise. + (get_call_clobber_vi): Likewise. + (make_transitive_closure_constraints): Likewise. + (handle_const_call): Adjust to do per-call call-used handling. + (handle_pure_call): Likewise. + (find_what_var_points_to): Remove general callused handling. + (init_base_vars): Likewise. + (init_alias_vars): Initialize call_stmt_vars. + (compute_points_to_sets): Process call-used and call-clobbered + vars for call statements. + (delete_points_to_sets): Free call_stmt_vars. + +2010-04-13 Richard Guenther + + * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): + Only add RW dependence for dependence distance zero. + Adjust maximal vectorization factor according to dependences. + Move alignment handling ... + (vect_find_same_alignment_drs): ... here. New function. + (vect_analyze_data_ref_dependences): Adjust. + (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs. + (vect_analyze_data_refs): Adjust minimal vectorization factor + according to data references. + * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref + dependences before determining the vectorization factor. + Analyze alignment after determining the vectorization factor. + * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref + dependences before alignment. + * tree-vectorizer.h (vect_analyze_data_ref_dependences): + Adjust prototype. + (vect_analyze_data_refs): Likewise. + (MAX_VECTORIZATION_FACTOR): New define. + +2010-04-13 Duncan Sands + + * except.h (lang_eh_type_covers): Remove. + * except.c (lang_eh_type_covers): Likewise. + +2010-04-13 Andreas Krebbel + Ulrich Weigand + + * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH. + * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with + UNITS_PER_LONG where it is ABI relevant. + (s390_return_addr_rtx): Likewise. + (s390_back_chain_rtx): Likewise. + (s390_frame_area): Likewise. + (s390_frame_info): Likewise. + (s390_initial_elimination_offset): Likewise. + (save_gprs): Likewise. + (s390_emit_prologue): Likewise. + (s390_emit_epilogue): Likewise. + (s390_function_arg_advance): Likewise. + (s390_function_arg): Likewise. + (s390_va_start): Likewise. + (s390_gimplify_va_arg): Likewise. + (s390_function_profiler): Likewise. + (s390_optimize_prologue): Likewise. + (s390_rtx_costs): Likewise. + (s390_secondary_reload): Likewise. + (s390_promote_function_mode): Likewise. + (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH. + (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit + registers available. + (s390_unwind_word_mode): New function. + (s390_function_value): Split 64 bit values into register pair if + used as return value. + (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for + function call parameters. Handle parallels. + (TARGET_SCALAR_MODE_SUPPORTED_P): New macro. + (HARD_REGNO_CALL_PART_CLOBBERED): New macro. + (DWARF_CIE_DATA_ALIGNMENT): New macro. + (s390_expand_setmem): Remove unused variable src_addr. + * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to + deal with 64 bit registers. + * gcc/config/s390/s390.h: Define __zarch__ predefined macro. + Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant. + (UNITS_PER_LONG): New macro. + * libjava/include/s390-signal.h: Define extended ucontext + structure containing the upper halfs of the 64 bit registers. + +2010-04-13 Simon Baldwin + + * cfgexpand.c (gimple_expand_cfg): Clarify warning message text. + +2010-04-13 Eric Botcazou + + * gimple.c (walk_gimple_op) : Do not request a pure + rvalue on the RHS if the LHS is of a non-renamable type. + * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result. + +2010-04-13 Matthias Klose + + * gcc.c (cc1_options): Handle -iplugindir before processing + the cc1 spec. Only add -iplugindir once. + (cpp_unique_options): Add -iplugindir option if -fplugin* options + found. + * common.opt (iplugindir): Remove `Separate' property, initialize. + * plugin.c (default_plugin_dir_name): Error with missing -iplugindir + option. + * Makefile.in (check-%, check-parallel-%): Create plugin dir. + (distclean): Remove plugin dir. + * doc/invoke.texi: Document -iplugindir. + +2010-04-13 Basile Starynkevitch + + * doc/plugins.texi (Loading Plugins): Document short + -fplugin=foo option. + (Plugin API): Mention default_plugin_dir_name function. + + * gcc.c (find_file_spec_function): Add new declaration. + (static_spec_func): Use it for "find-file". + (find_file_spec_function): Add new function. + (cc1_options): Add -iplugindir option if -fplugin* options found. + + * gcc-plugin.h (default_plugin_dir_name): Added new declaration. + + * plugin.c (add_new_plugin): Updated comment, and handle short + plugin name. + (default_plugin_dir_name): Added new function. + + * common.opt (iplugindir): New option to set the plugin directory. + +2010-04-12 Uros Bizjak + + * config/i386/i386.md (any_rotate): New code iterator. + (rotate_insn): New code attribute. + (rotate): Ditto. + (SWIM124): New mode iterator. + (ti3): New expander. + (di3): Macroize expander from {rotl,rotr}di3 using + any_rotate code iterator. + (3) Macroize expander from {rotl,rotr}{qi,hi,si}3 + using any_rotate code iterator and SWIM124 mode iterator. + (ix86_rotlti3): New insn_and_split pattern. + (ix86_rotrti3): Ditto. + (ix86_rotl3_doubleword): Macroize insn_and_split pattern from + ix86_rotl{di,ti}3 patterns. + (ix86_rotr3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns. + (*3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit + and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from + *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate + code iterator and SWI mode iterator. + (*si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext. + Macroize insn from {rotl,rotr}si3_1_zext using any_rotate + code iterator. + (*qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp. + Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator. + (bswap rotatert splitter): Add splitter. + (bswap splitter): Macroize splitter using any_rotate code iterator. + Add insn predicate to split only for TARGET_USE_XCHGB or when + optimizing function for size. + +2010-04-12 Steve Ellcey + + * config/pa/pa.c (emit_move_sequence): Remove use of + deleted variable flag_argument_noalias. + +2010-04-12 Rainer Orth + + * config.gcc: Removed *-*-solaris2.7* from list of obsolete + configurations. + Add to unsupported targets list. + * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*, + sparc*-sun-solaris2.[567]* from target lists. + * configure: Regenerate. + * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7 + removal. + Remove Solaris 7 patch references. + (Specific, sparc-sun-solaris2.7): Removed. + (sparc-sun-solaris2*): Update Solaris 7 example. + (sparc64-*-solaris2*): Likewise. + +2010-04-12 Rainer Orth + + * config.build (alpha*-dec-osf4*): Remove. + * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list + of obsolete configurations. + (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0* + support. + * config/alpha/t-osf4: Renamed to ... + * config/alpha/t-osf5: ... this. + * config/alpha/osf.h: Renamed to ... + * config/alpha/osf5.h: ... this. + Merged old osf5.h contents. + Update comments. + (ASM_SPEC): Use ASM_OLDAS_SPEC directly. + (EXTRA_SPECS): Removed. + * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to + reflect removal of Tru64 UNIX V4.0/V5.0 support. + Document that. + +2010-04-12 Rainer Orth + + * doc/contrib.texi (Contributors, Rainer Orth): Update. + +2010-04-12 Kai Tietz + + PR/43702 + * config/i386/i386.c (x86_this_parameter): Handle aggregate for + __thiscall convention. + 2010-04-12 Steve Ellcey * config/pa/pa.c (hppa_legitimize_address): Remove unused variable @@ -46,8 +750,7 @@ * ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining. * ipa-inline.c (cgraph_mark_inline): Do not return anything. - (cgraph_decide_inlining): Do not handle always-inline - specially. + (cgraph_decide_inlining): Do not handle always-inline specially. (try_inline): Remove always-inline cycle detection special case. Do not recurse on always-inlines. (cgraph_early_inlining): Do not iterate if not optimizing. @@ -102,25 +805,20 @@ * config/i386/i386.md (any_shiftrt): New code iterator. (shiftrt_insn): New code attribute. (shiftrt): Ditto. - (3): Macroize expander from ashr3 and - lshr3 using any_shiftrt code iterator. + (3): Macroize expander from {ashr,lshr}3 + using any_shiftrt code iterator. (*3_doubleword): Macroize insn_and_split from - *ashr3_doubleword and *lshr3_doubleword using - any_shiftrt code iterator. + *{ashr,lshr}3_doubleword using any_shiftrt code iterator. (*3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. - (*3_1): Macroize insn from *ashr3_1 - and *lshr3_1 using any_shiftrt code iterator. - (*si3_1_zext): Ditto from *ashrsi3_1_zext - and *lshrsi3_1_zext. - (*qi3_1_slp): Ditto from *ashrqi3_1_slp - and *lshrqi3_1_slp. - (*3_cmp): Ditto from *ashr3_cmp - and *lshr3_cmp. - (*3_cmp_zext): Ditto from *ashr3_cmp_zext - and *lshr3_cmp_zext. - (*3_cconly): Ditto from *ashr3_cconly - and *lshr3_cconly. + (*3_1): Macroize insn from *{ashr,lshr}3_1 + using any_shiftrt code iterator. + (*si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext. + (*qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp. + (*3_cmp): Ditto from *{ashr,lshr}3_cmp. + (*3_cmp_zext): Ditto from + *{ashr,lshr}3_cmp_zext. + (*3_cconly): Ditto from *{ashr,lshr}3_cconly. 2010-04-11 Uros Bizjak @@ -138,8 +836,8 @@ (*lshr3_doubleword peephole2): Macroize peephole2 pattern from corresponding peephole2 patterns. (*lshr3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and - *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp - and *lshrdi3_cmp_rex64 using SWI mode iterator. + *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1 + and *lshrdi3_1_rex64 using SWI mode iterator. (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext. (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp. (*lshr3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and @@ -166,8 +864,8 @@ (x86_shift_adj_3): Macroize expander from x86_shift_adj_3 and x86_64_shift_adj_3 using SWI48 mode iterator. (*ashr3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and - *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp - and *ashrdi3_cmp_rex64 using SWI mode iterator. + *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1 + and *ashrdi3_1_rex64 using SWI mode iterator. (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext. (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp. (*ashr3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and @@ -191,7 +889,7 @@ (arm_output_addr_const_extra): Output expression for new pattern. * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol. -2010-04-10 Bernd Schmidt +2010-04-10 Bernd Schmidt * ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled. @@ -221,7 +919,7 @@ * ipa-prop.c (ipa_print_node_jump_functions): Likewise. 2010-04-09 Eric Botcazou - Bernd Schmidt + Bernd Schmidt * loop-invariant.c (replace_uses): New static function. (move_invariant_reg): Use it to ensure we can replace the uses. @@ -1755,7 +2453,7 @@ * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an error. -2010-03-19 Bernd Schmidt +2010-03-19 Bernd Schmidt PR rtl-optimization/42258 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a