X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=ecd37e67aa22cbc9afa7011898bab7cb7154194f;hp=492631db73a892a47d34ef7a4bd4fe1756c8add4;hb=31d32a045ca882131fe4d8b0fb2b78bdfb9c1da2;hpb=69edf6514455c20ff0981e4d95475b02fba8fc4c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 492631db73a..ecd37e67aa2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,482 @@ +2005-08-16 James E Wilson + + PR tree-optimization/21105 + * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in + TREE_OVERFLOW check. + +2005-08-16 David Edelsohn + + * config/rs6000/rs6000.md (ltu): Convert to mode macro. + (neg_ltu): Same. + (gtu): Same. + (neg_gtu): Same. + +2005-08-16 Volker Reichelt + + * builtins.c (expand_builtin_strcat): Remove superfluous call to fold. + (fold_builtin_isdigit): Use fold_buildN. + (build_function_call_expr): Likewise. + * c-typeck.c (c_finish_loop): Likewise. + +2005-08-16 J"orn Rennecke + Richard Shann + + PR middle-end/20396: + * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account. + +2005-08-16 Sebastian Pop + + * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment. + +2005-08-15 Richard Earnshaw + + PR target/23355 + * arm.c (thumb_compute_save_reg_mask): Use similar logic to + arm_compure_save_reg0_reg12_mask to determine when the PIC register + must be saved. + +2005-08-15 John David Anglin + + PR middle-end/23369 + * fold-const.c (build_range_check): Disable optimization for function + pointer expressions on targets that require function pointer + canonicalization. + +2005-08-15 Ulrich Weigand + + * simplify-rtx.c (simplify_const_relational_operation): When + extracting arguments of a COMPARE, recompute the mode as well. + +2005-08-15 Ian Lance Taylor + + * tree.c (build_string): Mark tree CONSTANT and INVARIANT. + +2005-08-15 DJ Delorie + + * config/m32c/mov.md (movqi_op): Immediates can't be moved to + the stack. + (movsi_splittable): Allow, but split, moves to the stack. + * config/m32c/m32c.c (m32c_split_move): Always split moves to the + stack. + +2005-08-15 Kaveh R. Ghazi + + * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete. + * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR. + * system.h (HOST_PTR_PRINTF): Don't define, poison it. + + * bitmap.c, c-decl.c, config/i386/i386-interix.h, + config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c: + Delete HOST_PTR_PRINTF. + + * configure, config.in: Regenerate. + +2005-08-15 David Edelsohn + + * config/rs6000/rs6000.md (QHSI): New mode macro. + (wd): Extend mode attr for QImode and HImode + (dbits): New mode attr. + (zero_extenddi2): Convert to mode macro. + +2005-08-15 Steve Ellcey + + PR target/21841 + * doc/invoke.texi (-mgnu-ld): Update description. + (-mhp-ld): Ditto. + +2005-08-15 Sebastian Pop + + PR 23391 + * Makefile.in (tree-chrec.o): Depends on real.h. + * tree-chrec.c: Include real.h. + (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly, + chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P. + * tree-scalar-evolution.c (add_to_evolution_1, + interpret_rhs_modify_expr): Ditto. + +2005-08-15 Sebastian Pop + + PR 23386 + * tree-data-ref.c (estimate_niter_from_size_of_data): When + step is negative compute the estimation from init downwards to zero. + +2005-08-14 James A. Morrison + + * fold-const (fold_binary): Call fold_build2 instead of fold (build. + +2005-08-14 Ulrich Weigand + + * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P' + constraint. + (legitimate_reload_constant_p): Fix handling of lliXX operands. + Accept double-word constants that can be split. + * config/s390/s390.md ("movti"): Use 'P' constraint. + ("*movdi_31", "*movdf_31"): Likewise. + +2005-08-14 Daniel Berlin + + Fix PR tree-optimization/22615 + + * tree-ssa-structalias.c (solution_set_add): Handle + first_vi_for_offset returning NULL. + (do_da_constraint): Ditto. + (do_sd_constraint): Ditto. + (do_ds_constraint): Ditto + (find_func_aliases): Ditto. + (build_constraint_graph): RHS is allowed be ANYTHING. + (first_vi_for_offset): Return NULL if we couldn't find anything at + the offset. + +2005-08-14 Ulrich Weigand + + * config/s390/s390.c (s390_canonicalize_comparison): Prefer register + over memory as first operand. + +2005-08-14 H.J. Lu + + PR target/23360 + * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is + available for setting it. + +2005-08-14 Ira Rosen + + PR tree-optimization/23320 + * tree-data-ref.c (base_addr_differ_p): Add comment. Check + data-refs' types instead of base object nullness. Add check for + pointer type data-refs before first location comparison. Remove + assert. + +2005-08-14 Andreas Schwab + + * doc/md.texi (Machine Constraints): Fix misplaced @end table. + +2005-08-13 James E Wilson + + * doc/cpp.texi (__SSP__, __SSP_ALL__): Document. + * doc/invoke.texi (-Wstack-protector, -fstack-protector, + -fstack-protector-all, --param ssp-buffer-size): Document. + (-Wvariadic-macros): Alphabetize. + (-fsched-stalled-insns-dep): Add missing 'f'. + + * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect + macros. + +2005-08-13 David Edelsohn + + * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed + or indirect address operand. + (EXTRA_ADDRESS_CONSTRAINT): New. + * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a". + +2005-08-13 Sebastian Pop + + PR tree-optimization/22236 + * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print + successors and predecessors. + * tree-chrec.c (chrec_convert): Before converting, check that + sequences don't wrap. + * tree-data-ref.c (compute_estimated_nb_iterations): Moved ... + (analyze_array): Extern. + (find_data_references_in_loop): Remove call to + compute_estimated_nb_iterations. + * tree-data-ref.h (analyze_array): Declared. + * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand, + single_ssa_def_operand, zero_ssa_operands): Fix documentation. + * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter. + * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry + condition. + * tree-ssa-loop-ivcanon.c: Fix documentation. + * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note. + * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here. + (infer_loop_bounds_from_undefined): New. + (estimate_numbers_of_iterations_loop): Use + infer_loop_bounds_from_undefined. + (used_in_pointer_arithmetic_p): New. + (scev_probably_wraps_p): Pass an extra parameter. Call + used_in_pointer_arithmetic_p. Check that AT_STMT is not null. + (convert_step): Fix documentation. + * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters. + Use initial_condition_in_loop_num and evolution_part_in_loop_num + instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to + scev_probably_wraps_p. + +2005-08-13 Ulrich Weigand + + * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change. + (s390_register_info): Ignore clobbered_regs information for fixed + registers, and only fixed registers. + (s390_init_frame_layout): Remove redundant call. + +2005-08-12 Gerald Pfeifer + + * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to + description of -Wold-style-casts. + +2005-08-12 Andreas Krebbel + Jakub Jelinek + + * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define. + * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added. + * config/s390/s390.c (print_operand): New output modifier 'G' added. + (get_thread_pointer): Renamed to s390_get_thread_pointer. + * config/s390/s390.md (stack_protect_set, stack_protect_test): If + TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to + (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))). + (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants. + ("stack_protect_set", "stack_protect_test"): New expanders. + ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi", + "stack_protect_testdi"): New insn definitions. + +2005-08-12 Andreas Krebbel + + * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K. + +2005-08-12 Paul Brook + + * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set. + +2005-08-12 Andreas Krebbel + + * config/s390/predicates.md (setmem_operand): New predicate. + (shift_count_operand): Accept ANDs with special constants as + operand. + * config/s390/s390.c (print_shift_count_operand): Skip ANDs + with special constants. + * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced + shift_count_operand with setmem_operand. + +2005-08-12 Andreas Krebbel + + * config/s390/s390.c (s390_extract_part, s390_single_part): + Type cast added. + (s390_const_ok_for_constraint_p): Added SImode to the N constraint. + (s390_output_mi_thunk): Don't use lg on 31 bit. + * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy. + ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH. + +2005-08-12 Andreas Krebbel + + * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros. + (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p, + s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue, + s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P + with one of the new macros. + +2005-08-12 Andreas Krebbel + + * config/s390/s390.c (s390_split_branches, s390_init_frame_layout): + Don't set save_return_addr_p. + (s390_register_info): Make clobbered_regs not depending on + save_return_addr_p. + +2005-08-12 Kaz Kojima + + * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }. + (LINK_COMMAND_SPEC): Add space after %(link_ssp). + +2005-08-11 James E. Wilson + + * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New. + +2005-08-11 Jakub Jelinek + + * dwarf2out.c (add_location_or_const_value_attribute): Prefer + locations gathered by var-tracking in single entry loc_list + over loc_descriptor_from_tree. + + * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument, + pass it down to loc_descriptor. + (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor. + (containing_function_has_frame_base): Move earlier in the file. + (loc_descriptor_from_tree_1): Use containing_function_has_frame_base + instead of always assuming fbreg can't be used. + +2005-08-11 David Edelsohn + + * config/rs6000/altivec.md: Change constraint "m" to "Z". + * config/rs6000/predicates.md (indexed_or_indirect_operand): + Accept address wrapped in AND for Altivec. + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): + Strip AND wrapping offset address for Altivec. + +2005-08-11 Richard Henderson + + PR middle-end/23312 + * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE + before using TYPE_IS_SIZETYPE. + +2005-08-11 Richard Henderson + + PR target/22225 + * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for + insn types not present on ev4. + (alphaev5_insn_pipe): Similarly. + +2005-08-11 Richard Earnshaw + + PR target/23250 + * arm.c (arm_override_options): If the user has selected callee-super- + interworking, then enable normal interworking. + +2005-08-11 Rainer Orth + + * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before + redefinition. + +2005-08-11 Wu Zhou + + * doc/rtl.texi: Fix two typos. + +2005-08-11 Richard Guenther + + PR target/23289 + * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle + cases where we call to/from functions returning void. + +2005-08-10 James A. Morrison + + PR c++/23225 + * tree.c (build_pointer_type_for_mode): Robustify. + +2005-08-10 James E Wilson + + * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h + (ASM_OUTPUT_ADDR_VEC_ELT): Delete. + + * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to + "cum->". + +2005-08-10 Eric Christopher + + * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite. + * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use + V2DFmode. + +2005-08-10 Andrew Pinski + + PR target/21887 + * config/darwin.c (machopic_indirect_data_reference): Use a new register + for the high part when generating dynamic-no-pic code. + +2005-08-10 H.J. Lu + + * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file. + (x86_64-*-linux*): Likewise. + + * config/i386/crtfastmath.c: New file. + * config/i386/t-crtfm: Likewise. + + * config/i386/linux.h (ENDFILE_SPEC): New. + * config/i386/linux64.h (ENDFILE_SPEC): Likewise. + + * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add + crtfastmath.o. + +2005-08-10 Dorit Nuzman + + * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus): + (vec_shl, vec_shr): Document new operations. + * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment. + +2005-08-10 David Edelsohn + + * config/rs6000/predicates.md (indexed_or_indirect_address): New. + * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and + change predicate to indexed_or_indirect_address. + +2005-08-10 Richard Sandiford + + * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases. + * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv, + __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4 + and __aeabi_uwrite8. + * config/arm/unaligned-funcs.c: New file. + * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c. + +2005-08-09 Paolo Bonzini + + * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks): + Add dump. + * cfglayout.c (pass_insn_locators_initialize): Add dump. + * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): + Add dump. + * except.c (pass_convert_to_eh_region_ranges): Add dump. + * final.c (pass_shorten_branches): Add dump. + * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump. + (pass_life): Rename dump. + (rest_of_handle_flow2): Remove initial verify_flow_info. + * function.c (pass_instantiate_virtual_regs): Add dump. + * integrate.c (pass_initial_value_sets): Add dump. + * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump. + * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump. + (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop, + pass_rtl_unroll_and_peel_loops): Rename dump and add gate. + (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop, + gate_rtl_unrool_and_peel_loops): New. + (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops, + rtl_doloop): Do not look at flags. + * mode-switching.c (pass_mode_switching): Add dump. + * recog.c (pass_split_all_insns, pass_split_for_shorten_branches, + pass_split_before_regstack): Add dump. + * regmove.c (pass_stack_adjustments): Add dump. + * tree-optimize.c (pass_fixup_cfg): Add dump. + +2005-08-10 Kazuhiro Inaoka + + PR 23309 + * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when + deciding which instruction sequence to use. + +2005-08-09 Dorit Nuzman + + * tree-vect-transform.c (vect_create_epilog_for_reduction): Set + BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs. + +2005-08-09 Richard Guenther + + * c-common.c (builtin_function_2): Remove. + (def_builtin_1): New function. + (c_common_nodes_and_builtins): Use def_builtin_1 to + build builtin functions. + +2005-08-09 Jie Zhang + + * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define. + * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define. + * config/bfin/bfin.c (bfin_return_in_memory): Update to really match + Visual DSP. + +2005-08-09 James A. Morrison + + * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use + fold_binary instead of fold_build2 since we don't care about the + resulting tree. + (loop_niter_by_eval): Likewise. + (compare_trees): Likewise. + (proved_non_wrapping_p): Likewise. + +2005-08-09 James A. Morrison + + PR c/23161 + PR c/23165 + * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see + if the if is really empty. + +2005-08-09 Steven Bosscher + + PR tree-optimization/23234 + * tree-ssa-math-opts.c (place_reciprocal): New enum. + (execute_cse_reciprocals_1): Replace the 'phi' argument with an + argument of the new enum. + (execute_cse_reciprocals): Add reciprocals for function arguments + on the unique successor edge of the entry block. Update other calls + to execute_cse_reciprocals_1. + +2005-08-08 Richard Henderson + + PR 22439 + * gimplify.c (gimplify_one_sizepos): Preserve the original type. + 2005-08-08 Bob Wilson * expr.c (write_complex_part): Return after handling MEM.