+2004-09-01 Ziemowit Laski <zlaski@apple.com>
+
+ * c-parse.in (primary): Call objc_build_message_expr(),
+ objc_build_selector_expr(), objc_build_protocol_expr(),
+ objc_build_encode_expr() and objc_build_string_object() instead of
+ build_message_expr(), build_selector_expr(), build_protocol_expr(),
+ build_encode_expr() and build_objc_string_object(), respectively.
+ (component_decl_list2): Call objc_get_class_ivars() instead of
+ get_class_ivars_from_name().
+ (keyworddecl): Call objc_build_keyword_decl() instead of
+ build_keyword_decl().
+ (receiver): Call objc_get_class_reference() instead of
+ get_class_reference().
+ (reswords): Add blank line before @@ifobjc section, for clarity.
+
+2002-09-01 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
+ to Altivec vetors.
+
+2004-09-01 Wu Yongwei <adah@sh163.net>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
+ not Windows 'DWORD'.
+ (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
+ (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
+ (__gthr_win32_recursive_mutex_init_function): Add prototype for
+ __GTHREAD_HIDE_WIN32API case..
+ (__gthr_win32_recursive_mutex_lock): Likewise.
+ (__gthr_win32_recursive_mutex_trylock): Likewise.
+ (__gthr_win32_recursive_mutex_unlock): Likewise.
+ (__gthread_recursive_mutex_init_function); Add definition for
+ __GTHREAD_HIDE_WIN32API case.
+ (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
+ * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
+ call to InterlockedDecrement.
+
+2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree-tailcall.c (find_tail_calls): Also fail is statement has
+ volatile operands.
+
+ * tree-ssa.c (propagate_into_addr): Properly test for LHR.
+
+ * doc/c-tree.texi: Document new operands for ARRAY_REF and
+ COMPONENT_REF.
+
+2004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
+ * common.opt (fspeculative-prefetching): New.
+ * flags.h (flag_speculative_prefetching_set): Declare.
+ * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
+ values.
+ * opts.c (flag_sepculative_prefetching_set): New variable.
+ (common_handle_option): Handle -fspeculative-prefetching.
+ * passes.c (rest_of_compilation): Ditto.
+ * profile.c (instrument_values, compute_value_histograms, branch_prob):
+ Use vectors instead of arrays.
+ * toplev.c (process_options): Handle -fspeculative-prefetching.
+ * rtl-profile.c: Include ggc.h.
+ (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
+ rtl_gen_one_value_profiler_no_edge_manipulation,
+ rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
+ argument changed.
+ * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
+ tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
+ argument changed.
+ * value-prof.c: Include ggc.h.
+ (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
+ macros.
+ (insn_prefetch_values_to_profile, find_mem_reference_1,
+ find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
+ speculative_prefetching_transform): New.
+ (value_profile_transformations): Call speculative_prefetching_transform.
+ (insn_values_to_profile): Call insn_prefetch_values_to_profile.
+ (insn_divmod_values_to_profile, rtl_find_values_to_profile,
+ tree_find_values_to_profile, find_values to profile): Use vectors
+ instead of arrays.
+ (free_profiled_values): Removed.
+ * value-prof.h (struct histogram_value): Renamed to
+ struct histogram_value_t.
+ (histogram_value, histogram_values): New types.
+ (find_values_to_profile): Declaration changed.
+ (free_profiled_values): Removed.
+ (struct profile_hooks): Type of argument of the hooks changed to
+ histogram_value.
+ * doc/invoke.texi (-fspeculative-prefetching): Document.
+
+2004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR rtl-optimization/16408
+ * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
+
+2004-09-01 Richard Henderson <rth@redhat.com>
+
+ * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
+ (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
+
+2004-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
+
+2004-09-01 Mike Stump <mrs@apple.com>
+
+ * config/darwin.c (machopic_symbol_defined_p): In addition to
+ being SYMBOL_REF_LOCAL_P, a symbol must also be
+ ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
+ defined in this output file, or translation unit in the case
+ of IMA not being used.
+ (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
+ never need .indirect_symbol when indirecting.
+
+2004-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (bb-reorder.o): Add several dependencies.
+
+2004-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ * fold-const.c (operand_equal_p): Require equal sign also for
+ FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
+
+2004-09-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
+ for use in configargs.h. Put the cname in a separate variable. Use
+ that to set target_cpu_default2.
+
+2004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/sh/sh.md ("length"): Increase branch length when
+ SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
+ constant, 2 byte for aligning the constant.
+
+2004-09-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
+ CPU.
+ (arm7tdmi-s): New CPU name.
+ * arm/arm.c (ARM_CORE): Update for new format.
+ * arm/arm.h (ARM_CORE): Likewise.
+ * arm/gentune.sh: Update for extra field.
+ * config.gcc: Likewise.
+ * arm/arm-tune.md: Regenerate.
+ * doc/invoke.texi: Document the real processor names for ARM cpus.
+
+2004-09-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
+ (floatdidf): New functions.
+ * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
+ (floatdisf): New functions.
+ * t-arm-elf: Use them.
+
+2004-09-01 Ziemowit Laski <zlaski@apple.com>
+
+ * c-common.h (lookup_interface): Remove prototype.
+ (is_class_name): Rename to objc_is_class_name.
+ (lookup_objc_ivar): Rename to objc_lookup_ivar.
+ (get_current_scope): Rename to objc_get_current_scope.
+ * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
+ * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
+ (yylexname): Call objc_is_class_name() instead of is_class_name().
+ * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
+ instead of lookup_objc_ivar().
+ * stub-objc.c (lookup_interface): Remove stub.
+ (is_class_name): Rename to objc_is_class_name.
+ (lookup_objc_ivar): Rename to objc_lookup_ivar.
+
+2004-08-31 Mark Mitchell <mark@codesourcery.com>
+
+ * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
+ * config/arm/lib1funcs.asm: Do not include supplemental .S files
+ when compiling for Symbian.
+ * config/arm/symbian.h (RENAME_LIBRARY): New macro.
+ (TARGET_OS_CPP_BUILTINS): Likewise.
+ * config/arm/t-symbian (LIB1ASMFUNCS): Define.
+
+2004-08-31 Stan Shebs <shebs@apple.com>
+
+ * toplev.c (process_options): Ensure debug_hooks is initialized.
+
+2004-08-31 Mark Mitchell <mark@codesourcery.com>
+
+ * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
+ * target.h (cxx): Add export_class_data.
+ * config/arm/arm.c (arm_cxx_export_class_data): New function.
+ (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
+ * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
+
+2004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (output_branch): Check the insn length possibly
+ in the delayed slot.
+
+2004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
+ blank after ')'.
+ (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
+
+ * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
+ (c_sizeof_of_alignof_type): Likewise.
+ * expr.c (array_ref_element_size): Likewise.
+ (highest_pow2_factor_for_target): Likewise.
+ * gimplify.c (canonicalize_addr_expr): Likewise.
+ (gimplify_compound_lval): Likewise.
+ * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
+ * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
+ * varasm.c (assemble_variable): Likewise.
+ (output_constant_def_contents): Alignments are unsigned.
+
+2004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Jeff Law <law@redhat.com>
+
+ * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
+ gets modified.
+
+2004-08-31 Mark Mitchell <mark@codesourcery.com>
+
+ * hooks.c (hook_bool_void_true): New function.
+ * hooks.h (hook_bool_void_true): Declare.
+ * target-def.h (TARGET_CXX): Add
+ TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
+ * target.h (struct cxx): Add key_method_may_be_inline.
+ * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
+ function.
+ (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
+ * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
+ __THUMB_INTERWORK.
+
+2004-08-31 Denis Chertykov <denisc@overta.ru>
+
+ PR target/15417
+ * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
+ frame pointer register only in Pmode while reload in progress.
+
+2004-08-31 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/15334
+ * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
+ because it breaks the 32-bit shift patterns that rely on a match_dup.
+
+2004-08-31 Matt Austern <austern@apple.com>
+
+ * config/darwin.c (darwin_make_decl_one_only): Allocate section
+ names once per compilation, instead of once per symbol.
+
+2004-08-31 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (build_subdir): New substitution.
+ (fixinc.sh): Simplify heavily since fixincludes is already built.
+ (stmp-fixinc): Depend on specs.ready.
+ (install-mkheaders): Use new location of fixincludes.
+ (clean): Do not descend into fixinc.
+ (FORBUILD): Replace with ../$(build_subdir).
+ * configure.ac (build_subdir): Substitute.
+ (FORBUILD): Do not set.
+ (all_outputs): Remove fixinc/Makefile.
+ (default commands): Do not create links in fixinc.
+ * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
+ the fixincludes configuration steps and substituting
+ @FIXINCL@ in fixinc.in.
+ * fixinc.in: New, from fixinc/fixincl.sh.
+
+ * fixinc/*: Removed.
+
+2004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * attribs.c (strip_attrs): Remove.
+ (split_specs_attrs): Move ...
+ * c-decl.c: ... to here.
+ * tree.h (split_specs_attrs, strip_attrs): Remove.
+ * c-tree.h (split_specs_attrs): Declare.
+
+2004-08-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * read-rtl.c: Disable RTL checking.
+ (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
+
+2004-08-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (fcond): New code macro and attribute.
+ (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
+ (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
+ (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
+
+2004-08-30 Mark Mitchell <mark@codesourcery.com>
+
+ Revert:
+ 2004-08-29 Mark Mitchell <mark@codesourcery.com>
+ PR rtl-optimization/16590
+ * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
+
+2004-08-30 Andrew Pinski <apinski@apple.com>
+
+ * hard-reg-set.h:
+ s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
+ * ChangeLog: Fix previous ChangeLog entry.
+
+ PR rtl-opt/13987
+ * config.host (use_long_long_for_widest_fast_int): New, default is
+ off.
+ (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
+ * configure.ac: If use_long_long_for_widest_fast_int, then
+ define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
+ New: widest integer type supported efficiently in hardware for the
+ host.
+ * sbitmap.h (SBITMAP_ELT_BITS): Define based on
+ HOST_BITS_PER_WIDEST_FAST_INT.
+ (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
+ * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
+ HOST_WIDEST_FAST_INT
+ instead of HOST_WIDE_INT.
+ (HARD_REG_SET_LONGS): Likewise.
+ (UHOST_BITS_PER_WIDE_INT): Likewise.
+ Change the checks for the fast cases to be based on
+ HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
+
+2004-08-30 Steven Bosscher <stevenb@suse.de>
+
+ * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
+ not the pointers.
+
+2004-08-30 Geoffrey Keating <geoffk@apple.com>
+
+ PR 12738
+ PR 17205
+ Radar 3460526
+ Radar 3775729
+ * c-decl.c (grokdeclarator): Produce error for 'static' on local
+ function declaration.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * expr.c (array_ref_element_size): Force aligned_size back to
+ sizetype.
+ (component_ref_field_offset): Similarly for aligned_offset.
+ * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
+ low-bound, element-size, field-offset fields rather than
+ computed values.
+
+2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
+ redundant code.
+
+2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-tree.h (struct language_function): Add arg_info element.
+ * c-decl.c (current_function_arg_info): New.
+ (grokdeclarator, store_parm_decls): Use it instead of
+ DECL_ARGUMENTS.
+ (c_push_function_context, c_pop_function_context): Save and
+ restore it.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
+ COMPONENT_REF to pointer arithmetic.
+ * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
+ constant "c" as a valid constant initializer. Allow narrowing of
+ differences against the same base object, for any base object.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr_addr_expr): New.
+ (expand_expr_real_1) <case ADDR_EXPR>: Use it.
+
+2004-08-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
+ (mips_fp_condition): New enum.
+ (mips_fp_conditions): New array.
+ (print_fcc_operand): Delete.
+ (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
+ the operand and comma if and only if ISA_HAS_8CC. Add %Y.
+ (builtin_description): Add "cond" field.
+ (DIRECT_BUILTIN): Initialize it.
+ (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
+ into INSN and CODE. Initialize the "cond" field.
+ (CMP_BUILTINS): Update accordingly.
+ (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
+ (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
+ mips_fp_condition as argument. Make it the final operand of the
+ comparison instruction.
+ (mips_expand_builtin): Update accordingly.
+ * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
+ (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
+ the gaps.
+ * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
+ Don't use the 'Q' operand prefix; just print the operand normally.
+ (mips_cabs_*, mips_c_*): Delete, replacing with...
+ (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
+ patterns. Split the 4s versions into 2 ps patterns after reload.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
+ assuming an ADDR_EXPR is non-null.
+
+2004-08-30 Jason Merrill <jason@redhat.com>
+
+ * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
+
+2004-08-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
+ * gcov.c (abort): Remove undef.
+
+ * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
+ (struct tree_binfo): Remove primary field.
+
+2004-08-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * fixinc/Makefile.in (machname.h): Remove.
+ (fixincl.x): Do not pass $@ to genfixes.
+ * fixinc/genfixes: Remove code to produce machname.h.
+ * fixinc/fixincl.sh: Move it here instead.
+ * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
+ instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
+ return a bool indicating whether pz_mn_name_pat is NULL.
+ * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
+ Declare extern C variables for the ENV_TABLE.
+ * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
+ instead use the result of mn_get_regexps.
+ * fixinc/fixtests.c: Likewise.
+
+2004-08-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.ac: Do not run fixincludes after stage1 during
+ toplevel bootstrap.
+ * configure: Regenerate.
+
+2004-08-30 Richard Earnshaw <rearnsha@arm.com>
+
+ * sched-deps.c (get_condition): Partially revert previous, by never
+ trying to extract the condition from a condjump.
+
+2004-08-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
+ (handle_visibility_attribute, c_determine_visibility): Likewise.
+ * c-common.h (my_friendly_assert): Remove.
+
+2004-08-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
+ (UNSPEC_{RSQRT,RECIP}[12]): New constants.
+ (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
+ * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
+ (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
+
+2004-08-30 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
+ in COMPONENT_REF nodes.
+
+2004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/15378
+ * c-opts.c (c_common_handle_option): <case OPT_Werror> set
+ global_dc->warning_as_error_requested.
+ * diagnostic.c (diagnostic_initialize): Tidy.
+ * diagnostic.h (diagnostic_context::x_data): Remove
+ (diagnostic_context::issue_warnings_are_errors_message): Rename
+ from warnings_are_errors_message.
+ (diagnostic_context::warning_as_error_requested): New.
+
+2004-08-30 Richard Earnshaw <rearnsha@arm.com>
+
+ * sched-deps.c (get_condition): Fix breakage in previous patch.
+
+2004-08-30 Paul Brook <paul@codesourcery.com>
+
+ * doc/install.texi: Fix broken mpfr link.
+
+2004-08-29 David O'Brien <obrien@FreeBSD.org>
+
+ * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
+ other FreeBSD platforms.
+
+2004-08-29 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (REVERSE_CONDITION): Define.
+ (REVERSIBLE_CC_MODE): All comparisons are now reversible.
+
+2004-08-29 Richard Earnshaw <rearnsha@arm.com>
+
+ * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
+ just the codes, call reversed_comparison_code ().
+ (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
+ (not_reg_cond): Use reversed_comparison_code.
+ (and_reg_cond): Likewise.
+ * ifcvt.c (cond_exec_process_if_block): Likewise.
+ * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
+
+2004-08-29 Richard Earnshaw <rearnsha@arm.com>
+
+ * sched-deps.c (get_condition): Rewrite using jump support functions.
+ Use reversed_comparison_code.
+ (conditions_mutex_p): Use reversed_comparison_code.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (override_options): Disable hot/cold partitioning
+ for MIPS16.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
+ (mips_function_type): Move to mips.c.
+ * config/mips/mips.c (mips_builtin_type): New enum.
+ (builtin_description): Replace code and ftype with builtin_type
+ and function_type.
+ (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
+ (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
+ (CODE_FOR_mips_abs_ps): Define.
+ (mips_bdesc): Use new macros.
+ (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
+ (mips_init_builtins): Use the mips_bdesc[] index as the function code.
+ (mips_expand_builtin_direct): New function.
+ (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
+ builtin. Replace boolean parameter with builtin_type.
+ (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
+ (mips_expand_4s_compare_builtin): Delete, replacing with...
+ (mips_expand_builtin_compare): ...this new function.
+
+2004-08-29 Mark Mitchell <mark@codesourcery.com>
+
+ PR rtl-optimization/16590
+ * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
+
+2004-08-29 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
+ * tree-ssa-propagate.c: Fix documentation.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
+ (mov[sd]fcc): Likewise.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (divide_condition): New mode attribute.
+ (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
+ (sqrt[sd]f3): Redefine using SCALARF.
+ (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
+ patterns.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (ANYF, SCALARF): New mode macros.
+ (loadx, storex, fmt, UNITMODE): New mode attributes.
+ (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
+ (mul[sd]f3): Redefine using :SCALARF.
+ (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
+ (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
+ (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
+ Check TARGET_FUSED_MADD for V2SF too.
+ (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
+ were already named.
+ (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
+ (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_init_builtins): Simplify. Only create
+ V2SF_type_node if it will be needed.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
+ * config/mips/mips.c (mips_prepare_builtin_arg): New function.
+ (mips_prepare_builtin_target): New function.
+ (mips_expand_builtin): Use them. Update calls to subroutines.
+ (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
+ cmp_choice with a boolean argument to select between movt and movf.
+ Take the comparison's icode as an argument, not the function's fcode.
+ (mips_expand_compare_builtin): New function. Rename existing function
+ to mips_expand_scalar_compare_builtin.
+ (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
+ (mips_expand_ps_compare_builtin): Use the new functions. Take the
+ comparison's icode as an argument, not the builtin's fcode.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
+ (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
+ registers are false and -1 if all registers are true.
+ (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
+ MIPS_CMP_UPPER and MIPS_CMP_LOWER.
+ * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
+ (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
+ (bc1any2t, bc1any2f): Likewise CCV2.
+ (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
+
+2004-08-29 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
+ * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
+ UNSPEC rather than an IF_THEN_ELSE.
+ * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
+ mips_cond_move_tf_ps by name.
+
+2004-08-29 Chao-ying Fu <fu@mips.com>
+ James E Wilson <wilson@specifixinc.com>
+
+ * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
+ 8 byte size and alignment. Give CCV4 16 byte size and alignment.
+ * config/mips/mips-ps-3d.md: New file.
+ * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
+ TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+ (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
+ (mips_output_move): Emit "mov.ps" for V2SFmode.
+ (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
+ MODE_VECTOR_FLOAT.
+ (override_options): Check if TARGET_MIPS3D and there was an explicit
+ !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
+ Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
+ TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
+ TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
+ and allow CCV2 and CCV4 to occupy two and four CC registers.
+ (print_fcc_operand): New function.
+ (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
+ %Z to call print_fcc_operand.
+ (mips_function_value): Handle MODE_VECTOR_FLOAT.
+ (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
+ (mips_vector_mode_supported_p): New function.
+ (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
+ (builtin_description): New struct.
+ (mips_bdesc): New array of struct builtin_description.
+ (mips_expand_builtin, mips_init_builtins,
+ mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
+ mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
+ functions.
+ * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
+ (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
+ (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
+ (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
+ "-mips3d", and "-mno-mips3d".
+ (ASM_SPEC): Map -mips3d to -mips3d in gas.
+ (EXTRA_CONSTRAINT_Y): New macro.
+ (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
+ multi-letter constraint 'Y'.
+ (CONSTRAINT_LEN): New macro.
+ (enum mips_builtins): New for MIPS builtin functions.
+ (enum mips_function_type): New for the types of MIPS builtin functions.
+ (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
+ * config/mips/mips.md: New constants for paired single and MIPS-3D
+ instructions. Include the new mips-ps-3d.md file.
+ (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
+ movv2sf_hardfloat_64bit): New named patterns.
+ (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
+ nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
+ sdxc1_v2sf_di): New unnamed patterns.
+ * config/mips/predicates.md (const_0_operand, const_1_operand): Add
+ const_vector support.
+ (const_0_or_1_operand): New predicate.
+ * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
+
+2004-08-29 Diego Novillo <dnovillo@redhat.com>
+
+ * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
+ (tree-ssa-propagate.o): New rule.
+ (GTFILES): Add tree-ssa-propagate.c.
+ * tree-flow.h (struct stmt_ann_d): Remove field
+ in_ccp_worklist.
+ * tree-ssa-propagate.c: New file.
+ * tree-ssa-propagate.h: New file.
+ * tree-ssa-ccp.c: Re-write to use the routines from
+ tree-ssa-propagate.c.
+
+2004-08-28 Andrew Pinski <apinski@apple.com>
+
+ * tree-ssa-loop.c: Remove extra include of basic-block.h.
+
+2004-08-28 Ziemowit Laski <zlaski@apple.com>
+
+ * c-common.h: Update comments about ObjC/ObjC++ entry points.
+ (objc_is_reserved_word): New prototype.
+ (get_current_scope, objc_mark_locals_volatile): Move prototypes to
+ separate section; these are call-backs.
+ * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
+ ObjC/ObjC++ "@" keywords.
+ * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
+ prototypes; they already live in c-common.h.
+ * stub-objc.c: Update copyright notice.
+ (objc_is_reserved_word): New stub.
+
+2004-08-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
+ even when not checking.
+
+2004-08-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/13684
+ * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
+ (gimple_push_cleanup): Add eh_only parm.
+ (gimplify_target_expr): Pass it.
+ * c.opt (-fno-threadsafe-statics): New option.
+ * c-opts.c (c_common_handle_option): Handle it.
+ * c-common.h (flag_threadsafe_statics): Declare it.
+ * c-common.c (flag_threadsafe_statics): Record it.
+ * doc/invoke.texi: Document it.
+ * tsystem.h (_GNU_SOURCE): Define.
+ * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
+ (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
+ (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
+ (__gthread_recursive_mutex_init_function): New fn.
+ (__gthread_recursive_mutex_lock): New fn.
+ (__gthread_recursive_mutex_trylock): New fn.
+ (__gthread_recursive_mutex_unlock): New fn.
+ * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
+ * gthr-win32.h, gthr-vxworks.h: Likewise.
+ * gthr.h: Document.
+
+2004-08-27 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Increase
+ maximum skip to 15. Set function alignment, jump alignment, and
+ loop alignment to 16 for processors that form dispatch groups.
+ (rs6000_rtx_costs): outer_code is used.
+
+2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * stor-layout.c (sizetype_set): Remove.
+ (set_sizetype): Don't test or set it.
+
+ * tree.h (size_int_type): Remove.
+ * fold-const.c: Do not #include gt-fold-const.h.
+ (size_htab_hash, size_htab_eq): Remove.
+ (size_int_kind): Use build_int_cst.
+ (new_const, size_htab): Remove.
+ (size_int_type): Remove.
+ (round_up): Use build_int_cst.
+ (round_down): Likewise. Remove spurious constant build.
+
+2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.ac: Add ENABLE_ASSERT_CHECKING control.
+ Add is_release variable, use it for --enable-werror and
+ --enable-checking defaults.
+ * system.h (gcc_assert, gcc_unreachable): New.
+ * doc/install.texi (--enable-checking): Update.
+ * configure, config.in: Rebuilt.
+
+2004-08-26 Richard Sandiford <rsandifo@redhat.com>
+
+ * rtl.h (read_rtx): Change prototype.
+ * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
+ line number. Return true on success.
+ * gensupport.c (process_include, init_md_reader_args_cb): Adjust
+ callers accordingly.
+
+2004-08-26 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (build_offsetof): Remove.
+ * c-tree.h (build_offsetof): Remove.
+ * c-common.c (fold_offsetof_1, fold_offsetof): New.
+ * c-common.h (fold_offsetof): Declare.
+ * c-parse.in (offsetof_base): New.
+ (offsetof_member_designator): Use it. Build references, not just
+ a tree list.
+ (primary): Use fold_offsetof, not build_offsetof.
+
+2004-08-26 Richard Henderson <rth@redhat.com>
+
+ * tree.c (staticp): Return the static object.
+ * tree.h (staticp): Update decl.
+ * langhooks.h (struct lang_hooks): Change staticp return type to tree.
+ * langhooks.c (lhd_staticp): Return NULL_TREE.
+ * langhooks-def.h (lhd_staticp): Update decl.
+ * c-common.c (c_staticp): Return the static object.
+ * c-common.h (c_staticp): Update decl.
+
+2004-08-26 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
+ modes.
+
+2004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/13801
+ * c-decl.c (struct c_binding): Add type and inner_comp fields.
+ (bind): Set type and inner_comp fields.
+ (pop_scope): Restore type of decl to the correct type from an
+ outer scope. Give error when popping file scope for incomplete
+ arrays completed incompatibly with default initialization in an
+ inner scope.
+ (diagnose_mismatched_decls): Handle externs with initializers at
+ block scope.
+ (pushdecl): Set type of external declaration at block scope based
+ only on the visible declarations. Save type when changing the
+ type of a declaration. Merge an external declaration at block
+ scope with a visible static declaration at file scope.
+ (implicitly_declare): Give recycled old declaration the new type
+ except for incompatible declarations of built-in functions, saving
+ the old type.
+
+2004-08-26 Ziemowit Laski <zlaski@apple.com>
+
+ * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
+
+2004-08-26 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-alias-common.c (gate_pta): New function.
+ (pass_build_pta): Use it.
+ (pass_del_pta): Use it.
+ (delete_alias_vars): Don't check flag_tree_points_to.
+
+2004-08-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
+ TFmode as additional register mode cloberred by call.
+
+2004-08-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
+ parallel pattern for library call returning DImode in
+ mixed mode.
+
+2004-08-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.c (function_arg): Generate parallel
+ pattern for more split args.
+
+2004-08-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
+ either gen_movdi_di_update or gen_movdi_si_update depending on
+ target mode.
+ * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
+ to generate two versions.
+
+2004-08-26 Daniel Berlin <dberlin@dberlin.org>
+
+ * Makefile.in (lambda-code.o): New.
+ (lambda-trans.o): Ditto.
+ (TREE_DATA_REF_H): Ditto.
+ (LAMBDA_H): Ditto.
+ (lambda-mat.o): Use LAMBDA_H.
+ (tree-data-ref.o): Ditto.
+ * lambda-code.c: New file. Lambda code generation algorithm.
+ * lambda-trans.c: Ditto. Lambda transformation matrix support.
+ * lambda.h: Add lambda loop structures.
+ Add lambda loopnest structures.
+ Add lambda body vector structure.
+ Add lambda linear expression structures.
+ Add prototypes for functions in new files.
+ * lambda-mat.c: Include tree.h
+
+2004-08-26 Daniel Berlin <dberlin@dberlin.org>
+ Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-data-ref.h: Include lambda.h
+ (free_dependence_relation): Declared here.
+ (free_dependence_relations): Ditto.
+ (free_data_refs): Ditto.
+ * tree-data-ref.c (free_dependence_relation): New function.
+ (free_dependence_relations): Ditto.
+ (free_data_refs): Ditot.
+ (analyze_all_data_dependences): Free datarefs and dependence_relations.
+ (build_classic_dist_vector): Store in the dependence_relations the
+ information. Each arc in the dependence_relations graph is labelled
+ with the distance and direction vectors.
+ (build_classic_dir_vector): Ditto.
+ (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
+ Now computes again the whole dependence graph including read-read
+ relations.
+ (compute_data_dependences_for_loop): Now dependence_relations contains
+ all the data, and thus it doesn't need to initialize the classic_dir
+ and classic_dist vectors.
+ (analyze_all_data_dependences): Adjusted for using the new interface of
+ compute_data_dependences_for_loop. Remove the statistics dump.
+
+2004-08-26 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
+ (xtensa_expand_block_move): Update comment.
+ (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
+
+2004-08026 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/13506
+ * toplev.c (crash_signal): If we crashed while emitting
+ a user asm, then die more gracefully.
+
2004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
PR target/17119.
2004-08-25 Richard Henderson <rth@redhat.com>
- PR target/16974
- * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
- if the constant satisfies add_operand.
+ PR target/16974
+ * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
+ if the constant satisfies add_operand.
2004-08-25 Richard Henderson <rth@redhat.com>
- PR debug/10695
- * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
- (alpha_expand_prologue): Handle >32-bit frames. Generate proper
- unwind info for >16-bit frames.
+ PR debug/10695
+ * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
+ (alpha_expand_prologue): Handle >32-bit frames. Generate proper
+ unwind info for >16-bit frames.
2004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
2004-08-25 Richard Henderson <rth@redhat.com>
- * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
- (TARGET_CANNOT_FORCE_CONST_MEM): New.
+ * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
+ (TARGET_CANNOT_FORCE_CONST_MEM): New.
2004-08-25 Andrew MacLeod <amacleod@redhat.com>