X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=ac2ac51a264ac4c33b2631c06627e831f6a84470;hp=57444760cb9a860ce99153d0b9956e4ad17b67ec;hb=e6d2bdbb86e229756ba1032ad2baf93769f1fe74;hpb=936f06978404d05541029aea2187945f37790d81 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 57444760cb9..ac2ac51a264 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,502 @@ +2005-05-19 Nick Clifton + + * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use the + new rs6000_explicit_options structure. + +2005-05-19 Richard Henderson + + PR target/21390 + * config/alpha/alpha.c (alpha_emit_conditional_branch): Move + TFmode code swapping ... + (alpha_emit_xfloating_compare): ... here. + (alpha_emit_setcc): Update to match. + (alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS. + +2005-05-19 Richard Henderson + + PR target/21657 + * config/ia64/ia64.c (ia64_expand_tls_address): Remove extra + memory indirection in local-dynamic case. + +2005-05-18 Jie Zhang + Bernd Schmidt + + * config/bfin/bfin.c (branch_dest): Add comment why it's + necessary. + * config/bfin/bfin.md (attr "length" default): Change the offset of + forward conditional branch of length 4 from 4096 to 4092. + +2005-05-19 Jan Beulich + + * unwind-compat.c: Include tconfig.h and tsystem.h. + * unwind-dw2-fde-compat.c: Likewise. + +2005-05-18 Richard Henderson + + PR 21541 + * ifcvt.c (noce_process_if_block): Avoid conversion when the + memory destination is readonly. + +2005-05-18 Richard Henderson + + PR 21541 + * tree-ssa-operands.c (opf_non_specific): New. + (get_asm_expr_operands): Set it. + (add_call_clobber_ops, add_call_read_ops): Likewise. + (add_stmt_operand): Test it instead of opf_kill_def when + considering unmodifiable variables. + + * tree-ssa-operands.c (get_expr_operands): Fix exact test. + +2005-05-19 Kazu Hirata + + * cfgexpand.c, tree-cfg.c, tree-inline.c, tree-optimize.c, + tree-ssa-forwprop.c: Fix comment typos. + * doc/invoke.texi: Fix a typo. + +2005-05-18 Richard Henderson + + * config.gcc (powerpc-*-linux*): Include linux64.opt when + including linux64.h. + +2005-05-18 Richard Henderson + + * tree-cfg.c (pass_remove_useless): Revert last change. + * tree-optimize.c (init_tree_optimization_passes): Initialize + all_lowering_passes with PROP_gimple_any. + +2005-05-18 Devang Patel + + * config/rs6000/rs6000.md (insvsi_internal1): Subtract shift from + the mask end. + +2005-05-18 Richard Henderson + + * tree-ssa-forwprop.c (cfg_changed): New. + (tidy_after_forward_propagate_addr): New. + (forward_propagate_addr_expr): Use it, and fold_stmt_inplace. + (forward_propagate_addr_into_variable_array_index): Likewise. + (tree_ssa_forward_propagate_single_use_vars): Cleanup cfg if + edges were removed. + +2005-05-18 Geoffrey Keating + + * dummy-checksum.c: New. + * genchecksum.c: New. + * c.opt (print_pch_checksum): New flag. + * c-pch.c (struct c_pch_validity): Make much shorter. + (no_checksum): New. + (host_machine): Remove. + (target_machine): Remove. + (get_ident): Change PCH version number. + (pch_init): When -fverbose-asm, print out the compiler fingerprint. + Don't put triplets or version string in PCH validity data. + Do put the compiler checksum in the validity data. + (c_common_valid_pch): Don't check triplets or version string. Do + check checksum. + (c_common_print_pch_checksum): New. + * c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum. + Print fingerprint with -v. + * c-common.h (c_common_print_pch_checksum): New. + (executable_checksum): New. + * Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c. + (cc1-dummy): New rule. + (cc1-checksum.c): New rule. + (cc1-checksum.o): New rule. + (cc1): Add checksum support. + (build/genchecksum): New. + (build/genchecksum.o): New. + (dummy-checksum.o): New. + (genobjnames): Add genchecksum.o. + (mostlyclean): Remove *-checksum.c. + (gnucompare): Add libgcc to list of directories checked. + Make comparison problems in libgcc/ and with checksum files only + be warnings. + * doc/invoke.texi (Precompiled Headers): Remove caution. + Document that it must be the exact same binary. Add a few + known-safe flags to the list. + + * rs6000/predicates.md (fix_trunc_dest_operand): New. + * rs6000/rs6000.md (fix_truncdfsi2): Use fix_trunc_dest_operand. + Check that a memory operand is valid before trying to use it. + + * tree-cfg.c (pass_remove_useless): This pass works on trees. + +2005-05-18 Richard Guenther + + * tree.c (build1_stat): Don't try to handle two-operand + tree codes. + +2005-05-18 Richard Sandiford + + * config.gcc (sh*-*-*): Define SUPPORT_* macros to 1. + * config/sh/sh.h: Update mask names throughout. + (target_flags, ISIZE_BIT, DALIGN_BIT, SH1_BIT, SH2_BIT, SH3_BIT) + (SH_E_BIT, HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, SH4A_BIT, FMOVD_BIT) + (SH5_BIT, SPACE_BIT, BIGTABLE_BIT, RELAX_BIT, USERMODE_BIT) + (HITACHI_BIT, NOMACSAVE_BIT, PREFERGOT_BIT, PADSTRUCT_BIT) + (LITTLE_ENDIAN_BIT, IEEE_BIT, SAVE_ALL_TR_BIT, HARD_SH2A_BIT) + (HARD_SH2A_DOUBLE_BIT, INDEXED_ADDRESS_BIT, PT_FIXED_BIT) + (INVALID_SYMBOLS_BIT, ADJUST_UNROLL_BIT, TARGET_DUMPISIZE) + (TARGET_ALIGN_DOUBLE, TARGET_SH1, TARGET_SH2, TARGET_SH3) + (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH5, TARGET_FMOVD) + (TARGET_IEEE, TARGET_SMALLCODE, TARGET_BIGTABLE, TARGET_RELAX) + (TARGET_HITACHI, TARGET_NOMACSAVE, TARGET_PADSTRUCT) + (TARGET_LITTLE_ENDIAN, TARGET_USERMODE, TARGET_PREFERGOT) + (TARGET_SAVE_ALL_TARGET_REGS, TARGET_ALLOW_INDEXED_ADDRESS) + (TARGET_PT_FIXED, TARGET_INVALID_SYMBOLS, TARGET_ADJUST_UNROLL) + (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E) + (TARGET_SWITCH_SH2A, TARGET_SWITCH_SH2A_SINGLE_ONLY) + (TARGET_SWITCH_SH2A_SINGLE, TARGET_SWITCH_SH2A_NOFPU) + (TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E, TARGET_SWITCH_SH4_SINGLE_ONLY) + (TARGET_SWITCH_SH4_SINGLE, TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4) + (TARGET_SWITCH_SH4A, TARGET_SWITCH_SH4A_SINGLE_ONLY) + (TARGET_SWITCH_SH4A_SINGLE, TARGET_SWITCH_SH4A_NOFPU) + (TARGET_SWITCH_SH4AL, TARGET_SWITCH_SH5_64MEDIA) + (TARGET_SWITCH_SH5_64MEDIA_NOFPU, TARGET_SWITCHES_SH5_32MEDIA) + (TARGET_SWITCHES_SH5_32MEDIA_NOFPU, TARGET_SWITCH_SH5_32_ANY_EXTRA) + (TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA, TARGET_SWITCHES) + (SUBTARGET_SWITCHES): Delete. + (TARGET_SH2E, TARGET_SH2A, TARGET_SH2A_SINGLE, TARGET_SH2A_DOUBLE) + (TARGET_SH3E, TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARVARD) + (TARGET_FPU_DOUBLE, TARGET_SH4A_ARCH, TARGET_SHMEDIA32) + (TARGET_SHMEDIA64): Redefine using other TARGET_* macros. + (TARGET_SH4): Undefine options.h definition and check MASK_SH1 as well. + (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4, SUPPORT_SH4_SINGLE) + (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Make numeric. + (SUPPORT_SH2): Define to 1 if SUPPORT_SH1. + (SUPPORT_SH3): Likewise SUPPORT_SH2. + (SUPPORT_SH4_NOFPU): Likewise SUPPORT_SH3. + (SUPPORT_SH4A_NOFPU, SUPPORT_SH4AL, SUPPORT_SH2A_NOFPU): Likewise + SUPPORT_SH4_NOFPU. + (SUPPORT_SH3E): Likewise SUPPORT_SH2E. + (SUPPORT_SH4_SINGLE_ONLY, SUPPORT_SH4A_SINGLE_ONLY) + (SUPPORT_SH2A_SINGLE_ONLY): Likewise SUPPORT_SH3E. + (SUPPORT_SH4A): Likewise SUPPORT_SH4. + (SUPPORT_SH4A_SINGLE): Likewise SUPPORT_SH4_SINGLE. + (SUPPORT_SH5_32MEDIA): Likewise SUPPORT_SH5_COMPACT. + (SUPPORT_SH5_32MEDIA_NOFPU): Likewise SUPPORT_SH5_COMPACT_NOFPU. + (SUPPORT_ANY_SH5_32MEDIA, SUPPORT_ANY_SH5_64MEDIA) + (SUPPORT_ANY_SH5): New macros. + (TARGET_NONE): Replace with... + (MASK_ARCH): ...this new macro. + * config/sh/elf.h: Update mask names + * config/sh/linux.h: Likewise. + * config/sh/little.h: Likewise. + * config/sh/netbsd-elf.h: Likewise. + * config/sh/symbian-pre.h: Likewise. + * config/sh/sh.c (sh_handle_option): New function. + (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults. + (calc_live_regs): Use MASK_FPU_SINGLE instead of FPU_SINGLE_BIT. + (sh_target_switches, target_switches): Delete. + (sh_pch_valid_p): Check for specific differences in the target_flags + settings. + (sh_init_cumulative_args): Use MASK_HITACHI instead of HITACHI_BIT. + * config/sh/sh.opt: New file. + +2005-05-18 Richard Henderson + + PR target/21632 + * config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use + small_addr_symbolic_operand. + +2005-05-18 Jeff Law + + * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not + propagate an ADDR_EXPR if the definition and use sites are + in different EH regions. + +2005-05-18 Ian Lance Taylor + + * read-rtl.c (mode_attr_index): Use obstack_grow0, not + obstack_grow. + +2005-05-18 Daniel Berlin + + * cfgrtl.c (purge_dead_edges): Don't remove fake edges. + +2005-05-18 Daniel Berlin + + Fix PR tree-optimization/21407 + + * tree-ssa-operands.c (note_addressable): Change + COMPONENT_REF handling in response to aliasing + discussion. + +2005-05-18 Eric Botcazou + + * config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS. + * config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise. + * config/sparc/sp-elf.h (TARGET_DEFAULT): Delete. + * doc/invoke.texi (SPARC options): Document that -mapp-regs is + the default on Solaris too. + +2005-05-17 Daniel Berlin + + * tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR + is okay too. + +2005-05-17 Zdenek Dvorak + + * timevar.def (TV_SCEV_CONST): New timevar. + * tree-optimize.c (init_tree_optimization_passes): Add + pass_scev_cprop. + * tree-pass.h (pass_scev_cprop): Declare. + * tree-scalar-evolution.c (scev_const_prop): New function. + * tree-scalar-evolution.h (scev_const_prop): Declare. + * tree-ssa-loop.c (gate_scev_const_prop, pass_scev_cprop): + New. + * tree-cfg.c (replace_uses_by): Export. + * tree-flow.h (replace_uses_by): Declare. + +2005-05-17 Mike Stump + + Yet more Objective-C++... + + * c-common.h (objc_finish_try_stmt): Add. + (objc_build_synchronized): Add. + (objc_generate_write_barrier): Add. + * stub-objc.c (objc_build_synchronized): Add return value. + (objc_finish_try_stmt): Likewise. + (objc_generate_write_barrier): Add. + + * c-common.h (objc_rewrite_function_call): Add. + * c-typeck.c (build_function_call): Allow objc to rewrite + FUNCTION_DECLs. + (build_modify_expr): Allow objc to generate write barriers. + * c.opt (Wassign-intercept): Add. + (Wstrict-selector-match): Add. + (fobjc-call-cxx-cdtors): Add. + (fobjc-direct-dispatch): Add. + (fobjc-gc): Add. + * dbxout.c (get_lang_number): Add Objective-C++ support. + * doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise. + (-Wstrict-selector-match): Likewise. + (-fobjc-direct-dispatch): Likewise. + (-Wassign-intercept): Likewise. + (Overall Options): Likewise. + * gengtype.c (get_output_file_with_visibility): Likewise. + * stub-objc.c (objc_rewrite_function_call): Add. + * config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support. + + * c-common.c (flag_objc_exceptions): Remove. + (flag_objc_sjlj_exceptions): Remove. + * c-decl.c (objc_mark_locals_volatile): Don't change decls + that are already ok. + * c-opts.c (c_common_handle_option, case + OPT_fobjc_exceptions): Remove. + (case OPT_fobjc_sjlj_exceptions): Remove + * c.opt (fobjc-call-cxx-cdtors): Have opt create the flag. + (fobjc-exceptions): Likewise. + (fobjc-sjlj-exceptions): Likewise. + * config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add. + (OFFS_ASSIGNIVAR_FAST): Add. + +2005-05-17 Eric Botcazou + + * config/sparc/sparc.md (movhi): Do not test constness + of operand #1 twice. + (movsi): Likewise. + (movdi): Unconditionally accept zero as second operand + when the first is memory. + (movdi_insn_sp32): Handle above case. + (DImode splitter): Use predicates. + (DImode splitter): Use const_zero_operand predicate. + (movsf_insn): Swap 2 alternatives. + +2005-05-17 Zdenek Dvorak + + * tree-ssa-loop-ivopts.c (find_bivs, find_givs_in_stmt_scev): Apply + expand_simple_operations to bases of the ivs. + (tree_int_cst_sign_bit): Export. + * tree-flow.h (expand_simple_operations): Declare. + * tree-ssa-loop-niter.c (number_of_iterations_cond): Use + tree_int_cst_sign_bit. + (expand_simple_operations): Export. + * tree.h (tree_int_cst_sign_bit): Declare. + +2005-05-17 Zdenek Dvorak + + * tree-cfg.c (tree_can_merge_blocks_p): Allow phi nodes in the + merged block. + (replace_uses_by): New function. + (tree_merge_blocks): Eliminate the phi nodes in the merged block. + * tree-flow.h (fold_stmt_inplace): Declare. + * tree-ssa-ccp.c (fold_stmt_inplace): New function. + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update dominance + info after cfg cleanup. + +2005-05-17 Zdenek Dvorak + + * cfgloop.h (just_once_each_iteration_p): Declaration changed. + * cfgloopanal.c (just_once_each_iteration_p): Make the loop argument + const. + +2005-05-17 Zdenek Dvorak + + * ggc-page.c (ggc_alloc_stat): Record amount of memory allocated. + * ggc-zone.c (ggc_alloc_zone_1): Ditto. + * timevar.c (timevar_ggc_mem_total): New variable. + (GGC_MEM_BOUND): New constant. + (get_time): Record ggc memory status. + (timevar_accumulate): Accumulate amount of ggc memory. + (timevar_print): Print consumption of ggc memory. + * timevar.def (TV_FIND_REFERENCED_VARS, TV_TREE_REDPHI, + TV_TREE_LOOP_BOUNDS, TV_TREE_LOOP_IVCANON, TV_TREE_VECTORIZATION, + TV_TREE_LINEAR_TRANSFORM): Shorten strings to fit in 22 characters. + * timevar.h (struct timevar_time_def): Add ggc_mem field. + (timevar_ggc_mem_total): Declare. + +2005-05-17 Kazu Hirata + + * tree-into-ssa.c (update_ssa): Clean up by shortening the + live range of DFS. + +2005-05-17 Hans-Peter Nilsson + + * config/cris/cris.md (ncond, ocode, rcond): Remove separate + define_code_attr. + ("b", "b", "b") + ("*b_reversed", "*b_reversed") + ("*b_reversed", "s", "s") + ("s"): Rename from respectively "b", + "b", "b", ("*b_reversed", + "*b_reversed", "*b_reversed", "s", + "s" and "s". + ("b", "*b_reversed") + ("*b_reversed"): Remove extraneous backslashes in + output statement section. + +2005-05-17 Roger Sayle + + * c-typeck.c (common_type): Also handle BOOLEAN_TYPEs. + +2005-05-17 Steven Bosscher + Stuart Hastings + Jan Hubicka + Dale Johannesen + + * cgraph.h (cgraph_node): Add 'lowered' state. + (cgraph_lower_function): Declare. + * cgraphunit.c (cgraph_finalize_function): Initialize lowered flag. + (cgraph_lower_function): New function. + (cgraph_create_edges): Deal with lowered function bodies. + (verify_cgraph_node): Likewise. + (cgraph_analyze_function): Do lowering job. + (cgraph_build_static_cdtor): Likewise. + * function.h (struct function): Add saved_eh and saved_cfg. + * integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field. + * tree-cfg.c (fold_cond_expr_cond): Export. + * tree-flow.h (fold_cond_expr_cond): Declare. + * tree-inline.c: Include basic-block, ggc, tree-flow, except.h and + pointer-set. + (struct_inline_data): Kill fnd, first_inlined_fn, ret_label, + in_target_cleanup_p, tree_pruner, tsi; add callee, caller and + callee_cfun, block, eh_region, eh_region_offset. + (inlining_p): New predicate. + (remap_decl): Update for new inline_data; declare newly created inline + vars in low gimple way. + (copy_body_r): Update for new datastructure, simplify some of handling + when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK; + deal with RESX_EXPRs. + (copy_bb): New. + (copy_edges_for_bb): Likewise. + (remap_decl_1): New. + (copy_cfg_body): New. + (copy_generic_body): Rewrite to work on low gimple. + (copy_body): Turn into simple wrapper around copy_cfg_body. + (setup_one_parameter): Insert new statements into given basic block. + (initialize_initialized_parameters): Likewise, reorganize way things are + gimplified. + (declare_return_variable): Update for new inline data datastructure. + (inline_forbidden_p): Work on low gimple. + (estimate_num_insns): Likewise. + (expand_call_inline): Work on CFG. + (push_cfun, pop_cfun): New functions. + (cfun_stack): New stack. + (add_lexical_block): New function. + (gimple_expand_calls_inline): Work on basic block. + (optimize_inline_calls): Likewise. + (clone_body, save_body, unsave_ewpr_now): Update for new + datastructures. + (declare_inline_vars): Work on block instead of bind_expr. + (inlining_p): New predicate. + * tree-inline.h (push_cfun, pop_cfun): Declare. + * tree-optimize.c: Include except.h + (all_lowering_passes): New variable. + (execute_fixup_cfg, pass_fixup_cfg): New pass. + (init_tree_optimization_passes): Move some to all_lowering_passes. + (tree_lowering_passes): New function. + (tree_rest_of_compilation): Register cfg hooks; save/unsave eh. + * tree-pass.h (tree_lowering_passes): Declare + +2005-05-17 Nathan Sidwell + + * unwind-dw2-fde-darwin.c: Include tsystem.h. + +2005-05-17 Jeff Law + + * Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h. + * tree-ssa-forwprop.c: Include langhooks.h. + (forward_propagate_addr_expr_into_variable_array_index): New. + (forward_propagate_addr_expr): New. + (tree_ssa_forward_propagate_single_use_vars): Loop over all + the statements in the block instead of just the last statement. + Call forward_propagate_addr_expr as needed. + (pass_forwprop): Update the SSA graph after forward propagation is + complete. + +2005-05-17 Nathan Sidwell + + * unwind-dw2-fde-glibc.c (base_from_cb_data, + _Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as + appropriate. + * unwind-dw2-fde.c (__deregister_frame_info_bases, + base_from_object, fde_split, end_fde_sort): Likewise. + * unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op, + execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1, + uw_init_context_1): Likewise. + * unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume, + _Unwind_Resume_or_Rethrow): Likewise. + * unwind-pe.h (__gxx_abort): Do not define. + (size_of_encoded_value, base_of_encoded_value, + read_encoded_value_with_base): Use gcc_unreachable. + * unwind.h (_Unwind_GetTextRelBase): Likewise. + +2005-05-17 Daniel Jacobowitz + + * config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start) + (cfi_end): New macros. + (RETLDM): Use cfi_pop. Expect an eight byte stack frame. + (ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros. Create + an eight byte stack frame. + (__NR_tkill): Define. + (__div0): Use gettid tkill on GNU/Linux. + (_arm_return): Add CFI. + (Lchange_\register, .Lchange_lr): Create an eight byte stack frame. + +2005-05-17 Daniel Jacobowitz + + * configure.ac: Remove spaces around assignment to + gcc_cv_ld_sysroot. + * configure: Regenerated. + +2005-05-17 David Edelsohn + + * config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete. + * config/rs6000/rs6000.c (rs6000_explicit_options): Add + aix_struct_ret. + (rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE. + Modify aix_struct_return variable, not target_flags. + (rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE. + (rs6000_return_in_memory): Test aix_struct_return. + * config/rs6000/rs6000.opt (maix-struct-return): Convert to + independent variable. Report mxl-compat. + +2005-05-17 Bernd Schmidt + + * config/bfin/bfin.md (eh_return): Add missing DONE. + 2005-05-17 Ian Lance Taylor * read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr