OSDN Git Service

* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9418f08..c61f9b1 100644 (file)
@@ -1,3 +1,111 @@
+2004-09-09  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
+       save_size.
+
+2004-09-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
+       * config/rs6000/power5.md (power5-lmul): Same.
+
+2004-09-08  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/17186
+       * function.c (expand_function_end): Have fall-off-the-end
+       return path jump around return register setup.
+
+2004-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (sparc_indent_opcode): New variable.
+       (output_return): Do not test for the presence of the 'unimp' insn.
+       Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
+       as predicates instead of custom ones.  Return raw strings when
+       possible.
+       (output_sibcall): Likewise.  Concatenate strings.
+       (output_ubranch): Remove kludge for TurboSPARC.
+       (output_cbranch): Remove 'noop' parameter.  Do not output 'nop'.
+       (output_v9branch): Likewise.
+       (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
+       <#>: Set sparc_indent_opcode if the delay slot is filled.
+       <(>: Likewise.
+       <)>: New operand to emit the displacement from the saved PC on return.
+       <@>: Remove.
+       * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
+       (ASM_OUTPUT_OPCODE): New macro.
+       (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
+       * config/sparc/sparc.md (normal_branch, inverted_branch,
+       normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
+       inverted_fpe_branch): Adjust call to output_cbranch.
+       (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
+       call to output_v9branch.
+       * config/sparc/sparc-protos.h (output_cbranch): Adjust.
+       (output_v9branch): Likewise.
+
+2004-09-08  Devang Patel  <dpatel@apple.com>
+
+       * config/darwin.h  (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
+       -segs_read_only_addr and -segs_read_write_addr.
+       (WORD_SWITCH_TAKES_ARG): Same.
+       (LINK_SPEC): Same.
+       * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
+       -segs_read_write_addr.
+
+2004-09-08  Richard Henderson  <rth@redhat.com>
+
+       * function.c (reference_callee_copied): New.
+       (assign_parm_setup_reg): Use it.
+       * calls.c (initialize_argument_information): Likewise.
+       (emit_library_call_value_1): Likewise.
+       * function.h (reference_callee_copied): Declare.
+
+       * target.h (struct gcc_target): Add callee_copies.
+       * target-def.h (TARGET_CALLEE_COPIES): New.
+       (TARGET_PASS_BY_REFERENCE): Update default.
+       * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * targhooks.c (hook_callee_copies_named): New.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
+       hook_pass_by_reference_false.
+       (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
+       * targhooks.h: Update decls.
+       * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
+       * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
+       * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
+       * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
+       * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
+       * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
+       (mips_callee_copies): New.
+       * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
+       * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
+       * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
+       * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/sh/sh.c (sh_callee_copies): New.
+       (TARGET_CALLEE_COPIES): New.
+       * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
+       * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+       * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
+       for FUNCTION_ARG_CALLEE_COPIES.
+       * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
+
+2004-09-08  Devang Patel  <dpatel@apple.com>
+
+       * tree-if-conv.c (find_phi_replacement_condition): Return true
+       edge block.
+       (replace_phi_with_cond_modify_expr): Select conditional expr args
+       based on true edge basic block.
+       
+2004-09-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
+       variables being alias set.
+
 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
 
        * final.c (shorten_branches, final, get_insn_template,