X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=4a0d72375742fa76f97e96ec6b904a026614feb9;hp=368698a40b8a08066f4f291bae8bb01c15e0cf30;hb=c5e839cb5ef14a22e8078adb0ede837f47d750a0;hpb=c5c17bcafb0278f31d2b183e630a8db6fa8a5ad9 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 368698a40b8..4a0d7237574 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,382 @@ +2005-04-28 DJ Delorie + + * optc-gen.awk (END): Make sure no variable is defined more + than once. + * opth-gen.awk (END): Allocate bits on a per-variable basis. + Allow for bitfield variables other than target_flags. + * doc/options.text (Mask): Document that you may specify a + variable other than target_flags. + +2005-04-28 Martin Koegler + + PR rtl-optimization/18877 + * reload.c (decompose) : Handle pseudo reg + number in val.start. + +2005-04-28 David Edelsohn + + PR target/20813 + * config/rs6000/aix43.h (SUBSUBTARGET_SWITCHES, aix64): Add + MASK_PPC_GFXOPT. + * config/rs6000/aix51.h (SUBSUBTARGET_SWITCHES, aix64): Same. + * config/rs6000/aix52.h (SUBSUBTARGET_SWITCHES, aix64): Same. + * config/rs6000/sysv4.h (SUBTARGET_SWITCHES, 64): Same. + +2005-04-28 Richard Earnshaw + + * arm.c (legitimize_pic_address): Fix sense of assertion test for + creating pseudos when the base offset is too large. + +2005-04-28 Kazu Hirata + + * global.c (earlyclobber_regclass): Change the type to + VEC(int,heap). + (check_earlyclobber): Update uses of earlyclobber_regclass. + (mark_reg_use_for_earlyclobber): Likewise. + (calculate_local_reg_bb_info): Allocate and free + earlyclobber_regclass using the VEC API. + +2005-04-28 Nathan Sidwell + + * tree-ssa-alias.c (push_fields_onto_fieldstack): Remove bogus + assert. + +2005-04-28 Kazu Hirata + + * modulo-sched.c, tree-stdarg.c: Use targetm.foo instead of + (*targetm.foo). + + * config.gcc: Obsolete c4x-* and tic4x-*. + + * tree.h (edge_def): Remove. + + * bt-load.c, cfgexpand.c, dwarf2out.c, emit-rtl.c, expr.c, + function.c, global.c, lcm.c, loop-invariant.c, optabs.c, + reorg.c, resource.c, tree-ssa-loop-ivopts.c, value-prof.c: Use + JUMP_P, LABEL_P, REG_P, MEM_P, NONJUMP_INSN_P, and INSN_P + where appropriate. + + * attribs.c, c-pragma.c, caller-save.c, cfghooks.h, + coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c, + errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c, + genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def, + integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c, + machmode.def, mips-tfile.c, params.c, pretty-print.c, + print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h, + tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c, + config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md, + config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h, + config/i386/cygming.h, config/i386/djgpp.h, + config/i386/lynx.h, config/i386/netware.c, + config/i386/winnt.c, config/ia64/ia64-c.c, + config/iq2000/iq2000.c, config/m32r/little.h, + config/m68k/m68k-protos.h, config/m68k/m68k.h, + config/m68k/m68k.md, config/mcore/mcore.c, + config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md, + config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c, + config/mn10300/mn10300.h, config/ns32k/netbsd.h, + config/ns32k/ns32k.c, config/ns32k/ns32k.h, + config/pa/pa-hpux11.h, config/pdp11/pdp11.c, + config/pdp11/pdp11.h, config/rs6000/darwin.h, + config/rs6000/default64.h, config/rs6000/rs6000-c.c, + config/s390/2064.md, config/s390/2084.md, + config/s390/s390-modes.def, config/s390/s390-protos.h, + config/s390/tpf.h, config/sh/sh.h, config/sh/symbian.c, + config/stormy16/stormy16.c, config/vax/vax-protos.h, + config/vax/vax.c, config/vax/vax.h, + config/xtensa/lib1funcs.asm, config/xtensa/xtensa.md: Update + copyright. + +2005-04-28 Joseph S. Myers + + * c-typeck.c (build_compound_expr): Correct logic in last change. + +2005-04-27 James E. Wilson + + * config/ia64/ia64.c (update_set_flags): Delete ppred and pcond + parameters. Replace conditional move code with assert checking for + ar.lc. Delete obsolete comments. + (set_src_needs_barrier): Delete cond parameter, and code using it. + (rtx_needs_barrier): Delete initialization of cond. Fix typo in + assert checking for PR_REGS. Fix calls to update_set_flags and + set_src_needs_barrier. + (group_barrier_needed): Renamed from group_barrier_needed_p. Fix all + callers. Rewrite explanatory comment before the function. + (safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p. + Fix all callers. + +2005-04-27 Mike Stump + + * doc/cpp.texi: gcc now implements universal character names. + +2005-04-27 Joseph S. Myers + + PR c/21159 + * c-typeck.c (build_compound_expr): Don't warn for left-hand side + being a compound expression whose right-hand side is cast to void. + +2005-04-27 Caroline Tice + + * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): + Remove targetm.have_named_sections test. + (fix_edges_for_rarely_executed_code): Likewise. + (insert_section_boundary_note): Likewise. + (reorder_basic_blocks): Check partitioning flag before calling + verify_hot_cold_block_grouping. + * dbxout.c (dbxout_function_end): Get hot/cold section labels from + the function struct rather than global variables. + * dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro. + (COLD_END_LABEL): Likewise + (cold_text_section_label): New static global variable. + (cold_end_label): Likewise. + (dwarf2out_switch_text_section): Get hot/cold section labels from + the function struct rather than global variables; test to make sure + cfun is defined. + (output_aranges): Use cold_text_section_label and cold_end_label; + check partitioning flag before putting out delta. + (output_ranges): Remove incorrect code attempting to use + hot/cold labels. + (output_line_info): Get cold section label from function struct; test + to make sure cfun is defined. + (add_location_or_const_value_attribute): Likewise. + (dwarf2out_var_location): Likewise. + (dwarf2out_init): Generate cold_text_section_label and cold_end_label; + write out cold_text_section_label if partition flag is set. + (dwarf2out_finish): Write out cold_end_label if partition flag is set; + * function.h (struct function): Add new fields to point to hot/cold + section labels: hot_section_label, cold_section_label, + hot_section_end_label and cold_section_end_label; also add new field + for cold text section name, unlikely_text_section_name. + * opts.c (decode_options): Turn off partitioning flag if + !targetm.have_named_sections. + * output.h (hot_section_label): Remove. + (hot_section_end_label): Remove. + (cold_section_end_label): Remove. + (unlikely_section_label): Remove. + (unlikely_text_section_name): Remove. + * passes.c (rest_of_handle_final): Remove extra blank line. + * varasm.c (unlikely_section_label): Remove. + (hot_section_label): Remove. + (hot_section_end_label): Remove. + (cold_section_end_label): Remove. + (unlikely_text_section_name): Remove. + (initialize_cold_section_name): Modify to call + targetm.strip_name_encoding; to store cold section name in current + function struct, if it exists; and to only use the decl_section_name + if flag_named_sections is true. + (unlikely_text_section): Modify to get section name out of current + function struct, if there is one; otherwise build it from + UNLIKELY_EXECUTED_TEXT_SECTION_NAME. + (in_unlikely_text_section): Likewise. + (named_section): Modify to get/put cold section name in current function + struct, if there is one. + (function_section): Change 'bool unlikely' to 'int reloc'; check + targetm.have_named_sections before calling named_section. + (current_function_section): Likewise. + (assemble_start_function): Modify to get/put unlikely_text_section_name + in current function struct; modify to get hot/cold section labels + from function struct; initialize labels using + ASM_GENERATE_INTERNAL_LABEL; + test partitioning flag before writing out hot section label. + (assemble_end_function): Test partitioning flag before writing out + hot/cold section labels. + (default_section_type_flags_1): Get cold text section name from + function struct if there is one; Set flags correctly for + cold text section if there is not a current function struct. + +2005-04-27 Richard Guenther + + * tree-ssa-propagate.c (set_rhs): Revert last change. + +2005-04-27 Steve Ellcey + + * explow.c (convert_memory_address): Add gcc_assert. + +2005-04-27 Mark Mitchell + + * configure.ac: Check for ld --sysroot support. + * gcc.c: Document %R specifier for specs. + (SYSROOT_SPEC): New macro. + (sysroot_spec): New variable. + (static_specs): Add sysroot_spec. + (main): Pass the sysroot spec to the linker if appropriate. + * configure: Regenerated. + * config.in: Likewise. + +2005-04-27 Richard Guenther + + * fold-const.c (fold_binary): Use build_fold_addr_expr + for address calculation and INDIRECT_REF handling. + +2005-04-27 Andrew Haley + + * postreload-gcse.c (hash_scan_set): Remove bogus assertion. + +2005-04-27 Nathan Sidwell + + * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame + pointer when thumb backtracing is on. + + * config/fp-bit.c (abort): Revert change. + +2005-04-27 Ian Lance Taylor + + * c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P. + +2005-04-27 Kazu Hirata + + * tree-ssa-dce.c: Fix a comment typo. + +2005-04-27 David S. Miller + + * explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA): + Kill setjmpless_size. current_function_calls_setjmp is completely + computed when we are called, so just use the optimized size value + instead of using REG_SAVE_AREA notes. + (optimize_save_area_alloca): Delete.... + * rtl.h (optimize_save_area_alloca): Likewise... + * passes.c (rest_of_compilation): and don't call it any more. + * reg-notes.def (SAVE_AREA): Delete. + +2005-04-27 Nathan Sidwell + + * config/fp-bit.c (abort): Add noreturn attribute. + + * config/avr/avr.c (avr_naked_function_p): Use gcc_assert and + gcc_unreachable as appropriate. + (ptrreg_to_str, cond_string, avr_normalize_condition): Likewise. + * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, + ASM_OUTPUT_REG_POP): Likewise. + +2005-04-27 Paolo Bonzini + + * tree-complex.c (expand_vector_operations_1): Do not build + VIEW_CONVERT_EXPR's for the lhs. + +2005-04-27 Nathan Sidwell + + * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove + unnecessary noncanonical RTL handling. + * config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use + gcc_assert and gcc_unreachable. + + * config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and + gcc_unreachable as appropriate. + (THUMB_PRINT_OPERAND_ADDRESS): Likewise. + * config/arm/arm.c (arm_override_options, arm_compute_func_type, + use_return_insn, const_ok_for_op, arm_gen_constant, + arm_canonicalize_comparison, legitimize_pic_address, + thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1, + arm_cirrus_insn_p, cirrus_reorg, minmax_code, + load_multiple_sequence, emit_ldm_seq, store_multiple_sequence, + emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode, + arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi, + move_minipool_fix_forward_ref, move_minipool_fix_backward_ref, + dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg, + fp_immediate_constant, fp_const_from_val, vfp_output_fstmx, + output_call, output_mov_long_double_fpa_from_arm, + output_mov_long_double_arm_from_fpa, + output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa, + output_move_double, arithmetic_instr, shift_op, int_log2, + output_return_instruction, arm_output_function_prologue, + arm_output_epilogue, arm_output_function_epilogue, + emit_multi_reg_push, arm_get_frame_offsets, + arm_compute_initial_elimination_offset, arm_expand_prologue, + arm_print_operand, arm_assemble_integer, get_arm_condition_code, + arm_final_prescan_insn, arm_init_iwmmxt_builtins, + arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p, + thumb_compute_initial_elimination_offset, + thumb_output_function_prologue, thumb_load_double_from_address, + thumb_output_move_mem_multiple, thumb_reload_out_hi, + arm_emit_vector_const, arm_dbx_register_number): Likewise. + * config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise. + * config/arm/arm.md (thumb_extendhisi2, + *thumb_extendhisi2_insn_v6, *thumb_extendqisi2, + *thumb_extendqisi2_v6, movhi, *thumb_movhi_insn, + thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt, + *arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise. + * config/arm/cirrus.md (*cirrus_arm_movdi, + *cirrus_movdf_hard_insn): Likewise. + * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. + +2005-04-27 Kazu Hirata + + * tree-flow.h (ssa_names): Change the type to VEC(tree,gc). + (num_ssa_names): Use VEC_length. + (ssa_names): Use VEC_index. + * tree-ssanames.c (ssa_names): Change the type to + VEC(tree,gc). + (init_ssanames, fini_ssa_names, make_ssanames, + release_ssa_name): Update uses of ssa_names. + + * dojump.c, emit-rtl.c, expmed.c, expr.c, stmt.c, stor-layout.c: + Use fold_buildN instead of fold (buildN (...)). + +2005-04-27 Devang Patel + + * dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions. + +2005-04-27 Matt Thomas + Jan-Benedict Glaw + + * config/vax/vax.c (vax_rtx_costs): Whitespace cleanup. + (vax_output_mi_thunk): Ditto. + (vax_notice_cc_update): Ditto. + (INDEX_REGISTER_P): Add trailing \. + (BASE_REGISTER_P): Add trailing \. + (legitimate_address_p): Whitespace cleanup. Remove trailing \. + +2005-04-27 Richard Guenther + + * tree-ssa-propagate.c (set_rhs): Check operand of + ADDR_EXPR for gimpliness, too. + +2005-04-27 Kazu Hirata + + * tree-ssa-pre.c: Fix a comment typo. + +2005-04-27 Zdenek Dvorak + + PR tree-optimization/21171 + * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not + record address uses if the reference is volatile. + +2004-04-27 Paolo Bonzini + + * tree-complex.c (expand_vector_operation): New, extracted from + expand_vector_operations_1. + (tree_vec_extract): Build a NOP_EXPR. + (expand_vec_parallel): Do not care about returning the correct type. + (expand_vector_operations_1): Call expand_vector_operation. + Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs. + + * tree-complex.c (gate_expand_vector_operations): New. + (pass_lower_vector_ssa): Use it. + * tree-optimize.c (init_tree_optimization_passes): Include + pass_lower_vector_ssa. + * tree-vect-transform.c (vect_min_worthwhile_factor): New. + (vectorizable_operation): Use it. + * tree-vectorizer.c (get_vectype_for_scalar_type): Accept + integer modes for the vector type. + + * defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD. + * tree-vect-analyze.c (vect_enhance_data_refs_alignment): + Do not cope with UNITS_PER_SIMD_WORD == 0. + * tree-vectorizer.c (get_vectype_for_scalar_type): Check + if the scalar type is not bigger than UNITS_PER_SIMD_WORD. + (vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0. + * config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD. + * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise. + * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise. + * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise. + + * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove. + * config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove. + * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove. + + * doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately. + (UNITS_PER_SIMD_WORD): New. + 2005-04-27 Nathan Sidwell * config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and @@ -186,7 +565,7 @@ * dbxout.c (dbxout_type): Emit attribute vector. -2005-04-05 Paul Brook +2005-04-05 Paul Brook * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define. * target.h (struct gcc_target): Add cxx.use_aeabi_atexit.