OSDN Git Service

* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7110df0..c86cd8e 100644 (file)
@@ -1,3 +1,508 @@
+2004-07-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not
+       destroy dominance information.
+       * passes.c (rest_of_handle_loop2):  Free dominance information.
+       * tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before
+       jump threading.
+       (thread_jumps): Update dominance information and remove unreachable
+       blocks.
+       * tree-ssa-phiopt.c (replace_phi_with_stmt):  Update dominance
+       information and remove the unreachable block.
+
+2004-07-17  Graham Stott  <graham.stott@btinternet.com>
+
+       * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn.
+
+2004-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * doc/sourcebuild.texi: Remove libf2c entry.
+
+2004-07-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/i386/i386.md (movv16qi_internal): Fix typo.
+
+2004-07-17  Steven Bosscher  <stevenb@suse.de>
+
+       * final.c (final_scan_insn): Fix broken commit from previous
+       patch.
+
+2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (parser_build_binary_op): Condition warnings for
+       X<=Y<=Z on -Wparentheses instead of -Wextra.
+       * doc/invoke.texi: Update.  Document that most of -Wparentheses is
+       supported for C only.
+
+2004-07-17  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgcleanup.c (try_simplify_condjump): Don't remove line
+       notes to avoid unreachable code warnings.
+       * toplev.c (backend_init): Don't emit line notes for
+       unreachable code warnings.
+
+       * combine.c (distribute_notes): Don't distribute a
+       REG_VTABLE_REF note.
+       * final.c (final_scan_insn): Don't handle it.
+       * rtl.c (reg_note_name): Remove it.
+       * rtl.h (enum reg_node): Dito.
+
+       * emit-rtl.c (force_line_numbers, restore_line_number_status):
+       Remove.
+       * rtl.h (force_line_numbers, restore_line_number_status):
+       Remove prototypes.
+
+       * stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
+       * tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
+       (using_eh_for_cleanups): Also moved here.
+
+       * expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
+       <SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
+       to expand_start_case and add_case_node.
+       * stmt.c (struct nesting): Cleanup unused fields condition_code,
+       last_unconditional_cleanup, nominal_type, printname, and
+       line_number_status.
+       (struct fixup_goto): Remove.
+       (struct stmt_status): Remove x_goto_fixup_chain field.
+       (goto_fixup_chain): Remove.
+       (strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
+       pushcase, pushcase_range): Remove.
+       (expand_start_bindings_and_block): Don't set unused fields in
+       the nesting stack.
+       (expand_start_case, add_case_node): Cleanup unused formal arguments.
+       (expand_end_case_type): Don't simplify the case-list.  Use emit_jump
+       instead of emit_jump_if_reachable.
+       (emit_case_nodes): Likewise.
+       * tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
+       static.
+       (update_eh_label): Work around left-over exception handing regions.
+       * tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
+       * tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
+       (pass_cleanup_cfg_post_optimizing): New pass.
+       (init_tree_optimization_passes): Run the new pass after all
+       optimizations.
+       * tree.h (pushcase, pushcase_range): Remove prototypes.
+       (expand_start_case, add_case_node): Update prototypes.
+
+2004-07-16  Krister Walfridsson  <cato@df.lth.se>
+
+       * tree-inline.c (estimate_num_insns_1): Correct increase of count.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (std_expand_builtin_va_arg): Remove.
+       (expand_builtin_va_arg): Remove.
+       * expr.h: Don't declare them.
+       * gimplify.c (mark_decls_volatile_r): Remove.
+       (copy_if_shared_r): Don't call it.
+       * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
+       * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
+       * gimple-low.c (lower_stmt): Likewise.
+       * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
+       * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
+       EXPAND_BUILTIN_VA_ARG.
+       * system.h (EXPAND_BUILTIN_VA_ARG): Poison.
+       * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
+       config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
+       config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.
+
+2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (insert_aux): Break out if we hit
+       a critical edge.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * basic-block.h (remove_fake_exit_edges): Declare.
+       * cfganal.c (remove_fake_predecessors): Rename from
+       remove_fake_successors; iterate over predecessors.
+       (remove_fake_exit_edges): New.
+       * cfgcleanup.c (try_optimize_cfg): Use it.
+       * gcse.c (one_pre_gcse_pass, store_motion): Likewise.
+       * predict.c (estimate_probability): Likewise.
+       (tree_estimate_probability, note_prediction_to_br_prob): Likewise.
+       * tree-cfg.c (make_edges): Likewise.
+       * tree-ssa-pre.c (fini_pre): Likewise.
+       * profile.c (instrument_edges): Don't remove_fake_edges.
+       (branch_prob): Do it earlier here.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
+       switchification wrt CONSTRUCTOR.  Document the reason.
+
+2004-07-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * tree-mudflap.c (mf_file_function_line_tree): Correct typo
+       that prevented descriptive __mf_check source location strings.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * tree-def (WITH_SIZE_EXPR): New.
+       * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
+       * expr.c (expand_expr_real_1): Likewise.
+       * gimplify.c (maybe_with_size_expr): New.
+       (gimplify_arg, gimplify_modify_expr): Use it.
+       (gimplify_modify_expr_to_memcpy): Take size parameter.
+       (gimplify_modify_expr_to_memset): Likewise.
+       (gimplify_expr): Handle WITH_SIZE_EXPR.
+       * tree-alias-common.c (find_func_aliases): Likewise.
+       * tree-eh.c (tree_could_trap_p): Likewise.
+       (tree_could_throw_p): Likewise.
+       * tree-gimple.c (is_gimple_lvalue): Likewise.
+       (get_call_expr_in): Likewise.
+       * tree-inline.c (estimate_num_insns_1): Likewise.
+       (expand_calls_inline): Likewise.
+       * tree-nested.c (convert_call_expr): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-sra.c (sra_walk_expr): Likewise.
+       * tree-ssa-alias.c (add_pointed_to_expr): Likewise.
+       * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * tree-tailcall.c (find_tail_calls): Likewise.
+       
+       * calls.c (expand_call): Reset old_stack_allocated after
+       calling emit_stack_restore.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
+       lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
+       * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+       copy_res_decl_for_inlining.
+
+       * tree-inline.c (declare_return_variable): New modify_dest argument.
+       Use it as the return value, when possible or manditory.  Handle
+       TREE_ADDRESSABLE types.
+       (expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
+       replacement of CALL_EXPR.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * tree-flow.h (struct var_ann_d): Remove has_hidden_use.
+       * gimple-low.c (expand_var_p): Don't check it.
+       * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
+       * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+       * tree-ssa-operands.c (add_stmt_operand): Likewise.
+       * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
+       (find_referenced_vars): Don't call them.
+       * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.
+
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * function.c (pass_by_reference): True for all variable sized types.
+
+2004-07-16  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
+       * tree-pretty-print.c: Include tree-chrec.h.
+       (dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN 
+       and POLYNOMIAL_CHREC nodes.
+
+2004-07-16  Steve Ellcey  <sje@cup.hp.com>
+
+       * builtins.c (expand_builtin_stpcpy): Do not create temporary
+       reg with VOIDmode.
+
+2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
+
+2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md: Changed every occurence of BASE_REGISTER
+       to BASE_REGNUM.
+       * config/s390/s390.c: Likewise.
+       * config/s390/s390.h: Likewise.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (addsi3, adddi3): Remove special handling
+       of $sp adds.  Remove REGNO checks from mips16 patterns.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Delete outdated comment.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (get_float_compare_codes): Delete.
+       (mips_emit_compare): New function, mostly extracted from
+       get_float_compare_codes and gen_conditional_branch.
+       (gen_conditional_branch, gen_conditional_move): Use it.
+
+2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * genautomata.c (add_vect): Speedup by using integers as
+       bit-vectors for walking through the comb_vect and finding
+       a match.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
+       operand is an uns_arith_operand; use subtraction otherwise.
+       * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
+       not just arith_operands.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (gen_int_relational): Delete.
+       (mips_emit_scc): Declare.
+       * config/mips/mips.c (internal_test): Delete.
+       (sle_operand, sleu_operand): New functions.
+       (map_test_to_internal_test, gen_int_relational): Delete.
+       (mips_emit_binary, mips_relational_operand_ok_p)
+       (mips_emit_int_relational, mips_zero_if_equal)
+       (mips_emit_scc): New functions.
+       (gen_conditional_branch): Rework to use mips_emit_int_relational.
+       * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
+       sleu_operand.
+       * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
+       (sltu, sleu): Use mips_emit_scc.
+       (*sge_[sd]i, *sgeu_[sd]i): New patterns.
+       (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
+       (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
+       (*sne_[sd]i): Likewise sne_[sd]i_zero.
+       (*sgt_[sd]i): ...and sgt_[sd]i.
+       (*slt_[sd]i): ...and slt_[sd]i.
+       (*sgtu_[sd]i): ...and sgtu_[sd]i.
+       (*sltu_[sd]i): ...and sltu_[sd]i.
+       (*sleu_[sd]i): ...and sleu_[sd]i_const.
+       Name previously unnamed mips16 patterns.  Formatting fixes.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
+       (branch_type): Delete.
+       (gen_conditional_branch, gen_conditional_move)
+       (mips_gen_conditional_trap): Update after name change.  Get the
+       comparison mode from cmp_operands[0].
+       * config/mips/mips.h (cmp_type, branch_type): Delete.
+       (cmp_operands): Renamed from branch_cmp.
+       * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
+       name change.  Don't set branch_type.
+       (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
+       mode class of cmp_operands[0] rather than branch_type.  Update after
+       name change.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
+       of 0...255 to 0 when inside a SET.
+
+2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Remove mips16 define_peepholes.
+
+2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
+       (fini_pre): Remove fake edges.
+
+2004-07-15  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
+       (get_indirect_ref_operands, get_call_expr_operands): ... these.
+
+2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * vec.h (VEC_address): New function.
+
+2004-07-14  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/15885
+       * gimplify.c (gimplify_arg): New fn, split out from...
+       (gimplify_call_expr): Here.  Special-case BUILT_IN_VA_START.
+
+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
        (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.
+       (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
        * 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.
+       (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.
        * 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
        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>
+           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>
+           Martin Sebor  <sebor@roguewave.com>
 
        PR target/12602
        * doc/invoke.texi (SPARC options): Document -threads
        * 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 
+       (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.
 
 2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
 
-       * configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo.
+       * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
        * configure: Rebuilt.
 
 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
        (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