+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
+ * tree-ssa-ccp.c (fold_stmt_r): Split out...
+ * tree.c (fields_compatible_p, find_compatible_field): ... new.
+ * tree.h (fields_compatible_p, find_compatible_field): Declare.
+ * tree-sra.c (sra_hash_tree): Hash fields by offset.
+ (sra_elt_eq): Use fields_compatible_p.
+ (generate_one_element_ref): Use find_compatible_field.
+
+2004-07-11 Richard Henderson <rth@redhat.com>
+
+ PR tree-opt/16422
+ * tree-sra.c (generate_one_element_init): New.
+ (generate_element_init): Use it.
+ (scalarize_init): Push/pop gimplify context around it.
+ (find_new_referenced_vars_1, find_new_referenced_vars): New.
+ * gimplify.c (gimplify_expr): Allow SSA_NAME.
+
+2004-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * rtlanal.c (insn_rtx_cost): New function, moved and renamed from
+ combine.c's combine_insn_cost.
+ * rtl.h (insn_rtx_cost): Prototype here.
+ * combine.c (combine_insn_cost): Delete function.
+ (combine_validate_cost): Update callers of combine_insn_cost to
+ call insn_rtx_cost instead.
+ (combine_instructions): Likewise. Use NONJUMP_INSN_P to avoid
+ requesting the rtx_cost of call and/or jump instructions.
+
+ * ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling
+ rtx_cost directly. Don't request/use the cost of call or jump
+ instructions. Return -1 if the cost of any instruction can't be
+ determined (or the BB contains a function call).
+ (find_if_case_1): Abort transformation if total_bb_rtx_cost returns
+ -1 (i.e. can't determine the cost of any instruction or the basic
+ block contains a subroutine call).
+ (find_if_case_2): Likewise.
+
+2004-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * rs6000.c (struct processor_costs): Change semantics of fields to
+ include the COST_N_INSNS scaling, and update all initializers.
+ (rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields.
+ Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE.
+ Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP. When
+ optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * LANGUAGES: Remove obsolete information.
+
+2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
+ SIGBUS signal frames, the PSW address points *to* the faulting
+ instruction, not after it.
+
+2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (legitimize_tls_address): Handle constant offsets
+ added to TLS symbol addresses.
+
+2004-07-11 Richard Henderson <rth@redhat.com>
+
+ * expmed.c (init_expmed): Use stack-local structures for
+ temporary rtl. Don't recognize shifts.
+
+2004-07-11 Richard Henderson <rth@redhat.com>
+
+ * expr.c (store_expr): Don't fiddle subreg promotion for types
+ with precision smaller than the mode.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * tree.h (all_types_permanent): Remove.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
+ maybe_build_cleanup, update_decl_after_saving): Remove hooks.
+ * langhooks.c (lhd_clear_binding_stack): Remove.
+ * langhooks-def.h (lhd_clear_binding_stack,
+ LANG_HOOKS_MAYBE_BUILD_CLEANUP,
+ LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
+ LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
+ LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+ (LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
+ * system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
+ LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
+ LANG_HOOKS_MAYBE_BUILD_CLEANUP,
+ LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
+ * tree.h (poplevel): Don't declare.
+ * c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+ LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+ * objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
+ LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+ Remove.
+
+2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR tree-optimization/16437
+ * c-common.c (shorten_compare): Don't mark result of conversion to
+ narrower signed type as overflowing.
+ * fold-const.c (decode_field_reference): Determine whether
+ signedness comes from outer type using precision rather than size.
+
+2004-07-11 Phil Edwards <phil@codesourcery.com>
+
+ * configure.ac: Alphabetize --enable-checking list, add
+ missing valgrind entry.
+ * configure: Regenerate.
+
+2004-07-11 Phil Edwards <phil@codesourcery.com>
+
+ * doc/install.texi (Testing): Fix syntax in "make check" example.
+
+2004-07-10 James E Wilson <wilson@specifixinc.com>
+
+ * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
+
+2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR rtl-optimization/16001
+ * loop-iv.c (iv_number_of_iterations): Prevent copy propagation in
+ niter_expr.
+
+2004-07-10 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt.
+
+2004-07-10 Steve Kargl <sgk@troutmask.apl.washington.edu>
+ James Morrison <phython@gcc.gnu.org>
+
+ * doc/contrib.texi (Contributors): Add gfortran contributors and
+ fix a couple of typos.
+
+2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR rtl-optimization/15387
+ * calls.c (check_sibcall_argument_overlap_1): Handle pointers
+ to incoming args space correctly.
+
+2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (output_indirect_call): Only use %r2 as the link register in
+ indirect calls with the long PA 2.0 pc-relative branch.
+
+2004-07-10 Daniel Jacobowitz <dan@debian.org>
+
+ * config/i386/i386.c (override_options): Pick a 64-bit CPU
+ for the default tuning if TARGET_64BIT.
+
+2004-07-10 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
+ to HOST_WIDE_INT. Fold pad-args-down arithmetic.
+
2004-07-10 Jakub Jelinek <jakub@redhat.com>
* expr.h (store_bit_field, extract_bit_field): Remove last argument.