1. 15 Jan, 2005 1 commit
  2. 11 Jan, 2005 1 commit
    • re PR target/18916 (mis-aligned vector code with copy memory (-maltivec)) · bfc45551
      	PR target/18916
      	* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
      	* expr.h (struct locate_and_pad_arg_data): Add "boundary".
      	* function.c (locate_and_pad_parm): Set new field.
      	(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
      	Tweak where_pad test to include "none".  Always set mem align for
      	stack_parm.
      	(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
      	not sufficient for type.
      	(assign_parm_setup_block): If stack_parm is zero on entry, always
      	make a new stack local.  Block move old stack parm if necessary
      	to new aligned stack local.
      	(assign_parm_setup_stack): Use a block move to handle
      	potentially misaligned entry_parm.
      	(assign_parms_unsplit_complex): Specify required alignment when
      	creating stack local.
      	* calls.c (compute_argument_addresses): Override alignment of stack
      	arg calculated from its type with the alignment given by
      	FUNCTION_ARG_BOUNDARY.
      	(store_one_arg): Likewise.
      
      From-SVN: r93179
      Alan Modra committed
  3. 30 Dec, 2004 1 commit
    • target.h (targetm.calls.arg_partial_bytes): New. · 78a52f11
      	* target.h (targetm.calls.arg_partial_bytes): New.
      	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
      	* calls.c (store_unaligned_arguments_into_pseudos): Update for
      	partial in bytes.
      	(load_register_parameters): Likewise.
      	(store_one_arg): Likewise.
      	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
      	(emit_library_call_value_1): Likewise.
      	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
      	(emit_push_insn): Update for partial in bytes.
      	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* function.c (assign_parm_find_entry_rtl): Use
      	targetm.calls.arg_partial_bytes.  Update for result in bytes.
      	(locate_and_pad_parm): Update for partial in bytes.
      	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
      	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
      	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
      	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
      	FUNCTION_ARG_PARTIAL_NREGS.
      
      	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
      	config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
      	config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h,
      	config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      
      	* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/alpha/alpha.h, config/alpha/unicosmk.h,
      	config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      
      	* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
      	* config/arm/arm.c (arm_arg_partial_bytes): ... here.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      
      	* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
      	* config/cris/cris.c (cris_arg_partial_bytes): ... here.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      
      	* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
      	fr30_function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/fr30/fr30-protos.h: Update.
      
      	* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/frv/frv.c (frv_arg_partial_bytes): Rename from
      	frv_function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/frv/frv-protos.h: Update.
      
      	* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
      	ia64_function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/ia64/ia64-protos.h: Update.
      
      	* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/iq2000/iq2000-protos.h: Update.
      
      	* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/m32r/m32r-protos.h: Update.
      
      	* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
      	mcore_function_arg_partial_nregs.  Adjust to return bytes.
              (TARGET_ARG_PARTIAL_BYTES): New.
      	* config/mcore/mcore-protos.h: Update.
      
      	* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/mips/mips.c (mips_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/mips/mips-protos.h: Update.
      
      	* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/mn10300/mn10300-protos.h: Update.
      
      	* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
      	* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      
      	* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/pa/pa.c (pa_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/pa/pa-protos.h: Update.
      
      	* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      	* config/rs6000/rs6000-protos.h: Update.
      
      	* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
      	* config/sh/sh.c (sh_arg_partial_bytes): ... here.
      	(TARGET_ARG_PARTIAL_BYTES): New.
      
      	* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
      	function_arg_partial_nregs.  Adjust to return bytes.
              (TARGET_ARG_PARTIAL_BYTES): New.
      	* config/sparc/sparc-protos.h: Update.
      
      	* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
      	* config/v850/v850.c (v850_arg_partial_bytes): Rename from
              function_arg_partial_nregs.  Adjust to return bytes.
              (TARGET_ARG_PARTIAL_BYTES): New.
      	* config/v850/v850-protos.h: Update.
      
      From-SVN: r92726
      Richard Henderson committed
  4. 14 Dec, 2004 1 commit
  5. 04 Dec, 2004 1 commit
    • alias.c (component_uses_parent_alias_set): Rename from can_address_p. · 2039d7aa
              * alias.c (component_uses_parent_alias_set): Rename from
              can_address_p.  Return bool.  Reverse the sense of the result.
              Reinstate the check for alias set zero.
              (get_alias_set): Update to match.
              * alias.h (component_uses_parent_alias_set): Likewise.
              * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
              * expr.c (expand_assignment): Likewise.
              * expr.h: Remove commented out prototypes that were moved to alias.h.
      
      From-SVN: r91712
      Richard Henderson committed
  6. 24 Nov, 2004 1 commit
    • optabs.h (force_expand_binop): Declare. · bef5d8b6
      	* optabs.h (force_expand_binop): Declare.
      	* optabs.c (force_expand_binop): Export.
      	* stmt.c (shift_return_value): Delete.
      	(expand_return): Don't call it.
      	* expr.h (shift_return_value): Declare.
      	* calls.c (shift_returned_value): Delete in favor of...
      	(shift_return_value): ...this new function.  Leave the caller to check
      	for non-BLKmode values passed in the msb of a register.  Take said mode
      	and a shift direction as argument.  Operate on the hard function value,
      	not a pseudo.
      	(expand_call): Adjust accordingly.
      	* function.c (expand_function_start): If a non-BLKmode return value
      	is padded at the last significant end of the return register, use the
      	return value's natural mode for the DECL_RESULT, not the mode of the
      	padded register.
      	(expand_function_end): Shift the same sort of return values left by
      	the appropriate amount.
      
      From-SVN: r91187
      Richard Sandiford committed
  7. 17 Nov, 2004 1 commit
  8. 14 Nov, 2004 1 commit
    • calls.c (precompute_register_parameters): Force all PARALLELs into pseudo registers. · 27e29549
              * calls.c (precompute_register_parameters): Force all PARALLELs
              into pseudo registers.
              (load_register_parameters): Copy PARALLELs into hard registers.
              * function.c (assign_parm_setup_block): Copy PARALLELS into
              pseudo registers.  Do emit_group_store in conversion_insns.
              * expr.c (emit_group_load_1): Rename from emit_group_load, take
              tmps as an argument.  Move final copy loop ...
              (emit_group_load): ... here.  New function.
              (emit_group_load_into_temps, emit_group_move_into_temps): New.
              * expr.h: Declare them.
      
      From-SVN: r90613
      Richard Henderson committed
  9. 11 Nov, 2004 2 commits
  10. 08 Nov, 2004 1 commit
  11. 04 Nov, 2004 1 commit
  12. 02 Nov, 2004 1 commit
    • cfgloop.h (struct loop): Update comment. · 75473b02
      	* cfgloop.h (struct loop): Update comment.
      	* cse.c (cse_main): Remove obsolete comment.
      
      	* expr.h (gen_cond_trap): Move prototype under functions provided
      	by optabs.c.
      	(canonicalize_condition, get_condition): Move to...
      	* rtl.h (canonicalize_condition, get_condition): ...here.
      	(branch_target_load_optimize): Add comment that this function is
      	in bt-load.c.
      	* loop.c (canonicalize_condition, get_condition): Move to...
      	* rtlanal.c (canonicalize_condition, get_condition): ...here.
      	* sched-deps.c (get_condition): Rename to sched_get_condition.
      	(add_dependence): Update this caller.
      
      From-SVN: r89995
      Steven Bosscher committed
  13. 19 Oct, 2004 1 commit
  14. 18 Oct, 2004 1 commit
    • re PR middle-end/17813 (ada bootstrap failure on i486-linux) · a494ed43
      	PR middle-end/17813
      	* dojump.c (discard_pending_stack_adjust): New function.
      	(clear_pending_stack_adjust): Call it.
      	* expr.h (discard_pending_stack_adjust): Declare it.
      	* explow.c (emit_stack_save): Emit pending stack adjustments
      	before saving the stack pointer.
      	(emit_stack_restore): Discard pending stack adjustments before
      	restoring the stack pointer.
      
      Co-Authored-By: Roger Sayle <roger@eyesopen.com>
      
      From-SVN: r89251
      Eric Botcazou committed
  15. 08 Sep, 2004 1 commit
    • function.c (reference_callee_copied): New. · 6cdd5672
              * 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.
      
      From-SVN: r87195
      Richard Henderson committed
  16. 18 Aug, 2004 1 commit
    • rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. · 389fdba0
      	* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
      	* alias.c (true_dependence): Update to match new semantics.
      	(canon_true_dependence, write_dependence_p): Likewise.
      	(anti_dependence, output_dependence): Update write_dependence_p args.
      	(unchanging_anti_dependence): Remove.
      	* calls.c (purge_mem_unchanging_flag): Remove.
      	(fixup_tail_calls): Don't call it.
      	(expand_call): Don't add unchanging memory to function usage.
      	* expr.c (emit_block_move_via_libcall): Likewise.
      	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
      	(get_subtarget): Don't use RTX_UNCHANGING_P.
      	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
      	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
      	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
      	* cse.c (insert): Don't use RTX_UNCHANGING_P.
      	(cse_insn, canon_hash): Use MEM_READONLY_P.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
      	instead of RTX_UNCHANGING_P.
      	* explow.c (maybe_set_unchanging): Remove.
      	* expr.h (maybe_set_unchanging): Remove.
      	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
      	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
      	(assign_parm_setup_reg, expand_function_start): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* ra-rewrite.c (emit_colors): Likewise.
      	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
      	(fixup_match_1): Likewise.
      	* reload1.c (reload, alter_reg): Likewise.
      	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
      	not RTX_UNCHANGING_P.
      	(equiv_init_varies_p): Likewise.
      	* loop-invariant.c (check_maybe_invariant): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
      	* loop.c (note_addr_stored): Likewise.
      	(prescan_loop): Likewise. Don't check function usage for clobbered
      	unchanging memory.
      	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
              not RTX_UNCHANGING_P.
      	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
      	* varasm.c (force_const_mem): Likewise.
      	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
      	* web.c (entry_register): Likewise.
      	* tree-gimple.h (get_base_address): Move decl ...
      	* tree.h: ... here.
      	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
      
      	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
      	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
      	(alpha_set_memflags): Update to match.
      
      	* config/darwin.c (machopic_indirect_data_reference): Set
      	MEM_READONLY_P instead of RTX_UNCHANGING_P.
      	(machopic_indirect_call_target): Likewise.
      	(machopic_legitimize_pic_address): Likewise.
      	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
      	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
      	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
      	* config/frv/frv.md (symGOT2reg): Likewise.
      	* config/i386/i386.c (legitimize_pic_address,
      	legitimize_tls_address, ix86_split_to_parts): Likewise.
      	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
      	* config/ia64/ia64.md (load_fptr): Likewise.
      	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
      	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
      	* config/mcore/mcore.c (block_move_sequence): Likewise.
      	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
      	* config/pa/pa.c (legitimize_pic_address): Likewise.
      	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
      	(rs6000_emit_move): Likewise.
      	* config/s390/s390.c (legitimize_pic_address): Likewise.
      	(legitimize_tls_address): Likewise.
      	* config/s390/s390.md (casesi): Likewise.
      	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
      	* config/sh/sh.md (symGOT2reg): Likewise.
      	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
      	* config/v850/v850.md (casesi): Likewise.
      
      	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
      	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
      	* config/mips/mips.c (mips_restore_gp): Likewise.
      	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_reorg): Likewise.
      
      From-SVN: r86178
      Richard Henderson committed
  17. 27 Jul, 2004 1 commit
    • expr.h (canonicalize_condition, [...]): Add an int argument. · 45d09c02
      	* expr.h (canonicalize_condition, get_condition): Add an int argument.
      	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
      	it to check whether the condition is still valid at the jump insn.
      	* ifcvt.c (noce_get_condition): Likewise.
      	(noce_get_alt_condition): Update call to canonicalize_condition.
      	* loop-iv.c (simplify_using_initial_values): Update call to
      	get_condition.  Remove FIXME.
      	(check_simple_exit): Update call to get_condition.
      	* loop-unswitch.c (may_unswitch_on): Likewise.
      	* loop.c (check_dbra_loop): Likewise.
      	(canonicalize_condition, get_condition): Add an argument to say whether
      	the condition must still be valid at INSN.
      	(get_condition_for_loop): Update call to get_condition.  Require that
      	the condition be valid at INSN.
      	* predict.c (estimate_probability): Update call to get_condition.
      	Remove unused earliest parameter.
      	(expected_value_to_br_prob): Update call to canonicalize_condition.
      
      From-SVN: r85218
      Richard Sandiford committed
  18. 23 Jul, 2004 1 commit
    • expr.c (expand_expr_real_1): Don't handle non-local variables. · ab8907ef
              * expr.c (expand_expr_real_1): Don't handle non-local variables.
              * expr.h (fix_lexical_addr): Remove.
              * function.c (NEED_SEPARATE_AP): Remove.
              (fix_lexical_addr): Remove.
              * tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
              not null decl_function_context.
              (create_alias_vars): Likewise.
              * tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
              (simple_goto_p): Likewise.
              * tree-dfa.c (add_referenced_var): Don't check for non-local variables.
              * tree-ssa-ccp.c (get_default_value): Likewise.
              * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
              * tree.c (needs_to_live_in_memory): Likewise.
              * tree-flow-inline.h (may_be_aliased): Move...
              * tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
              when TREE_STATIC variables may be addressable.
      
      From-SVN: r85099
      Richard Henderson committed
  19. 16 Jul, 2004 1 commit
    • builtins.c (std_expand_builtin_va_arg): Remove. · 77c9db77
              * 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.
      
      From-SVN: r84842
      Richard Henderson committed
  20. 14 Jul, 2004 1 commit
    • expr.c (enqueue_insn, [...]): Remove. · ad76cef8
      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.
      
      From-SVN: r84675
      Paolo Bonzini committed
  21. 13 Jul, 2004 2 commits
    • function.c (pass_by_reference): New. · 0976078c
              * 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.
      ada/
              * misc.c (default_pass_by_ref): Use pass_by_reference.
      
      From-SVN: r84607
      Richard Henderson committed
    • target-def.h (TARGET_MUST_PASS_IN_STACK): New. · fe984136
      	* 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.
      
      From-SVN: r84606
      Richard Henderson committed
  22. 10 Jul, 2004 1 commit
    • expr.h (store_bit_field, [...]): Remove last argument. · b3520980
      	* expr.h (store_bit_field, extract_bit_field): Remove last argument.
      	* expmed.c (store_bit_field, extract_bit_field): Remove last
      	argument.
      	* builtins.c (expand_builtin_signbit): Adjust callers.
      	* optabs.c (expand_vector_binop, expand_vector_unop): Likewise.
      	* calls.c (store_unaligned_arguments_into_pseudos): Likewise.
      	* ifcvt.c (noce_emit_move_insn): Likewise.
      	* stmt.c (expand_return): Likewise.
      	* expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg,
      	store_field, expand_expr_real_1): Likewise.
      
      From-SVN: r84447
      Jakub Jelinek committed
  23. 08 Jul, 2004 2 commits
    • builtins.c (fold_builtin_strcpy): Merge functionality from simplify_builtin_strcpy. · a32e70c3
      	* builtins.c (fold_builtin_strcpy): Merge functionality from
      	simplify_builtin_strcpy.  Add additional len argument.  No longer
      	static.  Remove function prototype.
      	(fold_builtin_strncpy): Likewise integrate functionality from
      	simplify_builtin_strncpy.  Add additional slen argument.  No
      	longer static.  Remove function prototype.
      	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
      	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
      	types of "ignore" and "unlocked" parameters to bool.
      	(fold_builtin_1):  Add additional ignore argument.  Call renamed
      	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
      	builtins.  Update arguments to fold_builtin_strncpy and
      	fold_builtin_strcpy.  Add function prototype.
      	(fold_builtin): Add additional Boolean ignore argument to pass
      	to fold_builtin_1.
      	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
      	and fold_builtin_strncpy instead of simplify_builtin_fputs,
      	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.
      
      	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
      	simplify_builtin_strncpy): Delete function prototypes.
      	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
      	fold_builtin_strncpy): Add function prototypes here.
      	(fold_builtin): Update function prototype with new "bool ignore".
      
      	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
      	(ccp_fold_builtin):  Update call to fold_builtin.  Call
      	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
      	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
      	simplify_builtin_strncpy respectively.
      	* fold-const.c (fold): Update call to fold_builtin.
      
      From-SVN: r84302
      Roger Sayle committed
    • expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0. · 652eb744
      * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
      (FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
      (FUNCTION_ARG_CALLEE_COPIES): Likewise.
      * calls.c: Remove ifdefs of macros above.
      * functions.c: Likewise.
      * expr.c: Likewise.
      
      From-SVN: r84300
      Alexandre Oliva committed
  24. 07 Jul, 2004 1 commit
    • builtins.c: Rename movstr*, except for movstrict*, to movmem* and clrstr* to clrmem*. · 70128ad9
      gcc/ChangeLog:
      * builtins.c: Rename movstr*, except for movstrict*, to
      movmem* and clrstr* to clrmem*.
      * expr.c: Likewise.
      * expr.h: Likewise.
      * genopinit.c: Likewise.
      * integrate.c: Likewise.
      * local-alloc.c: Likewise.
      * optabs.c: Likewise.
      * optabs.h: Likewise.
      * config/alpha/alpha.h: Likewise.
      * config/alpha/alpha.md: Likewise.
      * config/arm/arm-protos.h: Likewise.
      * config/arm/arm.c: Likewise.
      * config/arm/arm.md: Likewise.
      * config/avr/avr.md: Likewise.
      * config/c4x/c4x.c: Likewise.
      * config/c4x/c4x.md: Likewise.
      * config/frv/frv.md: Likewise.
      * config/i386/i386-protos.h: Likewise.
      * config/i386/i386.c: Likewise.
      * config/i386/i386.h: Likewise.
      * config/i386/i386.md: Likewise.
      * config/i860/i860.c: Likewise.
      * config/i860/i860.md: Likewise.
      * config/ip2k/ip2k.md: Likewise.
      * config/ip2k/libgcc.S: Likewise.
      * config/ip2k/t-ip2k: Likewise.
      * config/m32r/m32r.c: Likewise.
      * config/m32r/m32r.md: Likewise.
      * config/mcore/mcore.md: Likewise.
      * config/mips/mips.c: Likewise.
      * config/mips/mips.md: Likewise.
      * config/ns32k/ns32k.c: Likewise.
      * config/ns32k/ns32k.h: Likewise.
      * config/ns32k/ns32k.md: Likewise.
      * config/pa/pa.c: Likewise.
      * config/pa/pa.md: Likewise.
      * config/pdp11/pdp11.h: Likewise.
      * config/pdp11/pdp11.md: Likewise.
      * config/rs6000/rs6000.c: Likewise.
      * config/rs6000/rs6000.md: Likewise.
      * config/s390/s390-protos.h: Likewise.
      * config/s390/s390.c: Likewise.
      * config/s390/s390.md: Likewise.
      * config/sh/lib1funcs.asm: Likewise.
      * config/sh/sh.c: Likewise.
      * config/sh/sh.md: Likewise.
      * config/sh/t-sh: Likewise.
      * config/sparc/sparc.h: Likewise.
      * config/vax/vax.md: Likewise.
      * config/xtensa/xtensa.c: Likewise.
      * config/xtensa/xtensa.md: Likewise.
      * doc/invoke.texi: Likewise.
      * doc/md.texi: Likewise.
      * doc/rtl.texi: Likewise.
      gcc/testsuite/ChangeLog:
      * gcc.c-torture/execute/builtins/mempcpy-2.c: Rename movstr*,
      except for movstrict*, to movmem* and clrstr* to clrmem*.
      
      From-SVN: r84222
      Alexandre Oliva committed
  25. 24 Jun, 2004 1 commit
  26. 02 Jun, 2004 1 commit
    • Makefile.in (EXPR_H): Add insn-config.h... · 78528714
      2004-06-01  Jerry Quinn  <jlquinn@optonline.net>
      
      	* Makefile.in (EXPR_H): Add insn-config.h, function.h,
      	$(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
      	(ALIAS_H, EMIT_RTL_H): New.
      	(cselib.o): Replace EXPR_H with EMIT_RTL_H.
      	(cfgcleanup.o): Add EMIT_RTL_H.
      	(alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
      	* alias.c: Replace expr.h with emit-rtl.h and alias.h.
      	* attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
      	* cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
      	* expr.h: Add include guard.  Include function.h, rtl.h, flags.h,
      	tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
      	(get_varargs_alias_set, get_frame_alias_set, record_base_value,
      	record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
      	(set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
      	set_mem_size): Move to emit-rtl.h.
      	* emit-rtl.h: New.
      	* alias.h: New.
      
      From-SVN: r82568
      Jerry Quinn committed
  27. 15 May, 2004 1 commit
    • c-gimplify.c (c_genericize): Replace calls via (*lang_hooks.foo) with lang_hooks.foo. · 673fda6b
      	* c-gimplify.c (c_genericize):
      	Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
      	* c-parse.in <expr_no_commas>: Likewise.
      	<if_prefix>: Likewise.
      	<select_or_iter_stmt>: Likewise.
      	* expr.c (expand_var, expand_expr_real_1): Likewise.
      	* expr.h (expand_expr): Make it a static inline function.
      	Move prototype for expand_expr_real up before this.
      	* fold-const.c (fold_relational_hi_lo, fold_relational_const):
      	Likewise.
      	* gimplify.c (gimple_boolify, gimplify_addr_expr,
      	gimplify_asm_expr, gimplify_expr): Likewise.
      	* tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
      	dump_function_to_file): Likewise.
      	* tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
      	* tree-inline.c (remap_block, save_body, walk_tree): Likewise.
      	* tree-into-ssa.c (dump_tree_ssa): Likewise.
      	* tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
      	Likewise.
      	* tree-optimize.c (execute_one_pass): Likewise.
      	* tree-pretty-print.c (dump_generic_bb_buff): Likewise.
      	* tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
      
      objc/
      	* objc-act.c (objc_build_try_enter_fragment,
      	objc_build_try_epilogue, objc_build_catch_stmt,
      	objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
      	with lang_hooks.foo ().
      
      From-SVN: r81907
      Steven Bosscher committed
  28. 13 May, 2004 1 commit
  29. 21 Mar, 2004 1 commit
    • alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR. · 6fce44af
      	* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
      	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
      	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
      	* explow.c (expr_size): Likewise.
      	* expr.h (placeholder_list, find_placeholder): Deleted.
      	* expr.c (store_constructor): Likewise.
      	(get_inner_reference): Likewise.  Also don't call find_placeholder.
      	(placeholder_list, find_placeholder): Deleted.
      	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
      	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
      	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
      	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
      	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
      	Likewise.
      	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
      	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
      	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
      	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
      	Clean up by using first_rtl_op.
      	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
      	(substitute_placeholder_in_expr): New function.
      	* tree.def (WITH_RECORD_EXPR): Deleted.
      	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
      	(substitute_placeholder_in_expr): New.
      
      	* ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
      	* ada/trans.c (tree_transform, emit_index_check): Likewise.
      	* ada/utils.c (build_template): Likewise.
      	(max_size, convert): Remove handling of WITH_RECORD_EXPR.
      	(maybe_unconstrained_array, unchecked_convert): Likewise.
      	* ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
      	(build_unary_op): Likewise.
      	(compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
      	(fill_vms_descriptor): Likewise.
      	(build_call_alloc_dealloc): Likewise.
      	ALIGN is unsigned.
      	* ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
      
      From-SVN: r79789
      Richard Kenner committed
  30. 12 Mar, 2004 1 commit
    • re PR target/14547 (Passing _Complex long double does not follow the ABI) · 42ba5130
              PR target/14547
              * target.h (struct gcc_target): Move calls substructure before
              booleans.  Add split_complex_arg.
              * function.c (assign_parms, split_complex_args): Use it.
              * calls.c (expand_call): Likewise.
              (split_complex_values): Likewise.  Check for splittable types
              before allocating memory.
              (split_complex_types): Likewise.
              * system.h (SPLIT_COMPLEX_ARGS): Poison.
              * expr.h (SPLIT_COMPLEX_ARGS): Remove.
              * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
              * config/alpha/alpha.c (alpha_split_complex_arg): New.
              (TARGET_SPLIT_COMPLEX_ARG): New.
              * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
              * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
              (rs6000_override_options): Zap it for non-AIX.
              (rs6000_function_value): Use targetm.calls.split_complex_arg.
              * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
              * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
              * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
              * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
              SPLIT_COMPLEX_ARGS entry.
      
      From-SVN: r79376
      Richard Henderson committed
  31. 21 Jan, 2004 1 commit
    • alias.c, [...]: Update copyright. · d9221e01
      	* alias.c, basic-block.h, c-common.c, c-common.h,
      	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
      	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
      	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
      	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
      	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
      	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
      	genautomata.c, genconditions.c, genemit.c, genflags.c,
      	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
      	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
      	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
      	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
      	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
      	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
      	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
      	unwind.h, varray.c, varray.h: Update copyright.
      
      From-SVN: r76302
      Kazu Hirata committed
  32. 13 Jan, 2004 1 commit
  33. 09 Jan, 2004 1 commit
    • expr.h (expand_expr): Make it a macro, not a function. · 0fab64a3
      	* expr.h (expand_expr): Make it a macro, not a function.
      	(expand_expr_real): New function.
      	* expr.c (store_expr): Adjust logic for deciding whether or not to
      	copy the value returned by expand_expr.
      	(expand_expr): Rename to ...
      	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
      	calls to language hooks.
      	* c-common.h (c_expand_expr): Adjust prototype.
      	* c-common.c (c_expand_expr): Add alt_rtl parameter.
      	* langhooks-def.h (lhd_expand_expr): Change prototype.
      	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
      	* langhooks.h (lang_hooks): Change type of expand_expr.
      	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
      	(last_expr_alt_rtl): Likewise.
      	(expand_expr_stmt_value): Set last_expr_alt_rtl.
      	(clear_last_expr): Clear it.
      	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
      	(expand_end_bindings): Save and restor last_expr_alt_rtl.
      	* tree.def (RTL_EXPR): Give it an additional operand.
      	* tree.h (RTL_EXPR_ALT_RTL): New macro.
      
      	* misc.c (gnat_expand_expr): Add alt_rtl parameter.
      
      	* cp-tree.h (cxx_expand_expr): Change prototype.
      	* expr.c (cxx_expand_expr): Add alt_rtl parameter.
      
      	* java-tree.h (java_expand_expr): Change prototype.
      	* expr.c (java_expand_expr): Add alt_rtl parameter.
      
      From-SVN: r75594
      Mark Mitchell committed
  34. 30 Oct, 2003 1 commit
    • builtins.c (std_build_builtin_va_list): New. · c35d187f
      	* builtins.c (std_build_builtin_va_list): New.
      	* expr.h (std_build_builtin_va_list): Declare.
      	* defaults.h (BUILD_VA_LIST_TYPE): New.
      	* system.h (BUILD_VA_LIST_TYPE): Poison.
      	* target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
      	* target.h (struct gcc_target): Add build_builtin_va_list.
      	* tree.c (build_common_tree_nodes_2): Use it.
      
      	* config/alpha/alpha-protos.h, config/alpha/alpha.c,
      	config/alpha/alpha.h, config/alpha/unicosmk.h,
      	config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
      	config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
      	config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
      	config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
      	config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
      	config/mips/mips.h, config/rs6000/rs6000-protos.h,
      	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
      	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
      	config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
      	config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
      	config/xtensa/xtensa.h: Rename foo_build_va_list to
      	foo_build_builtin_va_list; make it static.  Define
      	TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
      	Update protos.
      
      	* config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
      	* config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
      
      From-SVN: r73076
      Richard Henderson committed
  35. 02 Oct, 2003 1 commit
    • target.h (init_libfuncs): New hook. · c15c90bb
      	* target.h (init_libfuncs): New hook.
      	* target-def.h: Default TARGET_INIT_BUILTINS and
      	TARGET_INIT_LIBFUNCS to hook_void_void.  Add
      	TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
      	* builtins.c (default_init_builtins): Delete.
      	* expr.h (default_init_builtins): Delete prototype.
      	* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
      	Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
      	Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
      	DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
      	MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
      	and UMODDI3_LIBCALL,
      
      	* Makefile.in (optabs.o): Depends on target.h.
      	* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
      	* optabs.c: Include target.h.
      	(prepare_float_lib_cmp): No need for #ifdef around use of
      	FLOAT_LIB_COMPARE_RETURNS_BOOL.
      	(set_optab_libfunc): New function.
      	(init_optabs): Delete use of all *_LIBCALL defines.
      	Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
      	* optabs.h: Prototype set_optab_libfunc.
      
      	* config.gcc: Remove all references to pa/long_double.h,
      	ia64/hpux_longdouble.h, and gofast.h.
      	(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
      	to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
      
      	* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
      	* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
      	* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
      	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
      	* config/sparc/sparc.c, config/vax/vax.c:
      	Provide a definition for TARGET_INIT_LIBFUNCS.  Where
      	necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
      
      	* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
      	* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
      	* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
      	* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
      	* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
      	* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
      	* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
      	* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
      	INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
      
      	* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
      	Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
      	* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
      	HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
      	* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
      
      	* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
      	* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
      	SUN_INTEGER_MULTIPLY_64 to 0.
      	* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
      	SUN_INTEGER_MULTIPLY_64 to 1.
      	* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
      	SUN_INTEGER_MULTIPLY_64 to 0.
      	* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
      	Define US_SOFTWARE_GOFAST.
      	* config/vax/vax.h: Default TARGET_ELF to 0.
      	* config/vax/elf.h: Redefine TARGET_ELF to 1.
      
      	* config/gofast.h: Don't define any macros here.  Provide one
      	static function, gofast_maybe_init_libfuncs, which does what
      	INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
      	is already defined.  Do not clear negation libfuncs.  Do
      	not mess with HFmode, XFmode, or TFmode libfuncs.
      
      	* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
      
      From-SVN: r72009
      Zack Weinberg committed
  36. 15 Sep, 2003 2 commits
    • expr.h (DEFAULT_FUNCTION_ARG_PADDING): New. · d3704c46
      	* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
      	(FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
      	* config/ia64/ia64.c (ia64_hpux_function_arg_padding):
      	Likewise.
      	* config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
      	Likewise.
      	* config/rs6000/rs6000.c (function_arg_padding): Likewise.
      	* config/sparc/sparc.c (function_arg_padding): Likewise.
      
      From-SVN: r71406
      Kazu Hirata committed
    • re PR rtl-optimization/10914 (unswitch loops does not work on powerpc) · ec6ec6aa
      2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
      
              PR optimization/10914
              * expr.h (get_condition, canonicalize_condition): Declaration changed.
              * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
              and canonicalize_condition calls.
              * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
              delete_null_pointer_checks): Ditto.
              * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
              * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
              * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
              (canonicalize_condition, get_condition): Allow to return comparisons
              of cc mode registers.
              * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
              cc mode registers comparison in condition.
      
      From-SVN: r71398
      Zdenek Dvorak committed