1. 26 Oct, 2009 1 commit
    • extend.texi (Named Address Spaces): New section. · 09e881c9
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* doc/extend.texi (Named Address Spaces): New section.
      	* coretypes.h (addr_space_t): New type.
      	(ADDR_SPACE_GENERIC): New define.
      	(ADDR_SPACE_GENERIC_P): New macro.
      
      	* doc/tm.texi (Named Address Spaces): New section.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
      	(TARGET_ADDR_SPACE_SUBSET_P): Document.
      	(TARGET_ADDR_SPACE_CONVERT): Document.
      	* target.h (struct gcc_target): Add addr_space substructure.
      	* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
      	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
      	(TARGET_ADDR_SPACE_CONVERT): Likewise.
      	(TARGET_ADDR_SPACE_HOOKS): Likewise.
      	(TARGET_INITIALIZER): Initialize addr_space hooks.
      	* targhooks.c (default_addr_space_legitimate_address_p): New function.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      	* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      
      	* doc/rtl.texi (MEM_ADDR_SPACE): Document.
      	* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
      	(MEM_ADDR_SPACE): New macro.
      	* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
      	address space memory attribute.
      	(mem_attrs_htab_hash): Handle address space memory attribute.
      	(mem_attrs_htab_eq): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	(set_mem_align): Likewise.
      	(set_mem_expr): Likewise.
      	(set_mem_offset): Likewise.
      	(set_mem_size): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	(widen_memoy_address): Likewise.
      	(get_spill_slot_decl): Likewise.
      	(set_mem_attrs_for_spill): Likewise.
      	(set_mem_addr_space): New function.
      	* emit-rtl.h (set_mem_addr_space): Add prototype.
      	* print-rtl.c (print_rtx): Print address space memory attribute.
      	* expr.c (expand_assignment): Set address space memory attribute
      	of generated MEM RTXes as appropriate.
      	(expand_expr_real_1): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
      
      	* tree.h (struct tree_base): Add address_space bitfield.  Reduce
      	size of "spare" bitfield.
      	(TYPE_ADDR_SPACE): New macro.
      	(ENCODE_QUAL_ADDR_SPACE): Likewise.
      	(DECODE_QUAL_ADDR_SPACE): Likewise.
      	(CLEAR_QUAL_ADDR_SPACE): Likewise.
      	(KEEP_QUAL_ADDR_SPACE): Likewise.
      	(TYPE_QUALS): Encode type address space.
      	(TYPE_QUALS_NO_ADDR_SPACE): New macro.
      	* tree.c (set_type_quals): Set type address space.
      	(build_array_type): Inherit array address space from element type.
      	* print-tree.c (print_node_brief): Print type address space.
      	(print_node): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      
      	* explow.c (memory_address): Rename to ...
      	(memory_address_addr_space): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* recog.c (memory_address_p): Rename to ...
      	(memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(offsettable_address_p): Rename to ...
      	(offsettable_address_addr_space_p): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* reload.c (strict_memory_address_p): Rename to ...
      	(strict_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(maybe_memory_address_p): Rename to ...
      	(maybe_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* expr.h (memory_address_addr_space): Add prototype.
      	(memory_address): Define as macro.
      	* recog.h (memory_address_addr_space_p): Add prototype.
      	(memory_address_p): Define as macro.
      	(offsettable_address_addr_space_p): Add prototype.
      	(offsettable_address_p): Define as macro.
      	(strict_memory_address_addr_space_p): Add prototype.
      	(strict_memory_address_p): Define as macro.
      
      	* combine.c (find_split_point): Use address-space aware variants
      	of memory address routines.
      	* emit-rtl.c (operand_subword): Likewise.
      	(change_address_1): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	* expr.c (emit_move_insn): Likewise.
      	(expand_assignment): Likewise.
      	(expand_expr_real_1): Likewise.
      	* recog.c (verify_changes): Likewise.
      	(general_operand): Likewise.
      	(offsettable_memref_p): Likewise.
      	(offsettable_nonstrict_memref_p): Likewise.
      	(constrain_operands): Likewise.
      	* reload.c (get_secondary_mem): Likewise.
      	(find_reloads_toplev): Likewise.
      	(find_reloads_address): Likewise.
      	(find_reloads_subreg_address): Likewise.
      	* reload1.c (reload): Likewise.
      	* rtlhooks.c (gen_lowpart_if_possible): Likewise.
      	* rtl.h (address_cost): Add ADDRSPACE argument.
      	* rtlanal.c (address_cost): Add ADDRSPACE argument.  Use address-space
      	aware variant of memory address routines.
      	* loop-invariant.c (create_new_invariant): Update address_cost call.
      	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
      	* fwprop.c (should_replace_address): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(propagate_rtx_1): Update call to should_replace_address.
      	* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
      	argument.
      	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
      	ADDRSPACE argument.  Use per-address-space instead of global cache.
      	Use address-space aware variant of memory address routines.
      	(get_address_cost): Likewise.
      	(get_computation_cost_at): Update calls.
      	* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(create_mem_ref_raw): Update call to valid_mem_ref_p.
      	(most_expensive_mult_to_index): Update call to
      	multiplier_allowed_in_address_p.
      
      	* dwarf2out.c (modified_type_die): Output DW_AT_address_class
      	attribute to indicate named address spaces.
      
      	* varasm.c (get_variable_section): DECLs in named address spaces
      	cannot be "common".
      
      	* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
      	for addresses in a non-generic address space.
      
      	* expr.c (emit_block_move_hints): Do not use libcalls for
      	memory in non-generic address spaces.
      	(clear_storage_hints): Likewise.
      	(expand_assignment): Likewise.
      
      	* fold-const.c (operand_equal_p): Expressions refering to different
      	address spaces are not equivalent.
      
      	* rtl.c (rtx_equal_p_cb): MEMs refering to different address
      	spaces are not equivalent.
      	(rtx_equal_p): Likewise.
      	* cse.c (exp_equiv_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* reload.c (operands_match_p): Likewise.
      
      	* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
      	address spaces may alias.
      	(true_dependence): Likewise.
      	(canon_true_dependence): Likewise.
      	(write_dependence_p): Likewise.
      
      	* dse.c (canon_address): Handle named address spaces.
      	* ifcvt.c (noce_try_cmove_arith): Likewise.
      
      	* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
      	* expr.c (expand_expr_real_2): Expand ADDR_SPACE_CONVERT_EXPR.
      	* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
      	to handle conversions between different address spaces.
      	* fold-const.c (fold_convert_loc): Likewise.
      	(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* gimple-pretty-print.c (dump_unary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
      	to different address spaces are not useless.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153572
      Ben Elliston committed
  2. 20 Feb, 2009 1 commit
  3. 16 Jul, 2008 1 commit
    • recog.c (validate_change_1, [...]): Avoid C++ keywords. · 55d796da
      	* recog.c (validate_change_1, validate_change,
      	validate_unshare_change, validate_replace_rtx_1, struct
      	funny_match, constrain_operands, peephole2_optimize): Avoid C++
      	keywords.
      	* reload.c (push_secondary_reload, secondary_reload_class,
      	scratch_reload_class, find_valid_class, find_reusable_reload,
      	push_reload, find_dummy_reload, find_reloads_address_1,
      	find_reloads_address_part, find_equiv_reg): Likewise.
      	* reload1.c (spill_failure, eliminate_regs_1, allocate_reload_reg,
      	choose_reload_regs): Likewise.
      	* rtlanal.c (replace_rtx, nonzero_bits1, num_sign_bit_copies1):
      	Likewise.
      	* rtlhooks.c (gen_lowpart_if_possible): Likewise.
      	* sched-ebb.c (add_deps_for_risky_insns): Likewise.
      	* sched-rgn.c (concat_INSN_LIST): Likewise.
      	* stor-layout.c (mode_for_size, mode_for_size_tree,
      	smallest_mode_for_size): Likewise.
      
      From-SVN: r137894
      Kaveh R. Ghazi committed
  4. 22 Mar, 2008 1 commit
    • re PR rtl-optimization/33927 (replace_read in dse.c could handle cases where… · 18b526e8
      re PR rtl-optimization/33927 (replace_read in dse.c could handle cases where GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode) (and the size is the same))
      
      gcc/
      	PR rtl-optimization/33927
      	* Makefile.in (dse.o): Depend on $(TM_P_H).
      	* expr.h (extract_low_bits): Declare.
      	* expmed.c (extract_low_bits): New function.
      	* rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
      	* dse.c: Include tm_p.h.
      	(find_shift_sequence): Remove the read_reg argument and return the
      	read value.  Emit the instructions instead of returning them.
      	Iterate on new_mode rather than calculating it each time.
      	Check MODES_TIEABLE_P.  Use simplify_gen_subreg to convert the
      	source to NEW_MODE and extract_low_bits to convert the shifted
      	value to READ_MODE.
      	(replace_read): Allow the load and store to have different mode
      	classes.  Use extract_low_bits when SHIFT == 0.  Create the shift
      	or extraction instructions before trying the replacement.  Update
      	dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
      
      gcc/testsuite/
      	* gcc.target/mips/dse-1.c: Add checks for zeros.
      
      From-SVN: r133452
      Richard Sandiford committed
  5. 29 Jul, 2007 1 commit
    • attribs.c (hash_attr, [...]): Constify. · fa233e34
      	* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
      	* builtins.c (validate_arg, builtin_mathfn_code,
      	validate_arglist): Likewise.
      	* calls.c (call_expr_flags): Likewise.
      	* combine.c (reg_nonzero_bits_for_combine,
      	reg_num_sign_bit_copies_for_combine, get_last_value,
      	reg_truncated_to_mode): Likewise.
      	* emit-rtl.c (subreg_lowpart_p): Likewise.
      	* expr.c (highest_pow2_factor_for_target,
      	categorize_ctor_elements_1, categorize_ctor_elements,
      	count_type_elements, contains_packed_reference,
      	highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
      	* fold-const.c (may_negate_without_overflow_p, int_const_binop,
      	fold_convertible_p, operand_equal_p, tree_swap_operands_p,
      	native_encode_int, native_encode_real, native_encode_complex,
      	native_encode_vector, native_encode_expr, native_interpret_int,
      	native_interpret_real, native_interpret_complex,
      	native_interpret_vector, native_interpret_expr): Likewise.
      	* function.c (use_register_for_decl): Likewise.
      	* gimplify.c (get_name): Likewise.
      	* langhooks-def.h (lhd_return_null_const_tree): New.
      	(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
      	* langhooks.c (lhd_return_null_const_tree): New.
      	* langhooks.h (lang_get_callee_fndecl): Constify.
      	* output.h (constructor_static_from_elts_p): Likewise.
      	* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
      	* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
      	subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
      	* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
      	cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
      	nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
      	* rtlhooks-def.h (reg_nonzero_bits_general,
      	reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
      	Likewise. 
      	* rtlhooks.c (reg_num_sign_bit_copies_general,
      	reg_nonzero_bits_general, reg_truncated_to_mode_general):
      	Likewise. 
      	* stmt.c (warn_if_unused_value, is_body_block): Likewise.
      	* stor-layout.c (mode_for_size_tree): Likewise.
      	* tree-ssa-loop-im.c (memref_eq): Likewise.
      	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
      	* tree.c (contains_placeholder_p, type_list_equal,
      	simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
      	Likewise. 
      	* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
      	mode_for_size_tree, categorize_ctor_elements, count_type_elements,
      	contains_placeholder_p, contains_packed_reference,
      	get_callee_fndecl, operand_equal_for_phi_arg_p,
      	warn_if_unused_value, is_body_block, native_encode_expr,
      	native_interpret_expr, fold_convertible_p, operand_equal_p,
      	int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
      	validate_arglist, simple_cst_equal, type_list_equal,
      	use_register_for_decl, call_expr_flags, get_name,
      	highest_pow2_factor): Likewise.
      	(const_call_expr_arg_iterator_d,
      	init_const_call_expr_arg_iterator, next_const_call_expr_arg,
      	first_const_call_expr_arg, more_const_call_expr_args_p,
      	FOR_EACH_CONST_CALL_EXPR_ARG): New.
      	* varasm.c (constructor_static_from_elts_p): Constify.
      	
      cp:
      	* parser.c (eof_token): Un-constify.
      	(cp_lexer_new_main, cp_lexer_new_from_tokens, VEC_alloc,
      	cp_lexer_consume_token, cp_lexer_purge_token): Remove spurious
      	casts.
      
      java:
      	* lang.c (java_get_callee_fndecl): Constify.
      
      objc:
      	* objc-act.c (objc_get_callee_fndecl): Constify.
      	* objc-act.h (objc_get_callee_fndecl): Likewise.
      
      From-SVN: r127036
      Kaveh R. Ghazi committed
  6. 26 Jul, 2007 1 commit
  7. 11 Jul, 2007 1 commit
    • toplev.c (no_new_pseudos): Deleted. · ef4375b2
      2007-07-11  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* toplev.c (no_new_pseudos): Deleted.
      	* rtl.h (no_new_pseudos): Deleted.
      	* tree-pass.h (pass_no_new_pseudos): Deleted. 
      	* passes.c (pass_no_new_pseudos): Deleted.
      	* final.c (rest_of_clean_state): Removed no_new_pseudos.
      	(rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
      	* struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with 
      	reload_completed.
      	* cfgcleanup.c (try_crossjump_to_edge): Ditto. 
      	* rtlhooks.c (gen_lowpart_general): Ditto.
      	* optabs.c (prepare_operand): Ditto.
      	* mode-switching.c (rest_of_handle_mode_switching): Deleted set of
      	no_new_pseudos.
      	* modulo-sched.c (rest_of_handle_sms): Ditto.
      	* see.c (rest_of_handle_see): Ditto.
      	* ifcvt.c (if_convert): Ditto.
      	(gate_handle_if_after_combine): Replaced no_new_pseudos with 
      	reload_completed.
      	* init-regs.c (gate_initialize_regs): Deleted set of
      	no_new_pseudos.
      	* lower-subreg.c (decompose_multiword_subregs): Ditto. 
      	* bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
      	* doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.
      
      From-SVN: r126561
      Kenneth Zadeck committed
  8. 02 Jul, 2007 1 commit
  9. 28 Feb, 2006 1 commit
    • rtl.h (truncated_to_mode): Declare it. · d3b72690
      	* rtl.h (truncated_to_mode): Declare it.
      	(struct rtl_hooks): Add reg_truncated_to_mode hook.
      	* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
      	(RTL_HOOKS_INITIALIZER): Include it.
      	* rtlhooks.c (reg_truncated_to_mode_general): New function.
      	* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
      	reg_truncated_to_mode.
      	* rtlanal.c (truncated_to_mode): Define it.
      	* simplify-rtx.c (simplify_unary_operation_1): Use it.
      
      Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
      
      From-SVN: r111573
      Paolo Bonzini committed
  10. 13 Dec, 2005 1 commit
  11. 25 Jun, 2005 1 commit
  12. 05 Apr, 2005 1 commit
  13. 29 Mar, 2005 1 commit
    • builtin-types.def, [...]: Update copyright. · 5f996627
      	* builtin-types.def, c-convert.c, c-format.c, ddg.c, debug.c,
      	debug.h, et-forest.c, et-forest.h, gcov.c, rtl-profile.c,
      	rtlhooks-def.h, rtlhooks.c, sdbout.c, tree-inline.h,
      	tree-profile.c, tsystem.h, value-prof.h: Update copyright.
      
      From-SVN: r97209
      Kazu Hirata committed
  14. 21 Mar, 2005 1 commit
    • rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit. · 9ce921ab
      2005-03-21  Paolo Bonzini  <bonzini@gnu.org>
      
      	* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
      	* rtlhooks.c (gen_lowpart_no_emit_general): New.
      	* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
      	(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
      	* simplify-rtx.c (simplify_binary_operation_1): Use it.
      
      From-SVN: r96799
      Paolo Bonzini committed
  15. 09 Sep, 2004 1 commit
    • ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. · 41374e13
      	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
      	live_out_1, prune_hardregs_for_mode, init_one_web_common,
      	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
      	record_conflict, compare_and_free_webs, init_webs_defs_uses,
      	parts_to_webs_1, parts_to_webs, reset_conflicts,
      	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
      	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
      	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
      	put_move, remove_move, combine, select_spill, colorize_one_web,
      	try_recolor_web, insert_coalesced_conflicts, check_colors,
      	break_precolored_alias, restore_conflicts_from_coalesce,
      	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
      	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
      	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
      	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
      	check_df): Likewise.
      	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
      	real_arithmetic, real_compare, real_exponent, real_ldexp,
      	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
      	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
      	real_digit, real_nan, real_maxval, round_for_format, real_convert,
      	real_to_target, real_from_target, real_hash, encode_ieee_single,
      	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
      	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
      	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
      	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
      	extract_insn, peep2_next_insn, peep2_reg_dead_p,
      	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
      	if_test_bypass_p): Likewise.
      	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
      	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
      	emit_swap_insn, swap_to_top, move_for_stack_reg,
      	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
      	compensate_edge, convert_regs_1): Likewise.
      	* regclass.c (init_reg_sets, init_reg_sets_1,
      	memory_move_secondary_cost): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
      	Likewise.
      	* reload.c (push_secondary_reload, find_valid_class, push_reload,
      	operands_match_p, decompose, immune_p, find_reloads,
      	find_reloads_toplev, find_reloads_address_1, subst_reloads,
      	copy_replacements, refers_to_regno_for_reload_p,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
      	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
      	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
      	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
      	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
      	do_output_reload, fixup_abnormal_edges): Likewise.
      	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
      	fill_slots_from_thread, relax_delay_slots): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources):
      	Likewise.
      	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
      	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
      	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
      	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
      	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
      	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sbitmap.c (sbitmap_difference): Likewise.
      	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
      	sched_analyze, add_forward_dependence): Likewise.
      	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
      	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
      	schedule_insns): Likewise.
      	* sched-vis.c (print_pattern): Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
      	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
      	simplify_const_relational_operation, simplify_ternary_operation,
      	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
      	Likewise.
      	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
      	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
      	resolve_operand_name_1, expand_return, expand_decl,
      	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
      	* stor-layout.c (put_pending_size, smallest_mode_for_size,
      	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
      	set_sizetype, get_mode_bounds): Likewise.
      
      From-SVN: r87244
      Nathan Sidwell committed
  16. 04 Jul, 2004 1 commit
    • rtl.def (ADDRESSOF): Remove. · 8fff4fc1
      	* rtl.def (ADDRESSOF): Remove.
      	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
      	(find_base_term, memrefs_conflict_p): Likewise.
      	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
      	(fold_rtx, cse_insn, set_live_p): Likewise.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	(add_location_or_const_value_attribute): Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (store_split_bit_field): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* function.c (instantiate_decl
      	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
      	* genrecog.c (preds, validate_pattern): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* recog.c (general_operand, register_operand): Likewise.
      	(memory_address_p): Likwise.
      	* reload1.c (eliminate_regs, elimination_effects): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* web.c (entry_register, replace_ref, web_main): Likewise.
      	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
      	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	* config/arm/arm.c (thumb_rtx_costs): Likewise.
      	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
      	* config/frv/frv.c (move_destination_operand, move_source_operand,
      	condexec_dest_operand, condexec_source_operand,
      	condexec_memory_operand): Likewise.
      	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
      	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
      	(destination_xfmode_operand): Likewise.
      	* config/mips/mips.h (PREDICATE_CODES): Likewise.
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
      	* config/s390/s390.c (general_s_operand): Likewise.
      	* config/s390/s390.md (mov*): Likewise.
      	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
      
      	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
      	* expr.c (expand_expr_real_1): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      
      	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
      	postponed_insns, put_var_into_stack, put_reg_into_stack,
      	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
      	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
      	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
      	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
      	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
      	purge_bitfield_addressof_replacements, purge_addressof_replacements,
      	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
      	struct insns_for_mem_walk_info, insns_for_mem_walk,
      	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
      	setjmp_protect_args): Remove.
      	(push_function_context_to): Don't handle var_refs_queue.
      	(pop_function_context_from, free_after_compilation): Likewise.
      	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
      	(assign_parms, allocate_struct_function): Likewise.
      	(use_register_for_decl): New.
      	(expand_function_end): Don't setjmp_protect.
      	* function.h (struct emit_status): Update commentary.
      	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
      	(max_parm_reg, parm_reg_stack_loc): Remove.
      	* passes.c (DFI_addressof): Remove.
      	(dump_file_info): Remove addressof.
      	(rest_of_handle_addressof): Remove.
      	(rest_of_compilation): Don't call it.
      	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
      	* stmt.c (expand_decl): Use use_register_for_decl.
      	* tree.h: Update decls.
      	* web.c (mark_addressof): Remove.
      	* doc/invoke.texi (-dF): Remove.
      
      ada/
              * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
      cp/
              * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
      fortran/
              * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
      treelang/
              * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.
      
      From-SVN: r84072
      Richard Henderson committed
  17. 01 Jul, 2004 1 commit
    • alias.c (get_alias_set, [...]): Use MEM_P. · 3c0cb5de
      2004-07-01  Jerry Quinn  <jlquinn@optonline.net>
      
      	* alias.c (get_alias_set, canon_rtx, get_addr,
      	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
      	Use MEM_P.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
      	expand_builtin): Likewise.
      	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
      	Likewise.
      	* combine.c (can_combine_p, combinable_i3pat, try_combine,
      	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
      	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
      	record_dead_and_set_regs_1, get_last_value_validate,
      	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
      	* cse.c (check_dependence, canon_hash, equiv_constant,
      	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
      	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
      	count_reg_usage): Likewise.
      	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
      	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
      	cselib_record_sets): Likewise.
      	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
      	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
      	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
      	* df.c (df_uses_record): Likewise.
      	* dojump (do_jump): Likewise.
      	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
      	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
      	decl_start_label): Likewise.
      	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
      	operand_subword, change_address_1, make_safe_from): Likewise.
      	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
      	stabilize, force_not_mem): Likewise.
      	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
      	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
      	* expr.c (convert_move, convert_modes, emit_block_move,
      	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
      	emit_move_insn_1, expand_assignment, store_expr,
      	store_constructor_field, store_constructor, store_field,
      	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
      	Likewise.
      	* final.c (cleanup_subreg_operands, alter_subreg,
      	get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
      	Likewise.
      	* function.c (mark_temp_addr_taken, preserve_temp_slots,
      	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
      	optimize_bit_field, flush_addressof, purge_addressof_1,
      	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
      	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
      	keep_stack_depressed): Likewise.
      	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
      	noce_process_if_block, find_memory): Likewise.
      	* integrate.c (subst_constants, allocate_initial_values): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
      	update_equiv_regs): Likewise.
      	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
      	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
      	* optabs.c (expand_abs, emit_unop_insn): Likewise.
      	* passes.c (rest_of_handle_final): Likewise.
      	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
      	move2add_note_store): Likewise.
      	* ra-build.c (detect_remat_webs): Likewise.
      	* ra-debug.c (dump_static_insn_cost): Likewise.
      	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
      	* recog.c (validate_change, apply_change_group, cancel_changes,
      	validate_replace_rtx_1, general_operand, register_operand,
      	nonmemory_operand, push_operand, pop_operand, memory_operand,
      	indirect_operand, asm_operand_ok, offsettable_memref_p,
      	offsettable_nonstrict_memref_p, constrain_operands,
      	store_data_bypass_p): Likewise.
      	* reg-stack.c (subst_stack_regs_pat): Likewise.
      	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
      	copy_cost, reg_scan_mark_refs): Likewise.
      	* regmove.c (optimize_reg_copy_3, stack_memref_p,
      	combine_stack_adjustments_for_block): Likewise.
      	* regrename.c (copyprop_hardreg_forward_1): Likewise.
      	* reload.c (can_reload_into, push_reload, decompose, immune_p,
      	find_reloads, find_reloads_address, find_reloads_address_1,
      	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
      	find_equiv_reg): Likewise.
      	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
      	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
      	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
      	delete_address_reloads): Likewise.
      	* resource.c (mark_referenced_resources): Likewise.
      	* rtlanal.c (get_jump_table_offset, count_occurrences,
      	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
      	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
      	num_sign_bit_copies1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
      	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
      	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
      	sdbout_global_decl): Likewise.
      	* simplify-rtx.c (simplify_subreg): Likewise.
      	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
      	expand_anon_union_decl, expand_end_case_type): Likewise.
      	* unroll.c (calculate_giv_inc): Likewise.
      	* var-tracking.c (stack_adjust_offset_pre_post,
      	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
      	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
      	vt_add_function_parameters): Likewise.
      	* varasm.c (make_var_volatile, notice_global_symbol,
      	assemble_external, decode_addr_const, mark_weak,
      	default_encode_section_info): Likewise.
      
      From-SVN: r83980
      Jerry Quinn committed
  18. 15 Jun, 2004 1 commit
    • alias.c (record_set, [...]): Use REG_P. · f8cfc6aa
      2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
      
      	* alias.c (record_set, record_base_value, canon_rtx, get_addr,
      	nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
      	* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
      	Likewise.
      	* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
      	expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
      	expand_builtin_strcmp, expand_builtin_strncmp,
      	expand_builtin_frame_address): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
      	insert_one_insn): Likewise.
      	* calls.c (prepare_call_address, precompute_register_parameters,
      	precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
      	* cfganal.c (flow_active_insn_p): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
      	combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
      	subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
      	make_extraction, recog_for_combine, gen_lowpart_for_combine,
      	simplify_comparison, record_dead_and_set_regs_1,
      	record_dead_and_set_regs, record_promoted_value,
      	check_promoted_subreg, get_last_value_validate, get_last_value,
      	reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
      	unmentioned_reg_p_1): Likewise.
      	* conflict.c (mark_reg): Likewise.
      	* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
      	mention_regs, insert_regs, lookup, lookup_for_remove, insert,
      	merge_equiv_classes, flush_hash_table, invalidate,
      	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
      	invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
      	cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
      	record_jump_cond, cse_insn, addr_affects_sp_p,
      	invalidate_from_clobbers, cse_process_notes, cse_around_loop,
      	cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
      	cse_cc_succs, cse_condition_code_reg): Likewise.
      	* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
      	cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
      	cselib_record_set, cselib_record_sets): Likewise.
      	* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
      	dbxout_block): Likewise.
      	* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
      	is_based_loc, rtl_for_decl_location): Likewise.
      	* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
      	set_decl_incoming_rtl, mark_user_reg): Likewise.
      	* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
      	copy_to_suggested_reg, allocate_dynamic_stack_space,
      	probe_stack_range, hard_function_value): Likewise.
      	* expmed.c (store_bit_field, store_fixed_bit_field,
      	store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
      	extract_split_bit_field, expand_divmod, emit_store_flag_force):
      	Likewise.
      	* expr.c (convert_move, convert_modes,
      	block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
      	use_group_regs, emit_move_insn, emit_move_insn_1,
      	compress_float_constant, push_block, emit_single_push_insn,
      	emit_push_insn, get_subtarget, expand_assignment, store_expr,
      	store_constructor, store_field, force_operand, safe_from_p,
      	expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
      	Likewise.
      	* final.c (profile_function, final_scan_insn, alter_subreg,
      	get_mem_expr_from_op, output_asm_operand_names, output_operand,
      	only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
      	* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
      	find_regno_partial, propagate_one_insn, init_propagate_block_info,
      	insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
      	attempt_auto_inc, find_auto_inc, mark_used_regs,
      	count_or_remove_death_notes_bb): Likewise.
      	* function.c (find_temp_slot_from_address, update_temp_slot_address,
      	preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
      	fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
      	put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
      	purge_single_hard_subreg_set, instantiate_decl,
      	instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
      	promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
      	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
      	expand_function_start, diddle_return_value, clobber_return_register,
      	expand_function_end, keep_stack_depressed, handle_epilogue_set,
      	update_epilogue_consts): Likewise.
      	* genemit.c (gen_exp, gen_insn): Likewise.
      	* genrecog.c (make_insn_sequence): Likewise.
      	* global.c (global_conflicts, expand_preferences, mark_reg_store,
      	mark_reg_conflicts, set_preference, reg_becomes_live,
      	build_insn_chain, mark_reg_change): Likewise.
      	* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
      	Likewise.
      	* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
      	Likewise.
      	* integrate.c (copy_rtx_and_substitute, try_constants,
      	subst_constants, mark_stores, allocate_initial_values): Likewise.
      	* jump.c (reversed_comparison_code_parts, delete_prior_computation,
      	delete_computation, rtx_renumbered_equal_p, true_regnum,
      	reg_or_subregno): Likewise.
      	* lcm.c (reg_dies, reg_becomes_live): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
      	update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
      	wipe_dead_reg, no_conflict_p): Likewise.
      	* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
      	iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
      	simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
      	* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
      	move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
      	find_single_use_in_loop, count_one_set, loop_bivs_init_find,
      	loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
      	valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
      	loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
      	maybe_eliminate_biv_1, record_initial, update_reg_last_use,
      	canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
      	try_swap_copy_prop): Likewise.
      	* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
      	expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
      	Likewise.
      	* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
      	reload_cse_simplify_operands, reload_combine,
      	reload_combine_note_store, reload_combine_note_use,
      	reload_cse_move2add, move2add_note_store): Likewise.
      	* print-rtl.c (print_rtx): Likewise.
      	* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
      	contains_pseudo, handle_asm_insn): Likewise.
      	* ra-debug.c (ra_print_rtx_object, dump_constraints,
      	dump_static_insn_cost): Likewise.
      	* ra-rewrite.c (slots_overlap_p, emit_colors,
      	remove_suspicious_death_notes): Likewise.
      	* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
      	register_operand, scratch_operand, nonmemory_operand,
      	constrain_operands): Likewise.
      	* reg-stack (check_asm_stack_operands, remove_regno_note,
      	emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
      	subst_asm_stack_regs): Likewise.
      	* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
      	record_address_regs, reg_scan_mark_refs): Likewise.
      	* regmove.c (discover_flags_reg, replacement_quality,
      	copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
      	fixup_match_1): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
      	kill_set_value, copyprop_hardreg_forward_1): Likewise.
      	* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
      	reload_inner_reg_of_subreg, can_reload_into, push_reload,
      	combine_reloads, find_dummy_reload, hard_reg_set_here_p,
      	operands_match_p, decompose, find_reloads, find_reloads_toplev,
      	find_reloads_address, subst_indexed_address, find_reloads_address_1,
      	find_reloads_subreg_address, find_replacement,
      	refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
      	refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
      	* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
      	find_reg, delete_dead_insn, alter_reg, eliminate_regs,
      	elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
      	forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
      	emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
      	do_output_reload, emit_reload_insns, gen_reload,
      	delete_address_reloads_1, inc_for_reload): Likewise.
      	* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
      	update_reg_unused_notes, fill_slots_from_thread): Likewise.
      	* resource.c (update_live_status, mark_referenced_resources,
      	mark_set_resources, mark_target_live_regs): Likewise.
      	* rtlanal.c (nonzero_address_p, get_jump_table_offset,
      	global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
      	reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
      	note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
      	find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
      	parms_set, find_first_parameter_load, keep_with_call_p,
      	hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
      	num_sign_bit_copies1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
      	sched_analyze): Likewise.
      	* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
      	Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
      	* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
      	simplify_binary_operation, simplify_const_relational_operation,
      	simplify_subreg): Likewise.
      	* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
      	expand_end_stmt_expr, expand_return, expand_decl,
      	expand_anon_union_decl): Likewise.
      	* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
      	find_splittable_regs, find_splittable_givs, find_common_reg_term,
      	loop_iterations): Likewise.
      	* var-tracking.c (variable_union, variable_part_different_p,
      	variable_different_p, count_uses, add_uses, add_stores,
      	compute_bb_dataflow, set_variable_part, delete_variable_part,
      	emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
      	Likewise.
      	* varasm.c (assemble_variable): Likewise.
      
      From-SVN: r83195
      Jerry Quinn committed
  19. 25 May, 2004 1 commit
    • Makefile.in (OBJS): Add rtlhooks.o. · 2f93eea8
      2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.in (OBJS): Add rtlhooks.o.
      	(rtlanal.o): Depend on function.h.
      	(cse.o): Depend on rtlhooks-def.h.
      	(combine.o): Depend on rtlhooks-def.h.
      	(rtlhooks.o): New rule.
      	* combine.c: Include rtlhooks-def.h.
      	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
      	num_sign_bit_copies, cached_num_sign_bit_copies,
      	num_sign_bit_copies1): Move most of the code to rtlanal.c.
      	(reg_nonzero_bits_for_combine,
      	reg_num_sign_bit_copies_for_combine): New functions holding
      	the remnants of the above.
      	(combine_rtl_hooks): New.
      	(combine_instructions): Set rtl_hooks instead of gen_lowpart.
      	* cse.c: Include rtlhooks-def.h.
      	(cse_rtl_hooks): New.
      	(cse_main): Set rtl_hooks instead of gen_lowpart.
      	* emit-rtl.c (gen_lowpart): Remove.
      	(gen_lowpart_general): Move to rtlhooks.c.
      	* rtl.h (nonzero_bits, num_sign_bit_copies,
      	struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
      	(gen_lowpart_general): Remove.
      	(gen_lowpart): Temporarily redefine as a macro.
      	* rtlanal.c: Include function.h.
      	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
      	num_sign_bit_copies, cached_num_sign_bit_copies,
      	num_sign_bit_copies1): New, from combine.c.
      	* rtlhooks.c: New file.
      
      From-SVN: r82234
      Paolo Bonzini committed