OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 23086fa..d448475 100644 (file)
@@ -1,3 +1,287 @@
+2005-05-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * 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  <rth@redhat.com>
+
+       * config.gcc (powerpc-*-linux*): Include linux64.opt when
+       including linux64.h.
+
+2005-05-18  Richard Henderson  <rth@redhat.com>
+
+       * 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  <dpatel@apple.com>
+
+       * config/rs6000/rs6000.md (insvsi_internal1): Subtract shift from
+       the mask end.
+       
+2005-05-18  Richard Henderson  <rth@redhat.com>
+
+        * 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  <geoffk@apple.com>
+
+       * 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  <rguenth@gcc.gnu.org>
+
+       * tree.c (build1_stat): Don't try to handle two-operand
+       tree codes.
+
+2005-05-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * 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  <rth@redhat.com>
+
+       PR target/21632
+       * config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use
+       small_addr_symbolic_operand.
+
+2005-05-18  Jeff Law  <law@redhat.com>
+
+       * 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  <ian@airs.com>
+
+       * read-rtl.c (mode_attr_index): Use obstack_grow0, not
+       obstack_grow.
+
+2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
+
+       * cfgrtl.c (purge_dead_edges): Don't remove fake edges.
+
+2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
+       
+       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  <ebotcazou@libertysurf.fr>
+
+       * 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  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR
+       is okay too.
+
+2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * 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  <mrs@apple.com>
+
+       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  <ebotcazou@libertysurf.fr>
+
+       * 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  <dvorakz@suse.cz>
+
+       * 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  <dvorakz@suse.cz>
+
+       * 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  <dvorakz@suse.cz>
+
+       * 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  <dvorakz@suse.cz>
 
        * ggc-page.c (ggc_alloc_stat): Record amount of memory allocated.
        (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  <nathan@codesourcery.com>