OSDN Git Service

* darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 11b9bc3..2c0a647 100644 (file)
@@ -1,3 +1,813 @@
+2005-05-26  Mike Stump  <mrs@apple.com>
+
+       * darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
+       for Objective-C++.
+       
+2005-05-26  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+       See through ADDR_EXPR in finding place to propagate into.
+
+2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
+       cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
+       ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
+       tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
+       tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+       tree-ssa-operands.c, tree-vect-analyze.c,
+       tree-vect-transform.c, tree-vectorizer.c, tree.c,
+       config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
+       config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
+       config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+       config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
+       config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+       config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
+       config/sh/ushmedia.h, config/sparc/sparc.c,
+       config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
+       typos.  Follow spelling conventions.
+       * doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
+       Follow spelling conventions.
+
+2005-05-26  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.c (mips_use_ins_ext_p): New helper function
+       that determines whether the MIPS32/64 R2 ext/ins should be used.
+       * config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
+       * config/mips/mips.md (extzv): Changed predicate for operand to
+       nonimmediate_operand. Add code to generate insn patterns for
+       extzvsi and extzvdi.
+       (extzv<mode>): New pattern to match mips32/64 r2 ext insn.
+       (insv): Similarly for insertion.
+       (insv<mode>): Similarly.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (avoid_constant_pool_reference): Support
+       offsetted addresses in the constant pool.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+       * df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+
+2005-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/21716
+       * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
+       found in the basic block and last insn in the basic block is not
+       INSN_P.  Remove explicit unspec numbers that are no longer valid
+       from comments.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-vect-transform.c (vectorizable_operation): Try word_mode
+       vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
+       if a vector mode is available.
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/21709
+       * fold-const.c (const_binop): Check for division by zero during
+       complex division.
+
+2005-05-26  Ian Lance Taylor  <ian@airs.com>
+
+       * reload1.c (verify_initial_elim_offsets): Add braces to avoid
+       having a declaration after a statement.
+
+2005-05-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * opt-functions.awk (var_type): New function.
+       (var_set): Use CLVC_STRING if var_type returns "const char *".
+       * opth-gen.awk: Use var_type to find out the types of variables.
+       Don't print comments above each "extern" definition.
+       * optc-gen.awk: Use var_type in the same way.
+       * opts.h (cl_var_cond): Rename to...
+       (cl_var_type): ...this.  Add CLVC_STRING.
+       (cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
+       with "var_type".
+       * opts.c (handle_option, option_enabled): Update after above name
+       change.  Cast flag_var before using it.  Handle CLVC_STRING.
+       
+       * config/alpha/alpha.h (alpha_tls_size): Delete.
+       * config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
+       (alpha_tune_string, alpha_tp_string, alpha_fprm_string)
+       (alpha_fptm_string, alpha_mlat_string): Delete.
+       (alpha_handle_option): Don't set the above variables here.  Use the
+       integer argument to check the validity of -mtls-size=.
+       * config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
+       (mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
+       (mtls-size=): Likewise.  Convert to a UInteger and initialize the
+       variable to 32.
+
+       * config/arc/arc.c (arc_cpu_string, arc_text_string)
+       (arc_data_string, arc_rodata_string): Delete.
+       (arc_handle_option): Don't set the above variables here.
+       * config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
+       and initialize them.
+
+       * config/arm/arm.c (target_fpu_name, target_fpe_name)
+       (target_float_abi_name, target_abi_name, structure_size_string)
+       (arm_pic_register_string): Delete.
+       (arm_handle_option): Don't set the above variables here, except
+       in the handling of -mhard-float and -msoft-float.
+       * config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
+       (mpic-register=, mstructure-size-boundary=): Add Var()s.
+
+       * config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
+       (avr_handle_option): Delete.
+       * config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
+       them.
+
+       * config/bfin/bfin.c (bfin_library_id): Delete.
+       (bfin_handle_option): Don't set it.
+       * config/bfin/bfin.opt (mshared-library-id=): Add Var().
+
+       * config/c4x/c4x.h (c4x_rpts_cycles): Delete.
+       * config/c4x/c4x.c (c4x_rpts_cycles): Delete.
+       (c4x_handle_option): Don't set c4x_rpts_cycles here.
+       * config/c4x/c4x.opt (mrpts=): Add Var().
+
+       * config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
+       cris_elinux_stacksize_str here.
+       * config/cris/aout.opt (melinux-stacksize=): Add Var().
+       * config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       * config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       (cris_handle_option): Don't set the above variables here.
+       * config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
+       (max-stackframe=): Add Var()s.
+
+       * config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
+       * config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
+       (ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
+       (ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
+       (ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
+       (ix86_branch_cost_string, ix86_align_funcs_string): Delete.
+       (ix86_handle_option): Don't set the above variables here.
+       * config/i386/i386.opt (malign-functions=, malign-jumps=)
+       (malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
+       (mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
+       Var()s.
+
+       * config/ia64/ia64.h (ia64_tls_size): Delete.
+       * config/ia64/ia64.c (ia64_tls_size): Delete.
+       (ia64_handle_option): Treat -mtls-size= as a UInteger option,
+       reading the integer argument from the "value" parameter.  Don't
+       set ia64_tls_size here.
+       * config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
+       Add Var() and Init().
+
+       * config/m32r/m32r.h (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       * config/m32r/m32r.c (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       (m32r_handle_option): Don't set the above variables when handling
+       -mflush-func= and -mflush-trap=.
+       * config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
+       and Init()s.
+
+       * config/mips/mips.h (mips_cache_flush_func): Delete.
+       * config/mips/mips.c (mips_arch_string, mips_tune_string)
+       (mips_cache_flush_func): Delete.
+       (mips_handle_option): Don't set the above variables when handling
+       -march=, -mtune= and -mflush-func=.
+       * config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
+
+       * config/s390/s390.c (s390_arch_string): Delete.
+       (s390_handle_option): Don't set it here.
+       * config/s390/s390.opt (march=): Add Var().
+
+       * config/sparc/sparc.h (sparc_cmodel_string): Delete.
+       * config/sparc/sparc.c (sparc_cmodel_string): Delete.
+       (sparc_handle_option): Don't set it here.
+       * config/sparc/sparc.opt (mcmodel=): Add Var().
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
+       call to convert_to_integer by building the NOP_EXPR directly.
+
+2005-05-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
+
+2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+           Jeff Law  <law@redhat.com>
+
+       * tree-cfg.c (verify_expr, case ADDR_EXPR): Verify invariant,
+       constant and side_effects of the ADDR_EXPR are consistent.
+
+       * tree-nested.c (convert_local_reference): Set CURRENT_FUNCTION_DECL
+       appropriately around calls to recompute_tree_invarant_for_addr_expr.
+
+2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (GP_ARG_NUM_REG, FP_ARG_NUM_REG): New defines.
+       (s390_function_arg, s390_gimplify_va_arg): Use them.
+       (s390_register_info): Save only required subset of argument
+       registers into save area for va_list.
+       (s390_va_start): Initialize only required elements of va_list struct.
+       (s390_build_builtin_va_list): Set va_list_[gf]pr_counter_field.
+
+2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * reload1.c (verify_initial_elim_offsets): Return boolean status
+       instead of aborting.
+       (reload): Adapt verify_initial_elim_offsets call site.  Restart
+       main loop if some initial elimination offsets changed.
+
+2005-05-25  Adam Nemet  <anemet@lnxw.com>
+
+       * config/rs6000/lynx.h (CC1_SPEC): Use -maix-struct-return instead
+       of -mno-svr4-struct-return.
+
+2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/21705
+       
+       * tree-ssa-pre.c (in_fre): New static variable.
+       (create_value_expr_from): Recursively value number reference ops
+       in argument lists.
+       (can_value_number_call): Temporary restrict only exists for
+       PRE, not FRE.
+
+2005-05-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-into-ssa.c (rewrite_into_ssa, update_ssa): Replace
+       sizeof (bitmap *) with sizeof (bitmap).
+
+2005-05-25  Daniel Berlin <dberlin@dberlin.org>
+
+       * lambda-code.c (perfect_nestify): Call update_stmt on the exit
+       condition.
+
+2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c (TARGET_INSN_VALID_WITHIN_DOLOOP): Set to
+       hook_bool_rtx_true.
+
+2005-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (ipa-inline.o): Add COEVERAGE_H dependency.
+       * cgraph.c (cgraph_create_node): Reset estimated_growth.
+       * cgraph.h (cgraph_global_info): Add estimated_growth.
+       * ipa-inline.c: Include coverage.h
+       (max_insns, max_count): New static variables.
+       (cgraph_estimate_size_after_inlining): Cache the result.
+       (cgraph_estimate_growth):
+       * passes.c (rest_of_clean_state): Kill coverage_end_function.
+       * timevar.def (TV_INLINE_HEURISTICS): New timevar.
+       * tree-optimize.c (init_tree_optimization_passes): Move profiling before
+       inlining.
+       (ipa_passes): Initialize bitmaps.
+
+2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+
+       * loop-doloop.c: Include "target.h". 
+         (doloop_valid_p): Move tests to function in targhooks.c.
+       * target.h (struct gcc_target): New target hook
+         "insn_valid_within_doloop".
+       * target-def.h: Define default value for "insn_valid_within_doloop".
+         (TARGET_INITIALIZER): Insert new target hook into initializer.
+       * targhooks.c (default_insn_valid_within_doloop): New function.
+       * targhooks.h (default_insn_valid_within_doloop): Declare.
+       * hooks.c (hook_bool_rtx_true): New function.
+       * hooks.h (hook_bool_rtx_true): Declare.
+       * doc/tm.texi: Add documentation for new target hook.
+
+2005-05-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/21412
+       * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): New macro
+       * config/sparc/sparc-protos.h (tls_symbolic_operand): Delete.
+       (sparc_tls_referenced_p): New prototype.
+       * config/sparc/sparc.c (tls_symbolic_operand): Delete.
+       (sparc_expand_move): Look for TLS addresses with constant offsets.
+       (legitimate_constant_p): Use SPARC_SYMBOL_REF_TLS_P instead of
+       tls_symbolic_operand.
+       (legitimate_pic_operand_p): Likewise.
+       (legitimate_address_p): Likewise.
+       (legitimize_address): Likewise.
+       (sparc_tls_symbol_ref_1): New function.
+       (sparc_tls_referenced_p): New function.
+       * config/sparc/predicates.md (tgd_symbolic_operand): Use
+       SYMBOL_REF_TLS_MODEL instead of tls_symbolic_operand.
+       (tld_symbolic_operand): Likewise.
+       (tie_symbolic_operand): Likewise.
+       (tle_symbolic_operand): Likewise.
+
+2005-05-24  DJ Delorie  <dj@redhat.com>
+       
+       * common.opt (-Wattributes): New.  Default true.
+       * doc/invoke.texi (-Wno-attributes): Document.
+       
+       * attribs.c (decl_attributes): Move warning control from if() to
+       warning(OPT_*).
+       * c-common.c (handle_packed_attribute): Likewise.
+       (handle_nocommon_attribute): Likewise.
+       (handle_common_attribute): Likewise.
+       (handle_noreturn_attribute): Likewise.
+       (handle_noinline_attribute): Likewise.
+       (handle_always_inline_attribute): Likewise.
+       (handle_used_attribute): Likewise.
+       (handle_unused_attribute): Likewise.
+       (handle_const_attribute): Likewise.
+       (handle_transparent_union_attribute): Likewise.
+       (handle_constructor_attribute): Likewise.
+       (handle_destructor_attribute): Likewise.
+       (handle_mode_attribute): Likewise.
+       (handle_alias_attribute): Likewise.
+       (handle_visibility_attribute): Likewise.
+       (handle_tls_model_attribute): Likewise.
+       (handle_malloc_attribute): Likewise.
+       (handle_returns_twice_attribute): Likewise.
+       (handle_pure_attribute): Likewise.
+       (handle_deprecated_attribute): Likewise.
+       (handle_vector_size_attribute): Likewise.
+       (handle_nothrow_attribute): Likewise.
+       (handle_cleanup_attribute): Likewise.
+       (handle_warn_unused_result_attribute): Likewise.
+       (handle_sentinel_attribute): Likewise.
+       * c-decl.c (diagnose_mismatched_decls): Likewise.
+       (start_decl): Likewise.
+       (grokdeclarator): Likewise.
+       (start_function): Likewise.
+       * c-format.c (check_function_format): Likewise.
+       * stor-layout.c (place_field): Likewise.
+       (finalize_record_size): Likewise.
+       * tree.c (handle_dll_attribute)): Likewise.
+       * varasm.c (default_assemble_visibility): Likewise.
+       * config/darwin.c (darwin_handle_weak_import_attribute): Likewise.
+       (darwin_assemble_visibility): Likewise.
+       * config/arc/arc.c (arc_handle_interrupt_attribute): Likewise.
+       * config/arm/arm.c (arm_handle_fndecl_attribute): Likewise.
+       (arm_handle_isr_attribute): Likewise.
+       * config/avr/avr.c (avr_handle_progmem_attribute): Likewise.
+       (avr_handle_fndecl_attribute): Likewise.
+       * config/bfin/bfin.c (handle_int_attribute): Likewise.
+       * config/c4x/c4x.c (c4x_handle_fntype_attribute): Likewise.
+       * config/h8300/h8300.c (h8300_handle_fndecl_attribute): Likewise.
+       (h8300_handle_eightbit_data_attribute): Likewise.
+       (h8300_handle_tiny_data_attribute): Likewise.
+       * config/i386/i386.c (ix86_handle_cdecl_attribute): Likewise.
+       (ix86_handle_regparm_attribute): Likewise.
+       (ix86_handle_struct_attribute): Likewise.
+       * config/i386/winnt.c (ix86_handle_shared_attribute): Likewise.
+       (i386_pe_encode_section_info): Likewise.
+       * config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
+       * config/ip2k/ip2k.c (ip2k_handle_progmem_attribute): Likewise.
+       (ip2k_handle_fndecl_attribute): Likewise.
+       * config/m32r/m32r.c (m32r_handle_model_attribute): Likewise.
+       * config/m68hc11/m68hc11 (m68hc11_handle_page0_attribute): Likewise.
+       (m68hc11_handle_fntype_attribute): Likewise.
+       (m68hc11_encode_section_info): Likewise.
+       * config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
+       * config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
+       * config/ns32k/ns32k.c (ns32k_handle_fntype_attribute): Likewise.
+       * config/rs6000/rs6000.c (rs6000_handle_longcall_attribute): Likewise.
+       * config/sh/sh.c (sh_handle_interrupt_handler_attribute): Likewise.
+       (sh_handle_sp_switch_attribute): Likewise.
+       (sh_handle_trap_exit_attribute): Likewise.
+       * config/sh/symbian.c (sh_symbian_dllimport_p): Likewise.
+       (sh_symbian_handle_dll_attribute): Likewise.
+       * config/stormy16/stormy16.c (xstormy16_handle_interrupt_attribute): Likewise.
+       (xstormy16_handle_below100_attribute): Likewise.
+       * config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
+
+       * c-common.c (unsigned_conversion_warning): Move warning control
+       from if() to warning(OPT_*).
+       (c_common_truthvalue_conversion): Likewise.
+       (c_do_switch_warnings): Likewise.
+       * c-decl.c (diagnose_mismatched_decls): Likewise.
+       (diagnose_mismatched_decls): Likewise.
+       (define_label): Likewise.
+       (grokdeclarator): Likewise.
+       * c-format.c (check_format_info): Likewise.
+       * c-lex.c (interpret_integer): Likwise.
+       (lex_string): Likewise.
+       * c-opts.c (c_common_post_options): Likewise.
+       * c-parser.c (c_parser_unary_expression): Likewise.
+       * c-pragma.c (handle_pragma_redefine_extname): Likewise.
+       (handle_pragma_extern_prefix): Likewise.
+       * c-typeck.c (build_binary_op): Likewise.
+       * gcse.c (is_too_expensive): Likewise.
+       * opts.c (decode_options): Likewise.
+       * stor-layout.c (place_field): Likewise.
+       * tree-cfg.c (remove_bb): Likewise.
+
+       * c.opt (-Wreturn-type): Add Var(warn_return_type).
+       * flags.h (warn_return_type): Remove.
+       * toplev.c (warn_return_type): Likewise.
+
+2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * configure.ac: Don't use gcc_AC_C_LONG_LONG.  Check for
+       existence of long long and __int64 before determining their size.
+       * aclocal.m4: Delete gcc_AC_C_LONG_LONG.
+       * configure, config.h.in:  Regenerate.
+
+2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * configure: Regenerate.
+
+2005-05-24  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.h (objc_comptypes): Remove prototype.
+       (objc_compare_types): New prototype.
+       (objc_volatilized_decl): Likewise.
+       (objc_type_quals_match): Likewise.
+       * c-decl.c (objc_mark_locals_volatile): Streamline by calling
+       objc_volatilize_decl().
+       * c-typeck.c (comp_target_types): Remove third parameter; do
+       not call objc_comptypes().
+       (comptypes): Remove calls to objc_comptypes().
+       (build_function_call): Extend compatible prototype check to ObjC.
+       (build_conditional_expr): Adjust call to comp_target_types().
+       (convert_for_assignment): Call objc_compare_types() instead of
+       objc_comptypes(); adjust calls to comp_target_types(); call
+       objc_type_quals_match() before issuing qualifier mismatch
+       warnings.
+       (build_binary_op): Call objc_compare_types() before issuing
+       pointer mismatch warnings; adjust calls to
+       comp_target_types().
+       * stub-objc.c (objc_comptypes): Remove stub.
+       (objc_compare_types): New stub.
+       (objc_volatilized_decl): Likewise.
+       (objc_type_quals_match): Likewise.
+
+2005-05-24  Paolo Carlini  <pcarlini@suse.de>
+
+       * config/ia64/ia64intrin.h: Define nothing for C++:
+       overloaded builtins have been ported to C++.
+
+2005-05-24  Jeff Law  <law@redhat.com>
+
+       * tree-nested.c (build_addr): New "context" argument.  Temporarily
+       set current_function_decl around the call to build the ADDR_EXPR.
+       (get_static_chain): Pass proper context to build_addr.
+       (convert_nl_goto_reference): Likewise.
+       (convert_tramp_reference): Likewise.
+       (final_nesting_tree_1): Likewise.
+       * tree-profile.c (tree_gen_interval_profiler): Likewise.
+       (tree_gen_pow2_profiler): Likewise.
+       (tree_gen_one_value_profiler): Likewise.
+       * tree-ssa-loop-ivopts.c (build_addr_strip_iref): Likewise.
+       * tree.h (build_addr): Update prototype.
+
+2005-05-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-flow.h (bb_ann_d): Remove has_escape_site.
+       * tree-ssa-alias.c (compute_points_to_addr_escape): Don't
+       write to has_escape_site.
+
+2005-05-24  Jeff Law  <law@redhat.com>
+
+       * Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h.
+       * tree-cfg.c: Include tree-ssa-propagate.h.
+       (replace_uses_by): Call recompute_tree_invarant_for_addr_expr as
+       needed.
+
+2005-05-24  Nick Clifton  <nickc@redhat.com>
+
+       * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+       __NO_FPRS__ when 'f' class registers will not be available. 
+
+2005-05-24  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+       * config/m32r/m32r.c (m32r_expand_block_move):  Return 0 if
+       nothing was done.
+       * config/m32r/m32r.md (movmemsi):  If m32r_expand_block_move did
+       nothing then FAIL.
+       * config/m32r/m32r/m32r-protos.h  (m32r_expand_block_move): Update
+       prototype.
+
+2005-05-23  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (cprop_into_stmt): Do not call
+       recompute_tree_invariant_for_addr_expr here.
+       (optimize_stmt): Call it here instead and do so if anything
+       at all has changed in the statement and the RHS is an ADDR_EXPR.
+       * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): If
+       needed, call recompute_tree_invariant_for_addr_expr.
+       * tree-ssa-propagate.c (substitute_and_fold): Call
+       recompute_tree_invariant_for_addr_expr as needed.
+
+2005-05-23  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_optimize_prologue): Don't replace an insn
+       saving less registers than the replacement.
+
+2005-05-23  Jan Hubicka  <jh@suse.cz>
+
+       * tree-flow.h (stmt_ann_d): Kill GTY ((skip)) mark on BB.
+
+2005-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc-protos.h (sparc_expand_move): New prototype.
+       * config/sparc/sparc.c (sparc_expand_move): New function.
+       (sparc_emit_set_const64): Rewrite assert condition on entry.
+       (legitimate_constant_p) <CONST_VECTOR>: New case.
+       (legitimize_pic_address): Use TARGET_ARCH64 to select the mode.
+       * config/sparc/sparc.md (movqi, movhi, movsi, movdi, movV32,
+       movV64, movtf): Use nonimmediate_operand for the first operand.
+       Rewrite.  Only invoke sparc_expand_move.
+       * config/sparc/predicates.md (input_operand): Reorder tests.
+
+2005-05-23  Jan Beulich  <jbeulich@novell.com>
+
+       * gthr-posix.h (__gthread_recursive_mutex_init_function): Add
+       missing return statement.
+
+2005-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Use
+       emit_move_insn for moves to TFmode stack slots.
+
+2005-05-21  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-stdarg.c (execute_optimize_stdarg): Handle references
+       to va_list of the form &va[0].
+
+2005-05-20  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (insn-emit.o): Add basic-block.h dependency.
+       * genemit.c (main): Make insn-emit to include basic-block.h too.
+
+2005-05-20  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_expand_function): Force function being lowered.
+
+2005-05-19  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (emit_unlikely_jump, emit_load_locked,
+       emit_store_conditional): Split out from ...
+       (alpha_split_atomic_op): ... here.
+       (alpha_split_compare_and_swap): New; extract from .md file.
+       (alpha_split_lock_test_and_set): Likewise.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/sync.md (sync_compare_and_swap<I48MODE>): Move
+       split code into alpha.c.
+       (sync_lock_test_and_set<I48MODE>): Likewise.
+
+2005-05-19  Richard Henderson  <rth@redhat.com>
+
+       * unwind.h, unwind-pe.h: Revert gcc_unreachable change of 05-17.
+
+2005-05-19  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/sse.md (mulv4si3): Use all register inputs.
+       (mulv2di3): Likewise.
+
+2005-05-19  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-loop-ivopts.c (determine_base_object): Use
+       build_fold_addr_expr to generate trees of correct type.
+       Use fold_buildN if possible.
+
+2005-05-19  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (REG_BR_PROB_BASE): Define.
+       * cgraph.c (cgraph_create_edge): Initialize loop_nest and count.
+       (dump_cgraph_node): Dump count.
+       (cgraph_clone_edge): Rescale counts.
+       (cgraph_clone_node): Likewise.
+       * cgraph.h: Include basic-block.h
+       (cgraph_node): Add count.
+       (cgraph_edge): Add count and loop_nest.
+       (cgraph_node, cgraph_edge, cgraph_clone_edge, cgraph_clone_node):
+       Update prototypes.
+       * cgraphunit.c: Kill now redundant inlining comment.
+       (cgraph_create_edges): Make static, maintain current basic block;
+       fix pasto.
+       (record_call_1): Fill in new fields.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
+       cgraph_clone_node.
+       (cgraph_decide_recursive_inlining): Likewise.
+       * rtl.h (REG_BR_PROB_BASE): Kill.
+       * tree-inline.c (copy_body_r): Update call of cgraph_clone_edge.
+       (expand_call_inline): Update call of cgraph_create_edge.
+       * tree-optimize.c (tree_rest_of_compilation): Likewise.
+
+2005-05-19  Nick Clifton  <nickc@redhat.com>
+
+       * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use the
+       new rs6000_explicit_options structure.
+
+2005-05-19  Richard Henderson  <rth@redhat.com>
+
+       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  <rth@redhat.com>
+
+       PR target/21657
+       * config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
+       memory indirection in local-dynamic case.
+
+2005-05-18  Jie Zhang  <jie.zhang@analog.com>
+           Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * 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  <jbeulich@novell.com>
+
+       * unwind-compat.c: Include tconfig.h and tsystem.h.
+       * unwind-dw2-fde-compat.c: Likewise.
+
+2005-05-18  Richard Henderson  <rth@redhat.com>
+
+       PR 21541
+       * ifcvt.c (noce_process_if_block): Avoid conversion when the
+       memory destination is readonly.
+
+2005-05-18  Richard Henderson  <rth@redhat.com>
+
+       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  <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-cfg.c (replace_uses_by): Export.
        * tree-flow.h (replace_uses_by): Declare.
 
-2005-05-17  Mike Stump  <mrs@apple.com>
+2005-05-17  Ziemowit Laski  <zlaski@apple.com>
+           Mike Stump  <mrs@apple.com>
 
        Yet more Objective-C++...
 
        (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>
 
 
 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
 
+       * tree-ssa-math-opts.c: New file.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
        * Makefile.in: Add tree-ssa-math-opts.c.
        * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
        * fold-const.c (distribute_real_division): New.