+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.
+
+2004-07-27 Richard Henderson <rth@redhat.com>
+
+ * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
+ before rounding.
+
+2004-07-27 Zack Weinberg <zack@codesourcery.com>
+
+ * libgcc2.c: Change all conditionals testing
+ LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
+ * libgcc2.h: Likewise.
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
+ TYPE_PRECISION of float80_type to 80.
+ * config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
+ of fpreg_type and float80_type to 80.
+ * config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
+ * config/m68k/netbsd-elf.h:
+ Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
+ to evaluate to 80 whenever they would formerly have evaluated to 96.
+ * config/i386/sco5.h: Remove unnecessary redefinition of
+ LONG_DOUBLE_TYPE_SIZE.
+ * doc/rtl.texi: Clarify uses of XFmode and TFmode.
+ * config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
+ XFmode, with a bitsize of 80. Update commentary.
+ * config/ia64/ia64-modes.def: Likewise.
+ * config/m68k/m68k-modes.def: Likewise.
+
+2004-07-27 Steven Bosscher <stevenb@suse.de>
+
+ * cfgexpand.c (tree_expand_cfg): Fix comment.
+
+ * calls.c (expand_call): Ignore rtx_equal_function_value_matters.
+ * function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
+ Remove.
+ (prepare_function_start): Don't set rtx_equal_function_value_matters.
+ * integrate.c (copy_rtx_and_substitute): Don't test for it.
+ * passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
+ Don't set rtx_equal_function_value_matters. Don't register RTL hooks
+ here again. Update leading comment.
+ * rtl.c (rtx_equal_function_value_matters): Remove.
+ (rtx_equal_p): Don't test for it.
+ * simplify-rtx.c (simplify_binary_operation, simplify_subreg):
+ Likewise.
+
+ * rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
+ * rtl.c (note_insn_name): Likewise.
+ * emit-rtl.c (remove_unnecessary_notes): Don't handle it.
+ * final.c (final_scan_insn): Likewise.
+
+ * except.c (finish_eh_generation): Don't call cfg_cleanup from here.
+ * passes.c (rest_of_handle_eh): Do it here.
+
+ * stmt.c (struct nesting): Remove struct nesting block member.
+ (struct stmt_status): Remove x_block_start_count field.
+ (current_block_start_count): Remove.
+
+2004-07-27 Brian Booth <bbooth@redhat.com>
+
+ * tree-optimize.c (register_one_dump_file): Update condition that uses
+ static_pass_number.
+ (dup_pass_1): Replace with...
+ (next_pass_1): This.
+ (NEXT_PASS): Call next_pass_1.
+ (DUP_PASS): Remove.
+ (init_tree_optimization_passes): Remove uses of DUP_PASS.
+ (execute_one_pass): Update condition that uses
+ static_pass_number.
+ * tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
+ integer.
+
+2004-07-27 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.c: Include integrate.h in order to get the
+ prototype for get_hard_reg_initial_val().
+
+ * config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
+ and tidy up indentation.
+ (final_presence_set): Use absence_set instead, so that if there is
+ nothing in the "o" pipe the "s" pipe can be scheduled.
+
+2004-07-27 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa-alias.c (create_name_tags): Ignore pointers that
+ don't have PT_VARS nor PT_MALLOC set.
+ Clear name tag from pointers that have not been dereferenced.
+ (set_pt_anything, set_pt_malloc): Forward declare.
+ * tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
+ not type compatibility when determining if a pointer can be
+ copy propagated.
+
+2004-07-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * expr.h (canonicalize_condition, get_condition): Add an int argument.
+ * gcse.c (fis_get_condition): Reimplement using get_condition, leaving
+ it to check whether the condition is still valid at the jump insn.
+ * ifcvt.c (noce_get_condition): Likewise.
+ (noce_get_alt_condition): Update call to canonicalize_condition.
+ * loop-iv.c (simplify_using_initial_values): Update call to
+ get_condition. Remove FIXME.
+ (check_simple_exit): Update call to get_condition.
+ * loop-unswitch.c (may_unswitch_on): Likewise.
+ * loop.c (check_dbra_loop): Likewise.
+ (canonicalize_condition, get_condition): Add an argument to say whether
+ the condition must still be valid at INSN.
+ (get_condition_for_loop): Update call to get_condition. Require that
+ the condition be valid at INSN.
+ * predict.c (estimate_probability): Update call to get_condition.
+ Remove unused earliest parameter.
+ (expected_value_to_br_prob): Update call to canonicalize_condition.
+
+2004-07-26 Eric Christopher <echristo@redhat.com>
+
+ * tree-dfa.c (add_referenced_var): Register initializers of global
+ variables.
+
+2004-07-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/i386/i386.c (function_arg): Always treat 8-
+ and 16-byte wide vectors the same, even if MMX/SSE
+ are disabled.
+ (contains_128bit_aligned_vector_p): Add comment.
+
+2004-07-26 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * ra.h (enum node_type): Rename to:
+ (enum ra_node_type).
+ * ra-colorize.c: Likewise.
+
+2004-07-26 Richard Sandiford <rsandifo@redhat.com>
+
+ * cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
+ after simplifying the jump.
+
+2004-06-26 Richard Henderson <rth@redhat.com>
+
+ * calls.c (combine_pending_stack_adjustment_and_call): Make
+ preferred_unit_stack_boundary argument unsigned. Make
+ unadjusted_alignment unsigned.
+ (expand_call): Make preferred_stack_boundary and
+ preferred_unit_stack_boundary variables unsigned.
+ * function.c (assign_stack_local_1): Make alignment unsigned.
+ * function.h (struct function): Make stack_alignment_needed,
+ preferred_stack_boundary unsigned.
+ * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
+ (ix86_compute_frame_layout): Make stack_alignment_needed,
+ preferred_alignment variables unsigned.
+ * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.
+
+2004-07-26 Tom Tromey <tromey@redhat.com>
+
+ * tree.h: Fix typo in comment.
+
+2004-07-26 Daniel Jacobowitz <dan@debian.org>
+
+ PR bootstrap/12804
+ * ggc-zone.c (struct alloc_chunk): Remove attribute packed.
+ (MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
+ (ggc_free): Remove incorrect freeing.
+ (sweep_pages): Advance PP for large pages. Fix indentation.
+
2004-07-26 Richard Sandiford <rsandifo@redhat.com>
PR rtl-optimization/16643
2004-07-25 David Edelsohn <edelsohn@gnu.org>
+ PR target/16239
* config/rs6000/rs6000.md (movdi_internal64): Further disparage
f->f.