X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=0476f7d2284a35a8b5c7ce02fe3007bb6a1b3a95;hp=e0a065b7695bf2db28a6aa517cbc258be4ab9ed0;hb=b3937ebd02266e1056e8fa44591abd162da435a8;hpb=d4e7fe89e71e63cc25c26e6652911dc59591d54c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0a065b7695..0476f7d2284 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,803 @@ +2005-04-28 DJ Delorie + + * opt-functions.awk (var_set): Emit proper initializer for + non-target bitfields. + +2005-04-28 Devang Patel + + * dbxout.c (have_used_extensions): Remove. + (dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of + have_used_extensions. + +2005-04-28 James E Wilson + + * doc/install.texi: Update -enable-languages info. Correct path to + html docs. + +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 + gcc_unreachable as appropriate. + (ia64_expand_load_address, ia64_expand_tls_address, + ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare, + ia64_expand_vecint_compare, ia64_expand_vecint_minmax, + next_scratch_gr_reg, ia64_initial_elimination_offset, + ia64_expand_prologue, ia64_expand_epilogue, + ia64_output_dwarf_dtprel, ia64_print_operand, + ia64_register_move_cost, first_instruction, rws_access_regno, + update_set_flags, rtx_needs_barrier, group_barrier_needed_p, + ia64_sched_init, ia64_variable_issue, + ia64_first_cycle_multipass_dfs_lookahead_guard, + ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling, + ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set, + process_for_unwind_directive, ia64_hpux_file_end): Likewise. + * config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. + * config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise. + * config/ia64/predicates.md (got_symbolic_operand, + sdata_symbolic_operand): Likewise. + * config/ia64/vect.md (vcondv2sf): Likewise. + +2005-04-27 Matt Thomas + + * config/vax/vax.c (legitimate_constant_address_p): New. Formerly + CONSTANT_ADDRESS_P in config/vax/vax.h + (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h. + (INDEX_REGISTER_P): New. + (BASE_REGISTER_P): New. + (indirectable_constant_address_p): New. Adapted from + INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h. Use SYMBOL_REF_LOCAL_P. + (indirectable_address_p): New. Adapted from + INDIRECTABLE_ADDRESS_P in vax.h. + (nonindexed_address_p): New. Adapted from + GO_IF_NONINDEXED_ADDRESS in vax.h. + (index_temp_p): New. Adapted from INDEX_TERM_P in vax.h. + (reg_plus_index_p): New. Adapted from GO_IF_REG_PLUS_INDEX in vax.h. + (legitimate_address_p): New. Adapted from + GO_IF_LEGITIMATE_ADDRESS in vax.h. + (vax_mode_dependent_address_p): New. Adapted from + GO_IF_MODE_DEPENDENT_ADDRESS in vax.h. + * config/vax/vax.h (CONSTANT_ADDRESS_P): Use + legitimate_constant_address_p. + (CONSTANT_P): Use legitimate_constant_p. + (INDIRECTABLE_CONSTANT_ADDRESS_P): Removed. + (INDIRECTABLE_ADDRESS_P): Removed. + (GO_IF_NONINDEXED_ADDRESS): Removed. + (INDEX_TEMP_P): Removed. + (GO_IF_REG_PLUS_INDEX): Removed. + (GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p. Two + definitions, depending on whether REG_OK_STRICT is defined. + (GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p. + Two definitions, depending on whether REG_OK_STRICT is defined. + * config/vax/vax-protos.h (legitimate_constant_address_p): Prototype + added. + (legitimate_constant_p): Prototype added. + (legitimate_address_p): Prototype added. + (vax_mode_dependent_address_p): Prototype added. + +2005-04-27 Kazu Hirata + + * tree.h (phi_arg_d): Expand a comment in phi_arg_d. + +2005-04-27 Joseph S. Myers + + PR c/21213 + * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of + transparent union. + +2005-04-27 Joseph S. Myers + + PR c/20740 + * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not + assertion failures, if __gcc_host_wide_int__ is not properly + defined. + (init_dynamic_diag_info): Give errors, not assertion failures, if + location_t, tree or __gcc_host_wide_int__ are not properly + defined. + +2005-04-26 Kazu Hirata + + * tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset, + n_iv_uses, iv_use, n_iv_cands, iv_cand, + tree_ssa_iv_optimize_init, record_use, add_candidate_1, + prepare_decl_rtl, free_loop_data, + tree_ssa_iv_optimize_finalize): Use the VEC API instead of + VARRAY. + + * tree.h (tree_phi_node): Add a comment about the order of PHI + arguments. + +2005-04-26 Paul Brook + + * config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form. + +2005-04-26 Nathan Sidwell + + * config/mips.mips.c (mips_legitimize_tls_address): Use + gcc_unreachable. + + * config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert. + * config/mmix/crti.asm (_init): Reword comment to avoid 'abort'. + * config/mmix/mmix.md (nonlocal_goto_receiver): Likewise. + + * config/sparc/sparc.h (enum reg_class): Reword comment to avoid + 'abort'. + +2005-04-26 Jeff Law + + * tree-flow-inline.h (op_iter_next_must_and_may_def): New. + (op_iter_init_must_and_may_def): Likewise. + (unmodifiable_var_p): Move to a later point in the file. + * tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New. + * tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed. + (dse_record_phis): Directly check for virtual operands rather than + using need_imm_uses_for. + (dse_optimize_stmt): Handle V_MUST_DEF operands. Handle case where + store has multiple V_{MAY,MUST}_DEF operands. + +2005-04-26 Andrew MacLeod + + * tree-cfg.c (bsi_replace): Delink immediate uses for the original + stmt. + +2005-04-26 Kazu Hirata + + * tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a + call to find_edge outside a loop to go through a PHI chain. + +2004-04-26 Richard Guenther + + PR tree-optimization/17598 + * fold-const.c (fold_binary): Fold comparisons of addresses + of COMPONENT_REFs which reference the same field to + comparisons of the addresses of the base objects. + +2005-04-26 Julian Brown + + * config/arm/arm.c (arm_return_in_msb): New function. + (arm_must_pass_in_stack): New function. + (TARGET_RETURN_IN_MSB): Define target hook. + (TARGET_MUST_PASS_IN_STACK): Define target hook. + (arm_function_value): Pad small aggregate return. + (arm_pad_arg_upward): New function. + (arm_pad_reg_upward): New function. + * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values. + (FUNCTION_ARG_PADDING): Define macro. + (BLOCK_REG_PADDING): Define macro. + (PAD_VARARGS_DOWN): Correct padding for AAPCS. + * config/arm/arm-protos.h (arm_pad_arg_upward): Declare function. + (arm_pad_reg_upward): Declare function. + +2005-04-26 Kazu Hirata + + * basic-block.h (ei_cond): New. + (FOR_EACH_EDGE): Call ei_cond. + + PR tree-optimization/21047 + * fold-const.c (fold_binary): Abort on ASSERT_EXPR. + (fold): Don't handle ASSERT_EXPR. + +2005-04-25 Roger Sayle + + * sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat + all writes to any stack register as a read/write dependency on + FIRST_STACK_REG. + (sched_analyze_2): Likewise, for reads from any stack register. + +2005-04-25 Richard Henderson + + * final.c (output_addr_const): Revert 2005-04-09 change. + +2005-04-25 Mike Stump + + * config/darwin.c (darwin_encode_section_info): Always set + MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols. + +2005-04-25 Kaveh R. Ghazi + + * collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c, + gensupport.c, protoize.c, toplev.c: Replace calls to + `unlock_stream' with `unlock_std_streams'. + +2005-04-25 Devang Patel + + * dbxout.c (dbxout_type): Emit attribute vector. + +2005-04-05 Paul Brook + + * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define. + * target.h (struct gcc_target): Add cxx.use_aeabi_atexit. + * config/arm/arm.c (arm_cxx_atexit_name): New function. + (TARGET_CXX_USE_AEABI_ATEXIT): New macro. + * cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit. + (register_dtor_fn): Likewise. + * doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT. + +2005-04-25 Ian Lance Taylor + + * c-common.def (EXPR_STMT): Remove, moved to C++ frontend. + * c-common.h (EXPR_STMT_EXPR): Don't define. + (c_common_stmt_codes): Don't define. + * c-dump.c (c_dump_tree): Remove EXPR_STMT case. + * c-gimplify.c (gimplify_expr_stmt): Remove. + (c_gimplify_expr): Remove EXPR_STMT case. + * c-objc-common.c (c_objc_common_init): Remove stmt_codes and call + to INIT_STATEMENT_CODES. + * c-pretty-print.c (pp_c_statement): Just call dump_generic_node. + +2005-04-25 Jan Hubicka + + * tree-cfg.c (tree_duplicate_bb): Duplicate EH region too. + + * except.c: Include diagnostic.h + (dump_eh_tree, verify_eh_tree): New functions. + * except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare. + * tree-cfg.c (tree_verify_flow_info): verify eh edges. + (dump_function_to_file): dump eh tree. + * tree-eh.c (mark_eh_edge): New function. + (mark_eh_edge_found_error): New static variable. + (verify_eh_edges): New function. + +2005-04-25 Nathan Sidwell + + * tree-ssa-alias.c (fieldoff_t): Remove. + (fieldoff_s): typedef the structure itself. Create a vector of + objects. + (push_fields_onto_fieldstack): Return count of fields pushed. + Remove peeling of first field. Adjust. + (fieldoff_compare): Adjust. + (create_overlap_variables_for): Adjust. + +2005-04-25 Joseph S. Myers + + * doc/invoke.texi (Blackfin Options): Avoid empty @opindex line. + +2005-04-25 Joseph S. Myers + + PR bootstrap/21215 + * doc/install.texi: Document correct assembler and linker to use + on i?86-*-solaris2.10. + +2005-04-25 Steven Bosscher + + Fix PR tree-optimization/21173 + + * tree-ssa-pre.c (create_expression_by_pieces): Simplify code. + Unshare expression we pass to force_gimple_operand. + +2005-04-25 J"orn Rennecke + Stephen Clarke + Roger Sayle + + PR rtl-optimization/20413 + * cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of + VOIDmode for LABEL_REF. + * final.c (shorten_branches): Likewise. + * jump.c (mark_all_labels, redirect_exp_1): Likewise. + * loop.c (reg_dead_after_loop): Likewise. + * varasm.c (decode_addr_const): Likewise. + * doc/rtl.texi: Document mode requirement for LABEL_REF. + +2005-04-25 Ralf Corsepius + + * config.gcc (avr-*-*): Remove redundant "case". + +2005-04-25 Kazu Hirata + + * tree-vect-analyze.c (vect_mark_relevant): Take + VEC(tree,heap) instead of varray_type as an argument. + (vect_mark_stmts_to_be_vectorized): Change the type of + worklist to VEC(tree,heap). Adjust uses of worklist. + +2005-04-24 Devang Patel + + * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. + +2005-04-24 Ian Lance Taylor + + * c-semantics.c (build_stmt): Remove test of specific tree codes + for TREE_SIDE_EFFECTS handling. + +2005-04-24 Per Bothner + + * c-opts.c (finish_options): Make the line-number of the + location 0, as assumed elsewhere, rather than 1. + +2005-04-24 Kazu Hirata + + * tree-ssa-uncprop.c (equiv_stack): Change the type o + VEC(tree,heap). + (tree_ssa_uncprop, uncprop_finalize_block, + uncprop_initialize_block): Update uses of equiv_stack. + +2005-04-24 Richard Henderson + + PR rtl-opt/21163 + * simplify-rtx.c (simplify_binary_operation) : Check + for SCALAR_INT_MODE_P instead of not MODE_CC before returning + constm1_rtx. + : Use CONST0_RTX. + : Use CONST0_RTX and CONST1_RTX. + : Likewise. + +2005-04-24 Kaveh R. Ghazi + + * collect2.c (main): Unlock the stdio streams. + * gcc.c (main): Likewise. + * gcov-dump.c (main): Likewise. + * gcov.c (main): Likewise. + * gen-protos.c (main): Likewise. + * gensupport.c (init_md_reader_args_cb): Likewise. + * protoize.c (main): Likewise. + * toplev.c (general_init): Likewise. + +2005-04-24 Jakub Jelinek + + PR middle-end/20991 + * cgraph.h (cgraph_local_info): Add vtable_method field. + * varasm.c (mark_decl_referenced): If cgraph_global_info_ready + and node is vtable_method, finalized and not reachable, don't do + anything. + +2005-04-24 Kazu Hirata + + * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use + COMPARISON_CLASS_P. + * tree-ssa-pre.c (create_value_expr_from): Use + CONSTANT_CLASS_P and REFERENCE_CLASS_P. + * tree-ssa-propagate.c (stmt_makes_single_load, + stmt_makes_single_store): Use REFERENCE_CLASS_P. + * tree-vect-transform.c (vect_is_simple_cond): Use + COMPARISON_CLASS_P. + * tree-vrp.c (extract_range_from_assert, + build_assert_expr_for, fp_predicate, has_assert_expr): Use + COMPARISON_CLASS_P. + + * tree-ssa-live.c (build_tree_conflict_graph): Change the type + of tpa_to_clear to VEC(int,heap). Update uses of + tpa_to_clear. Free tpa_to_clear at the end. + +2005-04-24 Andrew Pinski + + * tree.h (TREE_THIS_VOLATILE): Document the effect on a + function decl. + +2005-04-24 Nathan Sidwell + + * config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert + and gcc_unreachable as appropriate. + (num_insns_constant, output_vec_const_move, + build_mask64_2_operands, rs6000_output_dwarf_dtprel, + rs6000_emit_set_const, rs6000_emit_move, + spe_build_register_parallel, function_arg, + rs6000_move_block_from_reg, altivec_expand_predicate_builtin, + spe_expand_predicate_builtin, spe_expand_evsel_builtin, + rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins, + rs6000_common_init_builtins, expand_block_clear, + expand_block_move, validate_condition_mode, ccr_bit, extract_MB, + extract_ME, rs6000_get_some_local_dynamic_name, + rs6000_output_function_entry, print_operand, + print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND, + output_cbranch, output_e500_flip_gt_bit, + rs6000_emit_vector_compare, rs6000_emit_vector_compare, + rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move, + compute_save_world_info, rs6000_stack_info, + rs6000_emit_load_toc_table, rs6000_frame_related, + spe_synthesize_frame_save, rs6000_emit_epilogue, + rs6000_output_function_epilogue, rs6000_hash_constant, output_toc, + output_function_profiler, rs6000_trampoline_size, + rs6000_initialize_trampoline, find_addr_reg, + rs6000_machopic_legitimize_pic_address, + rs6000_initial_elimination_offset, + rs6000_dbx_register_number): Likewise. + * config/rs6000/rs6000.md (*fix_truncdfsi2_internal, + *movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal, + *movti_power, *movti_string, call, call_value, sibcall, + sibcall_value): Likewise. + * config/rs6000/spe.md (*movdf_e500_double, + *movv2si_internal): Likewise. + * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort' + from comment. + +2005-04-24 Richard Henderson + + PR target/21101 + * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ... + * config/i386/i386.c (ix86_cannot_change_mode_class): ... here. + Deny modes smaller than 4 bytes. + * config/i386/i386-protos.h: Update. + +2005-04-24 Ralf Corsepius + + * config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*. + Switch h8300-*-rtems* to ELF. + +2005-04-24 Kazu Hirata + + * vec.h (VEC_safe_grow): Replace grow with safe_grow. + +2005-04-23 Kazu Hirata + + * ipa-inline.c, tree-ssa-operands.h: Fix comment typos. + 2005-04-23 Richard Guenther PR middle-end/21082 @@ -61,9 +861,9 @@ 2005-04-23 Richard Henderson - PR rtl-opt/21102 - * simplify-rtx.c (simplify_binary_operation): Fix mode check before - performing some integral scalar simplifications. + PR rtl-opt/21102 + * simplify-rtx.c (simplify_binary_operation): Fix mode check before + performing some integral scalar simplifications. 2005-04-23 Richard Henderson