X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=a0da84880ed70ce84246c84dd0eabe8c7ea4b460;hb=a454baad4ad69b2a27375b5b53d531bc1eb47604;hp=f7768e9d302806b4b1bc97a06a9ec7f3d0e80696;hpb=d990f975def656c3a9ffd06af85fcd0f98896363;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7768e9d302..a0da84880ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,484 @@ +2005-09-14 Olivier Hainque + + * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized + value if it has side-effects. + +2005-09-14 David Edelsohn + + PR target/22068 + * config/rs6000/rs6000.md (muldi3): Add mulli alternative. + +2005-09-14 Alan Modra + + * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name + passed as NAME as if it were label at start of function code. + +2005-09-13 Kaz Kojima + + * config/sh/sh.md (*movv4sf_i): Add general register cases to + the constraints. + +2005-09-13 Andrew Pinski + + * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint + as early clobber. Rewrite so the PIC register is not implicitly used. + +2005-09-13 Volker Reichelt + + * tree.c (annotate_with_file_line): Compare line numbers before + file names. + +2005-09-13 Uros Bizjak + + PR target/23816 + * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3) + (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns. + +2005-09-13 Ian Lance Taylor + + * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather + than a HOST_WIDEST_INT to gen_doloop_begin. + +2005-09-13 Diego Novillo + + * tree-dfa.c (dump_variable): Guard against NULL annotations. + +2005-09-13 Zdenek Dvorak + + PR tree-optimize/23817 + * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa. + +2005-09-13 Alan Modra + + PR target/23774 + * config/rs6000/rs6000.md (restore_stack_block): Write the backchain + word before changing the stack pointer. Use gen_frame_mem for MEMs. + Use UNSPEC_TIE to prevent insn scheduling reordering the insns. + (restore_stack_nonlocal): Likewise. + (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem. + +2005-09-12 Ian Lance Taylor + + PR g++/7874 + * c.opt (ffriend-injection): New C++ option. + * doc/invoke.texi (Option Summary): Mention -ffriend-injection. + (C++ Dialect Options): Document -ffriend-injection. + +2005-09-12 Josh Conner + + PR middle-end/23237 + * ipa-reference.c (static_execute): Don't mark variables in + named sections TREE_READONLY. + +2005-09-12 Alan Modra + + * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for + stack_tie. + +2005-09-12 Andrew Pinski + + * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and + V_MUST_DEF instead of just the first_use_p. + Don't mark the virtual variables for renaming on the statement which + is being removed. + (pass_dse): Remove TODO_update_ssa. + +2005-09-12 J"orn Rennecke + + PR middle-end/23290 + * stor-layout.c (compute_record_mode): For records with a single + field, actually check the field's mode size against the type size. + + * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose + registers for TARGET_SHMEDIA. + (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename + GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union + of GENERAL_REGS and FP_REGS. + +2005-09-12 Bernd Schmidt + + * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem. + +2005-09-12 Alan Modra + + * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using + CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels + are omitted. Exclude stack_tie insn too. + +2005-09-11 David Edelsohn + + PR rtl-optimization/23098 + * config/rs6000/predicates.md (easy_fp_constant): SFmode constant + 0.0f is easy. + * config/rs6000/rs6000.md (movdf splitter): Use + const_double_operand predicate for TARGET_POWERPC64. + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand + SYMBOL_REF method to ABI_V4. + + * config/rs6000/altivec.md (build_vector_mask_for_load): Use + replace_equiv_address. + * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as + rs6000_sr_alias_set and MEM_NOTRAP. + (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem(). + +2005-09-11 Eric Botcazou + + * tree.c (contains_placeholder_p) : Properly + handle CALL_EXPR again. + +2005-09-11 Richard Earnshaw + + * arm/predicates.md (alignable_memory_operand): Delete. + +2005-09-10 Richard Henderson + + PR debug/23806 + * dbxout.c (dbxout_expand_expr): New. + (dbxout_symbol): Use it. + +2005-09-10 Richard Earnshaw + + * arm.c (arm_gen_rotated_half_load): Delete. + (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem. + (emit_multi_reg_push, emit_sfm, arm_expand_prologue) + (thumb_set_return_address): Likewise. + (thumb_load_double_from_address): Use adjust_address. + * arm.md (splits calling arm_gen_rotated_half_load): Delete. + (extendhsisi2_mem, movhi_bytes): Use change_address. + (movhi): Use widen_memory_access. + (reload_out_df): Use replace_equiv_address. + * arm-protos.h (arm_gen_rotated_half_load): Delete prototype. + +2005-09-09 Richard Henderson + + PR debug/20998 + * dbxout.c: Include expr.h. + (dbxout_global_decl): Don't suppress for DECL_RTL unset. + (dbxout_symbol): Handle DECL_VALUE_EXPR. + * Makefile.in (dbxout.o): Add EXPR_H. + +2005-09-09 Zdenek Dvorak + + PR tree-optimization/23509 + * tree-cfg.c (replace_uses_by): Use replace_exp. + * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced + pointers have name_mem_tag or type_mem_tag set. + +2005-09-09 Sebastian Pop + + * tree-chrec.c (evolution_function_is_invariant_rec_p): Use + CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead + of wrongly accessing operands. + +2005-09-09 Sebastian Pop + + * Makefile.in (tree-chrec.o): Depends on SCEV_H. + * tree-chrec.c: Include tree-scalar-evolution.h. + (chrec_convert): Instantiate the base and step before calling + scev_probably_wraps_p that would fail on parametric evolutions. + Collect all the fails into a single section failed_to_convert, + print a diagnostic, and return chrec_dont_know instead of calling + fold_convert. + * tree-scalar-evolution.c (loop_closed_phi_def): New. + (instantiate_parameters_1): Avoid instantiation of loop closed ssa + phi nodes. + (scev_const_prop): Don't replace the definition of a loop closed ssa + phi node by itself, or by another loop closed ssa phi node. + * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check + that base and step are defined. + +2005-09-09 Richard Guenther + + PR c++/23624 + * fold-const.c (fold_ternary): Check truth_value_p before + calling invert_truthvalue. + +2005-09-09 Nick Clifton + + * Makefile.in (LIBGCC_DEPS): Add libgcc2.h. + * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed + dimension of these arrays. + * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of + these arrays. + * longlong.h: Only provide a prototype for the __clz_tab[] array + if this header has not been included from libgcc2.h. + * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than + defining own types. + Provide prototypes for exported functions. + Use the __clz_tab[] and __popcount_tab[] arrays provided by + libgcc2.c. + +2005-09-08 Josh Conner + + PR c++/21135 + PR c++/23180 + * expr.c (expand_expr_addr_expr_1): Don't invoke + expand_simple_binop for EXPAND_INITIALIZER. + +2005-09-08 Richard Henderson + + PR debug/23190 + * toplev.c (wrapup_global_declaration_1): Split out ... + (wrapup_global_declaration_2): ... from ... + (wrapup_global_declarations): ... here. Return bool. + (check_global_declaration_1): Split out ... + (check_global_declarations): from here. + (emit_debug_global_declarations): New. + * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2, + check_global_declaration_1, emit_debug_global_declarations): Declare. + * c-decl.c (c_write_global_declarations_1): Don't create a vector + of decls. Call wrapup_global_declaration_1, + wrapup_global_declaration_2, check_global_declaration_1 directly. + (c_write_global_declarations_2): New. + (ext_block): New. + (c_write_global_declarations): Call c_write_global_declarations_2. + * langhooks.c (write_global_declarations): Call + emit_debug_global_declarations. + + * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't + remove decls that have DECL_RTL_SET_P. + * passes.c (rest_of_decl_compilation): Invoke + cgraph_varpool_finalize_decl for all but functions. + +2005-09-08 Eric Botcazou + + * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for + the result of a conversion if the new min and max cannot be compared. + +2005-09-08 Andreas Krebbel + + * config/s390/s390.c (s390_sr_alias_set): Variable removed. + (override_options): Setting s390_sr_alias_set removed. + (save_fpr, save_gprs): Set alias set to vararg or frame. + (restore_fpr, restore_gprs, s390_emit_prologue): Replace + s390_sr_alias_set with get_frame_alias_set (). + (s390_gimplify_va_arg): Replace s390_sr_alias_set with + get_varargs_alias_set (). + +2005-09-08 Andrew Pinski + + PR objc/20574 + PR objc/19324 + * c-parser.c (c_parser_objc_method_definition): If the next + token is not "{", error out and don't start the function. + +2005-09-08 Andrew Pinski + + * tree-vrp.c (extract_range_from_expr): Move the check for non + nullness after the check for gimple invariant. + +2005-09-08 Richard Kenner + + * tree.c (host_integerp, tree_low_cst): Correct function comment. + +2005-09-08 Kazuhiro Inaoka + + PR target/23747 + * config/m32r.md (movmemsi_internal): Canonicalize order of + operands in PLUS component of template. + +2005-09-07 Andreas Krebbel + + * reload1.c (fixup_eh_region_note): Remove assertion. + (fixup_abnormal_edges): Reverted removal of call to + find_many_sub_basic_blocks made on 2005-08-31. + +2005-09-07 Richard Henderson + + * function.c (ARG_POINTER_CFA_OFFSET): Move ... + * defaults.h (ARG_POINTER_CFA_OFFSET): ... here. + (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c. + * dwarf2out.c (struct cfa_loc): Change reg to unsigned int, + rearrange for better packing. + (INCOMING_FRAME_SP_OFFSET): Move to defaults.h. + (lookup_cfa_1): Remove inline marker. + (cfa_equal_p): Split out of ... + (def_cfa_1): ... here. Use INVALID_REGNUM. + (build_cfa_loc): Handle !cfa->indirect. + (frame_pointer_cfa_offset): New. + (dbx_reg_number): Assert register elimination performed; do + leaf register remapping. + (reg_loc_descriptor): Avoid calling dbx_reg_number when unused. + (eliminate_reg_to_offset): New. + (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only + for verifiably local stack frame addresses; re-base to CFA. + (mem_loc_descriptor): Remove can_use_fbreg argument. + (concat_loc_descriptor, loc_descriptor): Likewise. + (containing_function_has_frame_base): Remove. + (rtl_for_decl_location): Don't do register elimination or + leaf register remapping here. + (secname_for_decl): Split out from .. + (add_location_or_const_value_attribute): ... here. + (convert_cfa_to_loc_list): New. + (compute_frame_pointer_to_cfa_displacement): New. + (gen_subprogram_die): Use them. + * tree.h (frame_base_decl): Remove. + * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove. + (prologue_stack_adjust): Remove. + (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET. + (adjust_stack_reference): Re-base memories to arg_pointer_rtx. + (set_frame_base_location): Remove. + (compute_bb_dataflow, emit_notes_in_bb): Don't call it. + (dump_attrs_list, dump_dataflow_set): Use string concatenation. + (vt_add_function_parameters): Don't eliminate_regs. + (vt_initialize): Don't create frame_base_decl. + +2005-09-07 Eric Botcazou + + * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended + version of GNU binutils for 4.x and later. + +2005-09-06 Mark Mitchell + + * ggc-page.c (ggc_push_context): Remove. + (ggc_pop_context): Likewise. + * ggc.h (ggc_push_context): Remove. + (ggc_pop_context): Likewise. + +2005-09-06 Saurabh Verma + + PR target/8973 + * config/arc/arc.c (arc_output_function_epilogue): Update flags while + returning from an interrupt handler. + +2005-09-06 Saurabh Verma + + PR target/8972 + * config/arc/arc.c (output_shift): Add check for loop count when + optimizing. + +2005-09-06 Steven Bosscher + + * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA + form manually. + (abs_replacement): Likewise. + (pass_phiopt): Remove TODO_update_ssa. + +2005-09-06 Jakub Jelinek + + PR c/23075 + * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR + if "return with no value, in function returning non-void" warning + has been issued. + * tree-cfg.c (execute_warn_function_return): Don't look at + RETURN_EXPRs with TREE_NO_WARNING set. + + PR target/22362 + * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm + for internal functions doesn't use registers used by global registers + variables. Use fewer register parameters if there are global register + variables. + +2005-09-06 Olivier Hainque + Eric Botcazou + + PR middle-end/14997 + * expr.c (expand_expr_real) : Force op0 to mem + when we would be extracting outside its bit span (bitpos+bitsize + larger than its mode), possible with some VIEW_CONVERT_EXPRs from + Ada unchecked conversions. + +2005-09-06 Steven Bosscher + + * tree-ssa-pre.c (try_look_through_load): New function. + (compute_avail): Use it to try to look through loads for some + more useful expressions. + +2005-09-06 Saurabh Verma + + * simplify-rtx.c (simplify_binary_operation_1): Correct the + condition for detecting cases like (a&a) and (a^a). + +2005-09-06 Keith Besaw + + * common.opt: Add option ftree-vect-loop-version. + * params.def: Add --param vect-max-version-checks. + * doc/invoke.texi: Document ftree-vect-loop-version and + --param vect-max-version-checks. + * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and + may_misalign_stmts and defines for accessors. + * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for + LOOP_VINFO_MAY_MISALIGN_STMTS. + (destroy_loop_vec_info): VEC_free for + LOOP_VINFO_MAY_MISALIGN_STMTS. + * tree-vect-analyze.c (vect_compute_data_ref_alignment): + Update documentation. + (vect_update_misalignment_for_peel): New. + (vect_enhance_data_refs_alignment): Update to choose loop + peeling or loop versioning if appropriate for the (potentially) + unaligned data references in the loop. + (vect_analyze_data_refs_alignment): Remove call to + vect_enhance_data_refs_alignment so the checks can be done + earlier. + (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment + and move up call to vect_analyze_data_refs_alignment. + * tree-vect-transform.c (vect_create_cond_for_align_checks): New. + (vect_transform_loop): Add call to loop_version. + +2005-09-06 Jakub Jelinek + + PR rtl-optimization/23098 + * cse.c (fold_rtx_mem): Call delegitimize_address target hook. + * simplify-rtx.c (constant_pool_reference_p): New function. + * rtl.h (constant_pool_reference_p): New prototype. + * config/i386/i386.md (pushf split, mov[sdx]f split): Use + constant_pool_reference_p in condition and + avoid_constant_pool_reference in preparation statements. + +2005-09-06 Andreas Krebbel + + * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for + STRICT_LOW_PART SETs. + +2005-09-06 Alan Modra + + PR middle-end/21460 + * except.c (sjlj_emit_function_enter): Find the function begin + note even when it's not in first basic block. + +2005-09-06 Kelley Cook + + * acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET, + AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND. + * aclocal.m4: Regenerate. + +2005-09-05 DJ Delorie + + * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling + of macro. + +2005-09-06 Kazu Hirata + + * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c, + config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c, + config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos. + Follow spelling conventions. + * doc/invoke.texi: Follow spelling conventions. + +2005-09-05 J"orn Rennecke + + * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare. + * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions. + * builtins.c (expand_builtin_return_addr): Use gen_frame_mem. + +2005-09-05 J"orn Rennecke + + PR target/23683 + * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem. + (output_stack_adjust): Use gen_tmp_stack_mem. + (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem. + (sh_set_return_address, sh_allocate_initial_value): Likewise. + (sh_get_pr_initial_val): Likewise. + (sh_builtin_saveregs): Use gen_frame_mem and change_address. + (sh_initialize_trampoline): Likewise. Also use adjust_address. + * sh.md (divsi_inv_m0): Use gen_const_mem. + (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem. + (movdf_i4+1): Use gen_tmp_stack_mem. + (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address. + (fpu_switch+2): Likewise. + (movv4sf_i, movv16sf_i): Use adjust_address. + (symGOT_load): Set MEM_NOTRAP_P bit. + 2005-09-04 John David Anglin PR target/23721 @@ -13,7 +494,7 @@ John David Anglin PR middle-end/23671 - pa.c (emit_move_sequence): Use replace_equiv_address instead of + * pa.c (emit_move_sequence): Use replace_equiv_address instead of gen_rtx_MEM. 2005-09-02 Nicolas Pitre @@ -21,12 +502,6 @@ * config/arm/arm.c (arm_legitimize_address): Limit the value passed to bit_count to 32 bits. -2005-09-02 J"orn Rennecke - - * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare. - * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions. - * builtins.c (expand_builtin_return_addr): Use gen_frame_mem. - 2005-08-31 Mark Mitchell PR c++/23167 @@ -3780,7 +4255,7 @@ * tree-ssa-structalias.c (need_to_solve): Need to check for preds, too. -2005-07-16 Eric Botcazou +2005-07-16 Eric Botcazou * doc/install.texi (*-*-solaris2*): Document recommended version of GNU binutils and mention GNU linker problem on Solaris 10.