+2004-07-13 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap
+ arguments for COND_EXPR in big-endian adjustment code.
+
+2004-07-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.
+ * pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64.
+ * pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers.
+ * pa64-regs.h (REG_ALLOC_ORDER): Likewise.
+
+2004-07-13 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/16443
+ * tree-ssa-alias.c: Add more description for
+ CALL_CLOBBERED_VARS and ADDRESSABLE_VARS.
+ * tree-ssa-operands.c (get_asm_expr_operands): Re-order the
+ clobbering of call-clobbered and addressable variables. If
+ there are any before aliases have been computed, add them.
+
+2004-07-13 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-optimize.c (execute_todo): Flush DUMP_FILE before
+ verification.
+
+2004-07-13 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead
+ of build_int_2. Convert both operands of PLUS_EXPR and MULT_EXPR
+ to the same type.
+
+2004-07-13 Per Bothner <per@bothner.com>
+
+ * collect2.c (main): Handle --no-demangle and --demangle flags.
+
+2004-07-13 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * Makefile.in (OBJS-common): Add tree-data-ref.o.
+ (tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h.
+ (tree-data-ref.o): New rule.
+ * lambda.h: New file.
+ * tree-data-ref.c: New file.
+ * tree-data-ref.h: New file.
+ * tree.c (int_cst_value, tree_fold_gcd): New functions.
+ * tree.h (int_cst_value, tree_fold_gcd): Declared here.
+
+2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/13926
+ * config/sparc/sparc-protos.h (output_ubranch): New prototype.
+ * config/sparc/sparc.c (output_ubranch): New function.
+ * config/sparc/sparc.md (jump pattern): Use it.
+
+2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/16494
+ * config/sparc/sparc.c (output_cbranch): Properly guard
+ the code handling far branches with TARGET_V9.
+ * config/sparc/sparc.md (length attribute): Document the
+ side-effect of having a length greater or equal to 3.
+
+2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Lloyd Parkes <lloyd@must-have-coffee.gen.nz>
+
+ PR target/15186
+ * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
+ /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
+
+2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Martin Sebor <sebor@roguewave.com>
+
+ PR target/12602
+ * doc/invoke.texi (SPARC options): Document -threads
+ and -pthreads on Solaris.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (std_gimplify_va_arg_expr): Handle types passed
+ by reference.
+ (ind_gimplify_va_arg_expr): Remove.
+ * tree.h (ind_gimplify_va_arg_expr): Remove.
+ * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
+ * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
+ argsp to be null.
+
+ * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
+ (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
+ * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
+ config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
+ config/mn10300/mn10300.c, config/v850/v850.c: Similarly.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * function.c (pass_by_reference): New.
+ (assign_parm_find_data_types): Use it.
+ * calls.c (initialize_argument_information): Likewise.
+ (emit_library_call_value_1): Likewise.
+ * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * function.h (pass_by_reference): Declare.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * target-def.h (TARGET_MUST_PASS_IN_STACK): New.
+ * target.h (struct gcc_target): Add calls.must_pass_in_stack.
+ * expr.h (MUST_PASS_IN_STACK): Remove.
+ * system.h (MUST_PASS_IN_STACK): Poison.
+ * tree.h (must_pass_in_stack_var_size): Declare.
+ (must_pass_in_stack_var_size_or_pad): Declare.
+ * calls.c (must_pass_in_stack_var_size): New.
+ (must_pass_in_stack_var_size_or_pad): Rename from
+ default_must_pass_in_stack.
+ * config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
+ (TARGET_MUST_PASS_IN_STACK): New.
+ * config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
+ * config/fr30/fr30.c (fr30_must_pass_in_stack): New.
+ (TARGET_MUST_PASS_IN_STACK): New.
+ * config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
+ * config/frv/frv.c (frv_must_pass_in_stack): New.
+ (TARGET_MUST_PASS_IN_STACK): New.
+ * config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
+ * config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
+ * config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
+ (ix86_must_pass_in_stack): Make static.
+ * config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
+ * config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
+ * config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
+ * config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
+ * config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
+ (mcore_must_pass_on_stack): Remove.
+ * config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
+ * config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
+ * config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
+ * config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
+ * config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
+ * config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
+ (TARGET_MUST_PASS_IN_STACK): New.
+ * config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
+ * config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
+ * config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
+ * config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
+ * doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
+ MUST_PASS_IN_STACK.
+
+ * calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
+ config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
+ config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
+ config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
+ config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
+ config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
+ config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
+ config/xtensa/xtensa.c: Use target hook.
+
+2004-07-13 Anthony Heading <aheading@jpmorgan.com>
+
+ * configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo.
+ * configure: Rebuilt.
+
+2004-07-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Remove documentation for MIPS -mrnames option.
+ * config/mips/mips.h (mips_reg_names): Don't declare.
+ (MASK_NAME_REGS): Delete. Shuffle other MASK_* values down.
+ (TARGET_NAME_REGS): Delete.
+ (TARGET_SWITCHES): Remove -mrnames.
+ (REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
+ (ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
+ in REGISTER_NAMES.
+ * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
+ (override_options): Remove handling of TARGET_NAME_REGS.
+
+2004-07-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (TARGET_*): Boolify.
+
+2004-07-12 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc: Add sh-*-symbianelf target.
+ * config/sh/sh.c: Add new target macros:
+ TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
+ TARGET_CXX_IMPORT_EXPORT_CLASS.
+ (sh_file_start): Create a definition of the .directive section.
+ (sh_attribute): Add dllimport and dllexport attributes.
+ * config/sh/symbian-pre.h: New file.
+ * config/sh/symbian-post.h: New file.
+ * config/sh/symbian.c: New file. Contains Symbian specific
+ functions.
+ * config/sh/sh-protos.h: Add prototypes for new functions
+ provided by symbian.c.
+ * config/sh/t-symbian: New file.
+ * doc/extend.texi: Document support for dllimport and dllexport
+ attributes by the sh-symbianelf target.
+
+2004-07-12 James E Wilson <wilson@specifixinc.com>
+
+ * Makefile.in (AR): Use @AR@ not ar.
+ (NM): New.
+ (AR_FOR_TARGET): Use $(AR) not ar for native.
+ (NM_FOR_TARGET): Use $(NM) not nm for native.
+ * configure.ac: Add AC_CHECK_PROG calls for NM and AR.
+ * configure: Regenerate.
+
+2004-07-12 David S. Miller <davem@nuts.davemloft.net>
+
+ * config/sparc/sparc.md (ashlsi3): Eliminate const 1
+ special case.
+ (ashldi3_sp64): Likewise.
+
+2004-07-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/16477
+ * pa.c (function_arg): Update comment.
+ * pa.h (BLOCK_REG_PADDING): Define.
+
+2004-07-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR tree-optimization/16461
+ * tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name
+ arguments of phi nodes.
+
+2004-07-12 Devang Patel <dpatel@apple.com>
+
+ * doc/invoke.texi (Darwin Options): Document -gused and -gfull.
+
+2004-07-12 Steve Ellcey <sje@cup.hp.com>
+
+ * function.c (expand_function_start): Ensure r_save is in Pmode.
+ * calls.c (prepare_call_address): Ensure static_chain_value is
+ in Pmode.
+ * builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and
+ r_save_area are in Pmode.
+ * config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr,
+ fnaddr, and static_chain are in Pmode.
+
+2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/16445
+ * config/ia64/ia64.c (bundling): Don't count ignored insns.
+
+2004-07-12 Richard Henderson <rth@redhat.com>
+
+ * target.h (struct gcc_target): Move gimplify_va_arg_expr
+ next to build_builtin_va_list.
+ * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match.
+ * builtins.c (gimplify_va_arg_expr): Likewise.
+ * gimplify.c (copy_if_shared_r): Likewise.
+
+2004-07-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * passes.c (rest_of_decl_compilation): Don't defer call of
+ assemble_variable if its DECL_RTL is already set.
+
+2004-07-12 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * cfgloop.h (struct loop): Add nb_iterations field.
+ (current_loops): Declare.
+ * tree-chrec.c (chrec_not_analyzed_yet,
+ chrec_dont_know, chrec_known, count_ev_in_wider_type,
+ chrec_contains_symbols_defined_in_loop): Remove the temporary
+ hooks.
+ * tree-flow-inline.h (loop_containing_stmt): New function.
+ * tree-scalar-evolution.c: Add implementation.
+ * tree-scalar-evolution.h: Add declarations.
+
+2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/15921
+ * Makefile.in (global.o): Add recog.h.
+
+ * global.c (recog.h): Add the include-clause.
+ (bb_info): New member earlyclobber.
+ (allocate_bb_info, free_bb_info): Initialize/finish the new
+ member.
+ (earlyclobber_regclass, earlyclobber_regclass_length): The new
+ global variables.
+ (check_earlyclobber, regclass_intersect,
+ mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1):
+ New functions.
+ (calculate_local_reg_bb_info): Calculate value of earlyclobber.
+ (make_accurate_live_analysis): Modify pavin.
+
+2004-07-12 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-cfg.c (find_taken_edge): Statically compute the truth
+ value of a predicate comparing an SSA_NAME to itself.
+
+2004-07-12 Roger Sayle <roger@eyesopen.com>
+
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the
+ rs6000 doesn't have shift-and-add or shift-and-sub instructions
+ by returning the cost of a multiplication plus an addition.
+
+2004-07-12 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/14107
+ * gimplify.c (gimplify_return_expr): Accept a
+ RETURN_EXPR with an error argument.
+ * tree-optimize.c (init_tree_optimization_passes):
+ Run pass_warn_function_return at -O0.
+
+2004-07-12 Roger Sayle <roger@eyesopen.com>
+
+ * doc/invoke.texi: Correct -fasynchronous-unwind-tables option
+ index entry.
+
+2004-07-12 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete.
+ (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ * config/mips/3000.md: Add copyright notice. Remove automota and
+ function units; use generic ones instead. Only define reservations
+ for things that are different from generic.md. Extend each clause
+ to include r3900.
+ * config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files.
+ * config/mips/mips.md: Include them. Remove define_function_units.
+ (alu, imuldiv): New automata and units.
+
+2004-07-12 Ben Elliston <bje@au.ibm.com>
+
+ * doc/invoke.texi (Optimize Options): Document -frename-registers
+ not being enabled by default at -O3.
+
+2004-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for
+ floating point additions, to keep real immediate constant positive.
+ <MINUS_EXPR>: For floating point subtractions, only transform X - -C
+ into X + C, and leave positive real constants as X - C.
+
+2004-07-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (hppa_gimplify_va_arg_expr): Remove comment.
+
+2004-07-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR tree-optimization/15654
+ * tree-tailcall.c (eliminate_tail_call): Remove unreachable code.
+
+2004-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (fold_builtin_fputs): Don't bother converting the
+ return type to integer_type_node, as we've already checked that
+ the result will be ignored.
+
+ * tree-eh.c (tree_could_trap_p): Add support for -ftrapv such
+ that signed addition, subtraction, multiplication, division,
+ remainder, negation and absolute value may potentially trap.
+
+ * fold-const.c (fold_ignored_result): New function to strip
+ non-side-effecting tree nodes from an expression whose result
+ is ignored.
+ (fold_convert): Call fold_ignored_result when casting a value
+ to VOID_TYPE.
+ (omit_one_operand): Call fold_ignored_result on the "omitted"
+ operand when building a COMPOUND_EXPR.
+ (pedantic_omit_one_operand): Likewise.
+ * tree.h (fold_ignored_result): Prototype here.
+ * tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result
+ when we're going to ignore the result.
+
2004-07-11 Richard Henderson <rth@redhat.com>
PR tree-opt/16383