+2004-07-15 Roman Zippel <zippel@linux-m68k.org>
+
+ * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to
+ generate code which is generated by pushqi1 now
+ * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove.
+
+2004-07-15 Roman Zippel <zippel@linux-m68k.org>
+
+ * combine.c (simplify_set): match the mode of the constant 0 with
+ the tested operand to match the compare behaviour and the
+ simplify_relational_operation() expectation.
+
+2004-07-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("bunordered"): Disable for e500.
+ ("bordered"): Same.
+
+2004-07-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
+ unconditionally.
+ * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
+
+2004-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_adjust_insn_length): Fix handling of
+ calls in mips16 code.
+
+2004-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
+ the destination of the li as well as for the neg.
+
+2004-07-15 Frank Ch. Eigler <fche@redhat.com>
+
+ g++/15861
+ * cgraphunit.c (cgraph_build_static_cdtor): Add priority argument.
+ * cgraph.h: Update declaration.
+ * c-decl.c (build_cdtor): Update call with default priority.
+ * coverage.c (create_coverage): Ditto.
+ * tree-mudflap.c (mf_init_fndecl): New tree.
+ (mudflap_init): Set it.
+ (mudflap_register_call): Arrange to call __mf_init before the first
+ __mf_register call.
+ (mudflap_finish_file): Mark the mudflap static initializer as extra
+ high priority, to beat all C++ static constructors.
+
+2004-07-15 Jeff Law <law@redhat.com>
+
+ * loop.c (check_insn_for_givs): Restore check for code labels that was
+ accidentally deleted by a recent checkin.
+
+2004-07-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * vec.h (VEC_T_truncate): Allow truncation of an empty vector.
+ (VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * print-tree.c (print_node): Fix casts last change.
+
+2004-07-15 Paul Brook <paul@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO
+ to TARGET_UNWIND_INFO.
+ * except.c (output_function_exception_table): Ditto.
+ * except.h: Ditto.
+ * opts.c (decode_options): Ditto.
+ * passes.c (rest_of_handle_final): Ditto.
+ * final.c (final_start_function): Ditto.
+ (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
+ target hook.
+ * targhooks.h (default_unwind_emit): Declare.
+ * targhooks.c (default_unwind_emit): New function.
+ * target-def.h: Define and use TARGET_UNWIND_EMIT.
+ * target.h (struct gcc_target): Add unwind_emit.
+ * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
+ * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
+ Remove IA64_UNWIND_EMIT.
+ * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * print-tree.c (print_node): Handle SSA_NAME.
+
+2004-07-14 James E Wilson <wilson@specifixinc.com>
+
+ PR target/16325
+ * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
+ and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
+
+2004-07-15 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (expand_assignment): Reenable bitfield += optimizations.
+ Use alias set 0 for memory, do proper mode calculations and adjust
+ address for memories.
+
+2004-07-14 Per Bothner <per@bothner.com>
+
+ * input.h: If USE_MAPPED_LOCATION, define separate expanded_location
+ structure with extra column field.
+ * tree.c (expand_location): Also fill in column field.
+ * gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype
+ gets confused by the two conditionally-compiled definitions.
+
+2004-07-14 Eric Christopher <echristo@redhat.com>
+
+ * calls.c (expand_call): Fix typo in comment.
+
+2004-07-14 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED
+ comparision of TFmode.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...
+ (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference.
+ * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+ * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
+ * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
+ * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
+
+2004-07-14 Mike Stump <mrs@apple.com>
+
+ * config/darwin.h (WINT_TYPE): Define to be int to match
+ system header files.
+
+2004-07-14 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (function_arg_advance): Check for args
+ that must be passed in the stack.
+ (xtensa_gimplify_va_arg_expr): Skip special-case padding for small
+ arguments if the size is not a constant.
+
+2004-07-14 Per Bothner <per@bothner.com>
+
+ * c-typeck.c (emit_side_effect_warnings): Use EXPR_HAS_LOCATION
+ instead of EXPR_LOCUS in a boolean context, which is always true
+ if --enable-mapped-location.
+ * stmt.c (warn_if_unused_value): Likewise. Also use EXPR_LOCATION.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * dominance.c (struct dom_info): Add fake_exit_edge.
+ (init_dom_info): Allocate it.
+ (free_dom_info): Free it.
+ (calc_dfs_tree): Set it. Handle noreturn and infinite loops
+ in two passes.
+ (calc_idoms): Honor fake_exit_edge.
+
+2004-07-13 Jason Merrill <jason@redhat.com>
+
+ * tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns.
+ (rhs_test_for): New fn.
+ (is_gimple_tmp_rhs): Rename from is_gimple_rhs.
+ * tree-gimple.h: Declare them.
+ * gimplify.c (gimplify_modify_expr): Use the new fns.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm-protos.h (arm_va_arg): Remove.
+ * config/arm/arm.c (arm_va_arg): Remove.
+ (arm_init_expanders): Fix alignment of arg_pointer_rtx.
+ * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove.
+
+2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (fix_range): New function to mark a range(s) of registers as
+ fixed registers.
+ (override_options): Call fix_range if the -mfixed-range option string
+ is not empty.
+ * pa.h (TARGET_OPTIONS): Add -mfixed-range option.
+ * doc/invoke.texi (-mfixed-range): Document new option.
+
+2004-07-14 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode
+ for TARGET_64BIT.
+ (rs6000_gimplify_va_arg): Use size_int instead of build_int_2.
+
+2004-07-14 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (expand_sdiv_pow2): New function to expand signed division
+ by a positive power of two, split out from expand_divmod. Provide
+ an alternate implementation when shifts are expensive. Lower the
+ threshold for using a branchless implementation to BRANCH_COST >= 2.
+ (expand_divmod): Call expand_sdiv_pow2 for suitable divisions.
+
+2004-07-14 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-dfa.c (make_rename_temp): *Really* work just
+ like create_tmp_var if called while outside SSA form.
+
+2004-07-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("udivsi3"): Ensure trap is generated
+ for division by zero.
+ ("umodsi3"): Likewise.
+
+2004-07-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_output_move): When generating mips16 code,
+ force loads of negative constants to be split.
+ * config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise.
+ Generalize SImode li/neg splitter to cope with other modes.
+
+2004-07-14 Paolo Bonzini <bonzini@gnu.org>
+
+ * expmed.c: Remove more references to QUEUED in the comments.
+ * expr.c: Likewise.
+
+2004-07-14 Richard Sandiford <rsandifo@redhat.com>
+
+ Revert:
+ 2004-07-13 Richard Henderson <rth@redhat.com>
+ * config/mips/mips.c (mips_pass_by_reference): Handle mode sizes
+ correctly.
+
+2004-07-14 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-dfa.c (make_rename_temp): Work just like
+ create_tmp_var if called while outside SSA form.
+
+2004-07-14 Paolo Bonzini <bonzini@gnu.org>
+
+ * expr.c (enqueue_insn, finish_expr_for_function,
+ protect_from_queue, queued_subexp_p, mark_queue,
+ emit_insns_enqueued_after_mark, emit_queue,
+ expand_increment): Remove.
+ (store_constructor): Expand increment as an assignment.
+ (expand_expr_real_1 <case PREINCREMENT_EXPR,
+ case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
+ case POSTDECREMENT_EXPR>): Abort.
+ * expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
+ QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
+ protect_from_queue, emit_queue, queued_subexp_p): Remove.
+ * function.h (pending_chain, x_pending_chain): Remove.
+ * rtl.def (QUEUED): Remove.
+
+ * emit-rtl.c (copy_insn_1, copy_most_rtx,
+ set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
+ * genattrtab.c (attr_copy_rtx, clear_struct_flag,
+ encode_units_mask): Likewise.
+ * local-alloc.c (equiv_init_varies_p): Likewise.
+ * rtl.c (copy_rtx): Likewise.
+ * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
+ * simplify-rtx.c (simplify_gen_subreg): Likewise.
+ * config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
+
+ * builtins.c (expand_builtin, expand_builtin_apply,
+ expand_builtin_mathfn, expand_builtin_mathfn_2,
+ expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
+ Remove calls to emit_queue and protect_from_queue.
+ * calls.c (expand_call, precompute_arguments,
+ precompute_register_parameters, rtx_for_function_call,
+ store_one_arg): Likewise.
+ * dojump.c (do_compare_and_jump, do_jump): Likewise.
+ * explow.c (memory_address): Likewise.
+ * expmed.c (clear_by_pieces_1, clear_storage,
+ clear_storage_via_libcall, emit_group_load,
+ emit_group_store, emit_store_flag,
+ expand_expr_real_1, store_by_pieces,
+ store_constructor, store_expr, try_casesi,
+ try_tablejump): Likewise.
+ * function.c (expand_pending_sizes): Likewise.
+ * optabs.c (emit_cmp_and_jump_insns,
+ emit_conditional_add, emit_conditional_move,
+ expand_fix, expand_float, prepare_cmp_insn): Likewise.
+ * stmt.c (emit_case_bit_tests,
+ expand_asm_expr, expand_computed_goto,
+ expand_decl_init, expand_end_case_type,
+ expand_end_stmt_expr, expand_expr_stmt_value,
+ expand_return, expand_start_case,
+ optimize_tail_recursion): Likewise.
+ * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+ * config/s390/s390.c (s390_expand_cmpmem): Likewise.
+
+2004-07-14 Ben Elliston <bje@au.ibm.com>
+
+ * vec.h: Comment fix.
+
+2004-07-13 Richard Henderson <rth@redhat.com>
+
+ * target.h (struct gcc_target): Add calls.pass_by_reference.
+ * target-def.h (TARGET_PASS_BY_REFERENCE): New.
+ * function.c (pass_by_reference): Use the hook.
+ * system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
+ * targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
+ (hook_pass_by_reference_must_pass_in_stack): New.
+ * config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
+ (alpha_pass_by_reference): New.
+ (TARGET_PASS_BY_REFERENCE): New.
+ * config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/arc/arc.c (arc_pass_by_reference): New.
+ (TARGET_PASS_BY_REFERENCE): New.
+ * config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): True.
+ * config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
+ * config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
+ (arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
+ * config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/cris/cris.c (cris_pass_by_reference): New.
+ (TARGET_PASS_BY_REFERENCE): New.
+ * config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
+ (FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
+ (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
+ * config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
+ * config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
+ (frv_function_arg_pass_by_reference): Remove.
+ * config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
+ * config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
+ (ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
+ * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
+ * config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
+ (ia64_pass_by_reference): Rename from
+ ia64_function_arg_pass_by_reference.
+ * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
+ * config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
+ (iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
+ * config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ * config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
+ * config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
+ (m32r_pass_by_reference): Adjust prototype. Make static.
+ Handle mode sizes correctly.
+ * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
+ (m68hc11_function_arg_pass_by_reference): Remove.
+ * config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ * config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
+ * config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
+ * config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
+ (mips_va_arg): Use pass_by_reference.
+ (mips_pass_by_reference): Rename from function_arg_pass_by_reference.
+ Handle mode sizes correctly.
+ * config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ * config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
+ * config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
+ (mmix_pass_by_reference): Rename from
+ mmix_function_arg_pass_by_reference.
+ * config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): True.
+ * config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
+ (mn10300_pass_by_reference): New.
+ * config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): True.
+ * config/pa/pa.c (pa_pass_by_reference): New.
+ (TARGET_PASS_BY_REFERENCE): New.
+ * config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): True.
+ * config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
+ * config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
+ (rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
+ * config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
+ * config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
+ (s390_pass_by_reference): Rename from
+ s390_function_arg_pass_by_reference.
+ (s390_function_arg_advance): Don't query pass-by-ref.
+ (s390_function_arg): Likewise.
+ (s390_gimplify_va_arg): Use pass_by_reference.
+ (s390_call_saved_register_used): Likewise.
+ * config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
+ (shcompact_byref, sh_pass_by_reference): New.
+ * config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (SHCOMPACT_BYREF): Remove.
+ * config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
+ * config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
+ (sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
+ (sparc_gimplify_va_arg): Use pass_by_reference.
+ * config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ * config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
+ (v850_pass_by_reference): New.
+ * config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ (FUNCTION_ARG_CALLEE_COPIES): True.
+ * doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
+ FUNCTION_ARG_PASS_BY_REFERENCE docs.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips-protos.h (mips_va_arg): Delete.
+ * config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete.
+ * config/mips/mips.c: Include tree-gimple.h.
+ (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ (mips_arg_info): Remove special handling of must_pass_in_stck args.
+ (mips_gimplify_va_arg_expr): Rewritten from mips_va_arg.
+ (function_arg_pass_by_reference): Return true if must_pass_in_stack.
+
+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_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
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.
2004-07-12 Sebastian Pop <pop@cri.ensmp.fr>
* cfgloop.h (struct loop): Add nb_iterations field.
- (current_loops): Declare.
+ (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.
+ hooks.
* tree-flow-inline.h (loop_containing_stmt): New function.
* tree-scalar-evolution.c: Add implementation.
* tree-scalar-evolution.h: Add declarations.
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
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
2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
- * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
+ * 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 Richard Henderson <rth@redhat.com>
- * expmed.c (init_expmed): Use stack-local structures for
+ * expmed.c (init_expmed): Use stack-local structures for
temporary rtl. Don't recognize shifts.
2004-07-11 Richard Henderson <rth@redhat.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>
+ James Morrison <phython@gcc.gnu.org>
- * doc/contrib.texi (Contributors): Add gfortran contributors and
+ * doc/contrib.texi (Contributors): Add gfortran contributors and
fix a couple of typos.
2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
(sparc_override_options): Set sparc_costs as appropriate.
(sparc_rtx_costs): Use sparc_costs instead of messy
conditionals.
-
+
2004-07-09 Steven Bosscher <stevenb@suse.de>
* doc/md.texi (Processor pipeline description): Mention that