OSDN Git Service

* config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e76b32b..16eacaf 100644 (file)
@@ -1,3 +1,752 @@
+2004-08-03  Mike Stump  <mrs@apple.com>
+
+       * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
+       for frameworks.
+       * doc/invoke.texi (Darwin Options): Update to reflect above.
+
+2004-08-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/16790
+       * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
+       truncations, not just global truncations.
+
+2004-08-03  Andrew Pinski  <apinski@apple.com>
+
+       PR bootstrap/16865
+       * loop-iv.c (simplify_using_assignment): Initialize lhs.
+
+2004-08-03  Paul Brook  <paul@codesourcery.com>
+
+       * gcc/doc/install.texi: Document MPFR requirement.
+
+2004-08-03  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> 
+       and mmap() explicitly instead of relying on preset autoconf cache 
+       variables.
+       * configure: Regenerate.
+
+2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/16570
+       * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
+       to tmake_file.
+       (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
+       (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
+       to tmake_file.
+
+       * config/i386/t-gmm_malloc: New file.
+       * config/i386/t-pmm_malloc: Likewise.
+       
+       * config/i386/xmmintrin.h: Include <mm_malloc.h>.
+
+2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+           Tanguy Fautrà <tfautre@pandora.be>
+
+       * config/i386/pmm_malloc.h: New file.
+
+2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/gmm_malloc.h: New file.
+
+2004-08-03  Dale Johannesen  <dalej@apple.com>
+
+       * config/rs6000/rs6000.c (machopic_output_stub):  Align Darwin stubs.
+       * c-common.c: Include opts.h.
+       (c_common_get_alias_set): Fix check for a single input file. 
+       * toplev.c: Remove current_file_decl.
+       * tree.h: Ditto.
+
+2004-08-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * config.gcc (arm*-*-symbianelf*): New target.
+       * config/arm/symbian.h: New file.
+
+       * gthr-gnat.c: Add visibility #pragmas.
+       * gthr-gnat.h : Likewise.
+       * gthr.h: Likewise.
+       * libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
+       (__ffsDI2): Likewise.
+       (__clzSI2): Likewise.
+       (__ctzSI2): Likewise.
+       (__ctzDI2): Likewise.
+       (__popcountSI2): Likewise.
+       (__popcountDI2): Likewise.
+       (__paritySI2): Likewise.
+       (__parityDI2): Likewise.
+       * libgcc2.h: Add visibility #pragmas.
+       (__clzDI2): Add prototype.
+       (__clzSI2): Likewise.
+       (__ctzSI2): Likewise.
+       (__ffsDI2): Likewise.
+       (__ffsSI2): Likewise.
+       (__ctzDI2): Likewise.
+       (__popcountSI2): Likewise.
+       (__popcountDI2): Likewise.
+       (__paritySI2): Likewise.
+       (__parityDI2): Likewise.
+       * unwind-dw2-fde.h: Add visibility #pragmas.
+       * unwind.h: Likewise.
+
+2004-08-03  David Edelsohn  <edelsohn@gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+           Roger Sayle  <roger@eyesopen.com>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of
+       constants more accurately.  Adjust costs for FMA instructions.
+       Add cases for most logical and float operations.  Recurse into
+       most operands.
+
+2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files.
+
+2004-08-03  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * ra-build.c (conflicts_between_webs): For webs that cross a call add
+       conflicts to regs_invalidated_by_call.
+
+2004-08-03  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
+
+2004-08-03  Jan Hubicka  <jh@suse.cz>
+
+       * coverage.c (tree_coverage_counter_ref): Fix computation of the new
+       ARRAY_REF argument.
+
+2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm-cores.def: Sort by architecture.  Add arm946es, arm966es,
+       arm968es, arm10e, arm1020e, arm1022e.
+       * invoke.texi: Update list of ARM cores.
+       * arm-tune.md: Regenerate.
+
+2004-08-03  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm/gentune.sh: New file.
+       * arm/t-arm: New file.
+       * arm/arm-tune.md: New file (autogenerated).
+       * config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants.
+       * arm.md (attribute tune): Delete.  Include arm-tune.md.
+
+2004-08-03  Paolo Bonzini <bonzini@gnu.org>
+
+       * gcc.c (add_prefix, add_sysrooted_prefix): Remove
+       penultimate parameter.  All callers adjusted.
+       (struct prefix_list): Remove used_flag_ptr.
+       (find_a_file): Do not set *pl->used_flag_ptr.
+       (warn_B, warn_std_ptr): Remove.
+
+2004-08-03  Yossi Markovich <yossim@il.ibm.com>
+            Mostafa Hagog <mustafa@il.ibm.com>
+
+        * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
+
+2004-08-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (output_call_frame_info): Don't change data format
+       due to TARGET_USES_WEAK_UNWIND_INFO.  Always refer to the local
+       label.  Use 'true' not '1'.
+       * doc/install.texi (powerpc-*-darwin*): Mention cctools version
+       required.
+
+2004-08-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>
+
+       * gdbinit.in: Reflect previous changes to rtunion_def.
+
+2004-08-02  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y"
+       -> "X % Y" is only valid for TRUNC_MOD_EXPR.
+
+2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and
+       vec_p_reserve. 
+       * langhooks.h (lang_hooks::builtin_function): Rename parameter
+       from "class" to "bt_class".
+
+2004-08-02  Paul Brook  <paul@codesourcery.com>
+
+       PR rtl-optimization/15068
+       * flow.c (init_propagate_block_info): Check condition is reversible.
+
+2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * gengtype.h (options::info): Change type to const char *.
+       (enum gc_used_enum): Move out of struct type scope.
+       * gengtype.c (create_option): Convert initializer for option::info to
+       appropiate type.
+       (adjust_field_type, walk_type, write_func_for_structure,
+       write_root, write_roots): Remove pointless cast. 
+
+2004-08-02  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F.
+
+2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * rtl.h (union rtunion_def): Have all members  start with the
+       prefix "rt_".
+       (XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL,
+       X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE, 
+       X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP,
+       XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members
+       access. 
+       * gengtype.c (adjust_field_rtx_def): Likewise.
+       * rtlanal.c (loc_mentioned_in_p): Likewise.
+
+2004-08-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
+       Replace uses of mips/elf64.h with mips/elf.h
+       * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
+       (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
+       (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
+       (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
+       (HANDLE_SYSV_PRAGMA): Delete.
+       (ASM_OUTPUT_DEF): Fix formatting.
+       * config/mips/elf64.h: Delete.
+
+2004-08-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/ia64/ia64.c (got_symbolic_operand): Do require a
+       symbol+offset operand to have its offset be zero mod 0x3fff
+       when GOT entries are in use.  Clarify logic in SYMBOL_REF
+       case.  Clarify comments.
+       (ia64_expand_load_address): Split a symbol+offset load when
+       the offset is nonzero mod 0x3fff, not 0x1fff.
+
+2004-08-01  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
+       if trying to *store* to a non-offsettable address.
+       * config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to
+       a nonoffsettable address.
+       (movdi_internal32): Don't move GPRs to a nonoffsettable address.
+       Clean up.
+       (movti_string): Don't move GPRs to a nonoffsettable address.
+       (movti_ppc64): Don't move GPRs to a nonoffsettable address.  Clean up.
+
+2004-08-02  Ben Elliston  <bje@au.ibm.com>
+
+       PR target/16155
+       * config/rs6000/altivec.h: Replace typeof with __typeof__.
+
+2004-08-01  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
+       variable sized types.
+
+2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi: In the MIPS options section, remove the passage
+       saying that -mexplicit-relocs is usually disabled for -mabicalls
+       -fno-unit-at-a-time.
+       * config/mips/mips.c (override_options): Remove the code that enforced
+       this rule.
+
+2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (cprestore): Provide two alternatives, one for
+       an in-range offset and one for an out-of-range offset.  Wrap the latter
+       in .set macro/.set nomacro if it's inside a .set nomacro block.
+
+2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_gp_save_slot): Remove.
+       (mips_restore_gp): Declare.
+       * config/mips/mips.c (mips_add_offset): Add a scratch register
+       argument.  Reimplement in rtl only, reusing MIPS16 logic from
+       mips_output_mi_thunk.
+       (mips_legitimize_address, mips_legitimize_const_move): Adjust calls
+       to mips_add_offset.
+       (mips_gp_save_slot): Delete.
+       (mips_restore_gp): New function.
+       (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset.
+       * config/mips/mips.md (exception_receiver): Turn into a
+       define_insn_and_split.  Use mips_restore_gp to do the split.
+       (call_internal, call_value_internal, call_value_multiple_internal): Use
+       mips_restore_gp to restore $gp.
+
+2004-07-31  Andrew Pinski  <apinski@apple.com>
+
+       PR other/16842
+       * mkheaders.in (libsubdir): s/gcc-lib/gcc/.
+
+2004-07-31  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-decl.c (diagnose_mismatched_decls): Give error for external
+       redeclaration of identifier declared with no linkage, not just
+       warning with -Wtraditional.  Do not check DECL_CONTEXT to give
+       error for redeclaration with no linkage.
+
+2004-07-30  Geoffrey Keating  <geoffk@apple.com>
+           Fariborz Jahanian <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit
+       non-offsettable addresses even for DImode.
+       (rs6000_split_multireg_move): Cope with non-offsettable addresses
+       being moved into multiple GPRs.
+
+       * config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default
+       to 64.
+       (rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE.
+       * config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define
+       to 128.
+       * config/rs6000/darwin-ldouble.c (isless): New macro.
+       (inf): New macro.
+       (nonfinite): New macro.
+       (FPKINF): Delete.
+       (_xlqadd): Completely rewrite.
+       (_xlqmul): Correct overflow handling.
+       (_xlqdiv): Correct overflow handling.
+       * config/rs6000/darwin-ldouble-format: New file.
+
+2004-07-30  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.md: New peephole2's to convert imul by 3, 5 or
+       9 into the equivalent lea instruction.
+
+2004-07-30  Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace
+       with DECL_INITIAL if fb_lvalue.
+       * tree-gimple.c (is_gimple_id): Add CONST_DECL.
+       * tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL
+       with <Cxxx>.
+       * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL.
+
+2004-07-30  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (compute_points_to_and_addr_escape): If a
+       pointer escapes through a function call, assume that the
+       callee will dereference it.
+       (add_pointed_to_var): Assume that VALUE is always an
+       ADDR_EXPR.
+       (collect_points_to_info_r): Only call add_pointed_to_var if
+       the value is an ADDR_EXPR.
+
+2004-07-30  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (create_alias_map_for): Do not get the
+       alias set of the inner type of ARRAY_TYPEs.
+
+2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-ccp.c (visit_assignment): Move code to prevent
+       setting a non-register to UNDEFINED right before the call to
+       set_lattice_value.
+
+2004-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.
+
+2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa.c (verify_flow_sensitive_alias_info): When
+       comparing points-to sets of different pointers, make sure the
+       second pointer is actually referenced in the code.
+
+2004-07-29  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/ia64/ia64.c (setjmp_operand): Delete, unused.
+       (got_symbolic_operand): Remove unreachable code.
+       * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for
+       setjmp_operand; add entry for tls_symbolic_operand.
+       * config/ia64/ia64-protos.h: Remove all prototypes of
+       predicate functions.
+
+2004-07-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-common.h (lang_post_pch_load): New variable.
+       * c-pch.c (lang_post_pch_load): Define it.
+       (c_common_read_pch): Use it.
+       * cgraphunit.c (record_call_1): Give the front end a chance to
+       record additional needed entities when a variable is marked as
+       needed.
+       * tlink.c (recompile_files): Robustify.
+       (scan_linker_output): If a symbol is assigned to a file,
+       but after recompilation is not present there, issue an error
+       message.
+
+2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-ssa-loop-im.c (force_move_till_expr, force_move_till):
+       Take orig_loop argument and pass it to set_level.
+       (schedule_sm): Pass the correct orig_loop to force_move_till.
+
+2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgloop.c (update_latch_info): Update dominator of the new block.
+       (canonicalize_loop_headers, flow_loops_find): Do not free dominance
+       info.
+       * dominance.c (verify_dominators): Check that the dominance tree is
+       connected.
+       (recount_dominator): Ignore unreachable blocks.
+       (iterate_fix_dominators): Cleanup old dominance information before
+       recomputing it.
+
+2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Revert changes
+       to ADDR_EXPR processing introduced by:
+           2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
+
+2004-07-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/implement-c.texi: Add C90 subclause references.  Point to
+       preprocessor documentation instead of duplicating it.  Add points
+       only present in C90.  Fill in documentation for all points.
+
+2004-07-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (output_movb): Correct typo.
+
+2004-07-29  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * ra.h (single_reg_in_regclass): Declare.
+       * ra.c (single_reg_in_regclass): Define.
+       (first_hard_reg): New.
+       (init_ra): Initialize single_reg_in_regclass.
+       * ra-colorize.c (ok_class): New.
+       (coalesce, aggressive_coalesce, extended_coalesce_2): Use it.
+
+2004-07-29  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * gcov-io.h: Allow zero tag as EOF indicator.
+       (gcov_is_eof): Remove.
+       (gcov_truncate): Remove.
+       * gcov-io.c (gcov_seek): Always SEEK_SET.
+       * libgcov.c (gcov_exit): Don't use gcov_truncate.  Write explicit
+       EOF tag.
+       * coverage.c (read_counts_file): Don't use gcov_is_eof.
+       * gcov-dump.c (dump_file): Likewise.
+       * gcov.c (read_graph_file, read_count_file): Likewise.
+
+       * c-decl.c (complete_array_type): Don't gratuitously copy
+       maxindex.  Check it always has a type.
+
+2004-07-29  Steven Bosscher  <stevenb@suse.de>
+
+       * rtl.c (currently_expanding_to_rtl): New.
+       * rtl.h (currently_expanding_to_rtl): Export it.
+       * cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
+
+       * config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
+       inliner hack.
+       * config/sh/sh.c: Replace rtx_equal_function_value_matters
+       with currently_expanding_to_rtl.
+       * config/sh/sh.md: Likewise.
+       * config/ia64/ia64.c (got_symbolic_operand): Likewise.
+
+2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
+
+       Introduce sh2a support.
+       2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
+       * config.gcc: Build multilibs for sh2a and sh2a-single by
+       default.
+       * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
+       default.  Split their tests out of the corresponding SH4
+       multilibs.
+       * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
+       multilibs for SH2a.
+       2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+       * config.gcc: Handle sh2a multilibs and cpu selection.
+       * config/sh/sh.h: Likewise.  Handle sh2a command line flags.
+       * config/sh/t-mlib-sh2a: New.
+       * config/sh/t-mlib-sh2a-nofpu: New.
+       * config/sh/t-mlib-sh2a-single: New.
+       * config/sh/t-mlib-sh2a-single-only: New.
+       2004-07-09  Nick Clifton  <nickc@redhat.com>
+       Issue 43400
+       * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
+       -ml and -m2a are used together.
+       2004-03-23  DJ Delorie  <dj@redhat.com>
+       * config/sh/sh.c (sh_builtin_saveregs): Use the double code only
+       when we have a double-sized FPU.
+       2004-02-24  Corinna Vinschen <vinschen@redhat.com>
+       * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
+       is set.
+       * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
+       -msh2a-single and -msh2a-single-only
+       2004-02-24  Corinna Vinschen <vinschen@redhat.com>
+       * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
+       is set.
+       2004-02-20  DJ Delorie  <dj@delorie.com>
+       * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
+       2004-02-20  Fred Fish <fnf@redhat.com>,
+       Corinna Vinschen <vinschen@redhat.com>
+       * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
+       (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
+       2004-02-18  DJ Delorie  <dj@redhat.com>
+       * config/sh/sh.c (broken_move): Add support for movi20.
+       * config/sh/sh.h: Likewise.
+       (SHIFT_COUNT_TRUNCATED): Set for sh2a.
+       * config/sh/sh.md (udivsi3_sh2a): New.
+       (udivsi3): Call it.
+       (divsi3_sh2a): New.
+       (divsi3): Call it.
+       (mul_r): New.
+       (ashlsi3_sh2a): New.
+       (ashrsi3_sh2a): New.
+       (lshrsi3_sh2a): New.
+       (movsi_i): Disable for sh2a.
+       (movsi_ie): Add movi20.
+       (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
+       sh2a, for -m2a-nofpu mode.
+       2004-02-13  DJ Delorie  <dj@redhat.com>
+       * config/sh/lib1funcs.asm: Handle double vs single better.
+       * config/sh/sh.h: Likewise.
+       2004-02-09  DJ Delorie  <dj@redhat.com>
+       * config/sh/crt1.asm: Add support for sh2a.
+       * config/sh/elf.h: Likewise.
+       * config/sh/lib1funcs.asm: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sh/sh.md: Likewise.
+       * config/sh/sh.h: Likewise.
+       * config/sh/t-sh: Likewise.
+
+2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.md (movqi_internal, movhi_internal,
+       movsi_internal): Add backup alternatives for memory inputs.
+
+2004-07-28  Matt Austern  <austern@apple.com>
+
+       * config/darwin.c (darwin_one_byte_bool): New global variable.
+       * config/darwin.h (darwin_one_byte_bool): Declare.
+       (SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
+       * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
+       value of darwin_one_byte_bool.
+       * doc/invoke.texi: Document -mone-byte-bool flag.
+
+2004-07-28  Eric Christopher  <echristo@redhat.com>
+
+       * c-common.c (c_common_unsafe_for_reeval): Delete.
+       * c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
+       * c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
+       * calls.c (fix_unsafe_tree): Delete.
+       (expand_call): Delete code which used above.
+       * dojump.c (do_jump): Delete UNSAVE_EXPR case.
+       * expr.c (expand_expr_real_1): Ditto.
+       * fold-const.c (non_lvalue): Ditto.
+       * langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
+       (lhd_unsafe_for_reeval): Ditto.
+       * langhooks.c (lhd_unsafe_for_reeval): Ditto.
+       * langhooks.h (unsafe_for_reeval): Ditto.
+       (unsave_expr_now): Adjust comment.
+       * tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
+       (estimate_num_insns_1): Ditto.
+       * tree-pretty-print.c (dump_generic_node): Ditto.
+       * tree.c (expr_align): Ditto.
+       (unsave_expr): Delete.
+       (unsafe_for_reeval): Ditto.
+       * tree.h (unsafe_for_reeval, unsave_expr): Ditto.
+       * tree.def (UNSAVE_EXPR): Delete.
+       * objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
+
+2004-07-28  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.h (enum tls_model): Move ...
+       * coretypes.h: ... here.
+
+2004-07-28  Richard Sandiford <rsandifo@redhat.com>
+
+       * config/frv/frv.h (EPILOGUE_USES): New.  Use LR.
+
+2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * cse.c (validate_canon_reg): New function, split out from...
+       (canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (maybe_create_global_var): Don't just
+       return if .GLOBAL_VAR has been created.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa.c (verify_flow_insensitive_alias_info): Process
+       every variable that may have aliases, not just tags.
+
+2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
+       move_from_CR_eq_bit.
+       Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
+
+
+       * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
+       e500_flip_eq_bit.
+
+       * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
+       output_e500_flip_eq_bit.
+
+       * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
+       output_e500_flip_eq_bit.
+       (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
+       output_e500_flip_eq_bit.
+       Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
+       (print_operand): case D.  Get to EQ bit.
+
+2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * gcov.c (function_summary): Add missing \n.
+
+2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       Introduce sh4a support.
+       * config.gcc: Handle sh4a multilibs and cpu selection.
+       * config/sh/sh.h: Likewise.  Handle sh4a command line flags.
+       * config/sh/t-mlib-sh4a: New.
+       * config/sh/t-mlib-sh4al: New.
+       * config/sh/t-mlib-sh4a-nofpu: New.
+       * config/sh/t-mlib-sh4a-single: New.
+       * config/sh/t-mlib-sh4a-single-only: New.
+       2004-02-20  DJ Delorie  <dj@redhat.com>
+       * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
+       * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
+       2003-08-22  Eric Christopher  <echristo@redhat.com>
+       * config/sh/sh4a.md: Update for chip errata.
+       2003-08-07  Eric Christopher  <echristo@redhat.com>
+       * config/sh/sh4a.md: New file. sh4a processor description.
+       2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
+       of -m4a-nofpu.
+       (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
+       * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
+       * doc/invoke.texi (SH Options): Document -m4al.
+       2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.c (expand_block_move): Remove commented-out code
+       checked in by mistake.
+       (sh_cannot_change_mode_class): Enable SUBREGs to be used to select
+       single elements from SFmode vectors.
+       * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
+       register.
+       (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
+       2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): Remove variable declarations.
+       * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): New functions.
+       (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
+       sh_fsca_int2sf_rtx): New static variables.
+       * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): Declare.
+       * config/sh/sh.md: Adjust.
+       * doc/invoke.texi (SH Options): Document new options.
+       * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
+       compatibility from SH4 code.
+       2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
+       * config/sh/sh.c (expand_block_move): Don't emit POST_INC too
+       early.
+       (memory_movsrc_operand): Renamed to...
+       (unaligned_load_operand): ... this.  Simplified.
+       * config/sh/sh.h (PREDICATE_CODES): Adjust.
+       * config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
+       input operand to SImode, and adjust the others.  Introduce
+       post-increment by peephole.
+       * config/sh/sh.c (expand_block_move): Give the target address the
+       same mode as the temp reg.
+       * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
+       copying.
+       2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
+       Introduce support for SH4a.
+       * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
+       __SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
+       * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+       sh_fsca_int2sf): New.
+       (sh_init_builtins): Initialize them.
+       (print_operand): Support `d'.
+       (expand_block_move): Use movua if src is misaligned.
+       (memory_movsrc_operand): New.
+       * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
+       and one of the SH4 macros.
+       (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
+       SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
+       SELECT_SH4A_SINGLE): New.
+       (TARGET_NONE): Add SH4A_BIT.
+       (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
+       (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
+       (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
+       (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
+       (enum processor_type): Added PROCESSOR_SH4A.
+       (PREDICATE_CODES): Add memory_movsrc_operand.
+       * config/sh/sh.md: Removed unused variables.
+       (attr cpu): Add sh4a.
+       (attr type): Add movua, fsrra and fsca.
+       (prefetch): New, for SH4.
+       (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
+       (toggle_sz): Set type to fp.
+       (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
+       (movua, extv, extzv): New.
+       * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
+       and 4a-single-only.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-optimize.c (init_tree_optimization_passes): Schedule
+       pass_may_alias right after the program is renamed into SSA.
+       * tree-pass.h (PROP_alias): Define.
+       * tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
+       * tree-sra.c (pass_sra): Likewise.
+       * tree-ssa-ccp.c (pass_ccp): Likewise.
+       * tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
+       * tree-ssa-dce.c (pass_dce): Likewise.
+       * tree-ssa-dom.c (pass_dominator): Likewise.
+       * tree-ssa-dse.c (pass_dse): Likewise.
+       * tree-ssa-forwprop.c (pass_forwprop): Likewise.
+       * tree-ssa-loop-ch.c (pass_ch): Likewise.
+       * tree-ssa-phiopt.c (pass_phiopt): Likewise.
+       * tree-ssa-pre.c (pass_pre): Likewise.
+       * tree-tailcall.c (pass_tail_recursion): Likewise.
+       * tree-ssa.c (pass_redundant_phi): Likewise.
+       * tree-ssa-alias.c (aliases_computed_p): Remove.
+       Update all users.
+       (init_alias_info): Do not mark all type tags for renaming
+       unconditionally.
+       Clear may_aliases from every symbol.
+       (setup_pointers_and_addressables): If a pointer has not been
+       dereferenced and it had a type tag, clear it and mark the old
+       tag for renaming.
+
+2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/16705
+       * tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
+       .GLOBAL_VAR.
+
+2004-07-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
+       check.
+
+       * gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
+       don't make another one.
+
+       PR optimization/15077
+       * function.h (struct function): Add field saved_static_chain_decl.
+       Fix comment for static_chain_decl.
+       * tree-inline.c (save_body): Add new arg and handle static_chain_decl.
+       * tree-inline.h (save_body): Add new arg.
+       * tree-optimize.c (tree_rest_of_compilation): Handle saving
+       static_chain_decl.
+
+2004-07-27  Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
+       (gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
+       is_gimple_addressable.
+       * tree-gimple.c (is_gimple_addressable): Rename from
+       is_gimple_addr_expr_arg; accept INDIRECT_REF.
+       (is_gimple_lvalue): Don't test INDIRECT_REF directly.
+       * tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
+       rename to is_gimple_addressable.
+
 2004-07-28  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.