1. 30 Jul, 2007 2 commits
    • alias.c (record_set, [...]): Constify. · 7bc980e1
      	* alias.c (record_set, memory_modified_1): Constify.
      	* bt-load.c (note_btr_set): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies,
      	expand_field_assignment, record_dead_and_set_regs_1,
      	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
      	likely_spilled_retval_1): Likewise.
      	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
      	frv_io_handle_set): Likewise.
      	* config/mips/mips.c (mips_sim_record_set,
      	vr4130_true_reg_dependence_p_1): Likewise.
      	* config/mt/mt.c (insn_dependent_p_1): Likewise.
      	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
      	* config/sh/sh.c (flow_dependent_p_1): Likewise.
      	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
      	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
      	* ddg.c (mark_mem_store): Likewise.
      	* df-problems.c (df_urec_mark_reg_change): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* gcse.c (record_set_info, record_last_set_info,
      	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
      	reg_clear_last_set): Likewise.
      	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
      	Likewise.
      	* jump.c (reversed_comparison_code_parts): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
      	reg_is_set): Likewise.
      	* loop-iv.c (mark_altered): Likewise.
      	* mode-switching.c (reg_becomes_live): Likewise.
      	* optabs.c (no_conflict_move_test): Likewise.
      	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
      	Likewise.
      	* postreload.c (reload_combine_note_store, move2add_note_store):
      	Likewise.
      	* regmove.c (flags_set_1): Likewise.
      	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
      	Likewise.
      	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
      	Likewise. 
      	* resource.c (update_live_status): Likewise.
      	* rtl.h (set_of, note_stores): Likewise.
      	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
      	note_stores, parms_set): Likewise.
      	* sched-rgn.c (sets_likely_spilled_1): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
      	Likewise. 
      	* var-tracking.c (count_stores, add_stores): Likewise.
      
      From-SVN: r127065
      Kaveh R. Ghazi committed
    • alias.c (mems_in_disjoint_alias_sets_p, [...]): Constify. · 4f588890
      	* alias.c (mems_in_disjoint_alias_sets_p,
      	fixed_scalar_and_varying_struct_p, aliases_everything_p,
      	nonoverlapping_component_refs_p, nonoverlapping_memrefs_p,
      	write_dependence_p, mems_in_disjoint_alias_sets_p,
      	read_dependence, true_dependence, canon_true_dependence,
      	anti_dependence, output_dependence): Constify.
      	* combine.c (extended_count): Likewise.
      	* cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise.
      	* cselib.c (get_value_hash, references_value_p,
      	cselib_reg_set_mode, cselib_rtx_varies_p): Likewise.
      	* cselib.h (cselib_reg_set_mode, references_value_p): Likewise.
      	* emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise.
      	* function.c (contains, prologue_epilogue_contains,
      	sibcall_epilogue_contains): Likewise. 
      	* jump.c (simplejump_p, condjump_p, condjump_in_parallel_p,
      	pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p,
      	only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum,
      	reg_or_subregno): Likewise.
      	* recog.c (asm_noperands): Likewise.
      	* reload1.c (function_invariant_p): Likewise.
      	* rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p,
      	rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx,
      	condjump_p, any_condjump_p, any_uncondjump_p, pc_set,
      	simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p,
      	true_regnum, reg_or_subregno, condjump_in_parallel_p,
      	extended_count, prologue_epilogue_contains,
      	sibcall_epilogue_contains, function_invariant_p, true_dependence,
      	canon_true_dependence, read_dependence, anti_dependence,
      	output_dependence): Likewise.
      	* rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise.
      
      java:
      	* jcf-io.c (find_class): Fix -Wcast-qual warnings.
      
      From-SVN: r127063
      Kaveh R. Ghazi committed
  2. 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
  3. 26 Jul, 2007 1 commit
  4. 25 Jul, 2007 2 commits
    • cfglayout.c (insn_scope, insn_line): Constify. · f7d504c2
      	* cfglayout.c (insn_scope, insn_line): Constify.
      	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq,
      	const_double_htab_hash, const_double_htab_eq,
      	mem_attrs_htab_hash): Likewise.
      	* loop-iv.c (biv_eq): Likewise.
      	* print-rtl.c (print_rtx, print_decl_name, print_mem_expr,
      	print_inline_rtx, debug_rtx, debug_rtx_list, debug_rtx_range,
      	debug_rtx_find, print_rtl, print_rtl_single, print_simple_rtl):
      	Likewise. 
      	* rtl-error.c (location_for_asm, diagnostic_for_asm,
      	error_for_asm, warning_for_asm, _fatal_insn,
      	_fatal_insn_not_found): Likewise. 
      	* rtl.c (rtx_size, shared_const_p, shallow_copy_rtx_stat,
      	rtx_equal_p, rtl_check_failed_bounds, rtl_check_failed_type1,
      	rtl_check_failed_type2, rtl_check_failed_code1,
      	rtl_check_failed_code2, rtl_check_failed_code_mode,
      	rtvec_check_failed_bounds, rtl_check_failed_flag): Likewise.
      	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
      	rtl_check_failed_type2, rtl_check_failed_code1,
      	rtl_check_failed_code2, rtl_check_failed_code_mode,
      	rtvec_check_failed_bounds, rtl_check_failed_flag, LABEL_KIND,
      	SET_LABEL_KIND, rhs_regno, subreg_lsb, subreg_regno, subreg_nregs,
      	shared_const_p, rtx_size, shallow_copy_rtx_stat, rtx_equal_p,
      	get_pool_mode, insn_line, insn_file, simplify_replace_rtx,
      	mode_signbit_p, rtx_addr_can_trap_p, nonzero_address_p,
      	rtx_unstable_p, get_integer_term, get_related_value,
      	offset_within_block_p, reg_mentioned_p, count_occurrences,
      	reg_referenced_p, reg_used_between_p, no_labels_between_p,
      	single_set_2, multiple_sets, set_noop_p, refers_to_regno_p,
      	reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p,
      	find_reg_note, find_regno_note, find_reg_equal_equiv_note,
      	find_constant_src, find_reg_fusage, find_regno_fusage,
      	pure_call_p, remove_note, side_effects_p, volatile_refs_p,
      	volatile_insn_p, may_trap_p, may_trap_after_code_motion_p,
      	may_trap_or_fault_p, inequality_comparisons_p, tablejump_p,
      	computed_jump_p, auto_inc_p, in_expr_list_p,
      	remove_node_from_expr_list, loc_mentioned_in_p,
      	label_is_jump_target_p, reversed_comparison_code_parts,
      	debug_rtx, debug_rtx_list, debug_rtx_range, debug_rtx_find,
      	print_mem_expr, print_rtl, print_simple_rtl, print_rtl_single,
      	print_inline_rtx): Likewise.
      	* rtlanal.c (covers_regno_p, covers_regno_no_parallel_p,
      	computed_jump_p_1, nonzero_bits1, rtx_unstable_p,
      	rtx_addr_can_trap_p_1, rtx_addr_can_trap_p, nonzero_address_p,
      	get_integer_term, get_related_value, offset_within_block_p,
      	count_occurrences, reg_mentioned_p, no_labels_between_p,
      	reg_used_between_p, reg_referenced_p, single_set_2,
      	multiple_sets, set_noop_p, refers_to_regno_p,
      	reg_overlap_mentioned_p, dead_or_set_p,
      	covers_regno_no_parallel_p, covers_regno_p,
      	dead_or_set_regno_p, find_reg_note, find_regno_note,
      	find_reg_equal_equiv_note, find_constant_src, find_reg_fusage,
      	find_regno_fusage, pure_call_p, remove_note, in_expr_list_p,
      	remove_node_from_expr_list, volatile_insn_p, volatile_refs_p,
      	side_effects_p, may_trap_p_1, may_trap_p,
      	may_trap_after_code_motion_p, may_trap_or_fault_p,
      	inequality_comparisons_p, tablejump_p, computed_jump_p_1,
      	computed_jump_p, auto_inc_p, loc_mentioned_in_p, subreg_lsb,
      	subreg_regno, subreg_nregs, label_is_jump_target_p): Likewise.
      	* simplify-rtx.c (neg_const_int, plus_minus_operand_p,
      	mode_signbit_p, simplify_replace_rtx, plus_minus_operand_p):
      	Likewise. 
      	* toplev.h (_fatal_insn_not_found, _fatal_insn, error_for_asm,
      	warning_for_asm): Likewise.
      	* tree.h (print_rtl): Likewise.
      	* varasm.c (get_pool_mode): Likewise.
      
      From-SVN: r126922
      Kaveh R. Ghazi committed
    • coretypes.h (const_bitmap, [...]): New. · a57193e8
      	* coretypes.h (const_bitmap, const_rtx, const_rtvec, const_tree):
      	New.
      	
      	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
      	RTVEC_ELT, XWINT, XCWINT, XCMWINT, XCNMPRV, BLOCK_SYMBOL_CHECK,
      	RTL_FLAG_CHECK1, RTL_FLAG_CHECK2, RTL_FLAG_CHECK3,
      	RTL_FLAG_CHECK4, RTL_FLAG_CHECK5, RTL_FLAG_CHECK6,
      	RTL_FLAG_CHECK7, RTL_FLAG_CHECK8, LABEL_KIND, SET_LABEL_KIND):
      	Preserve const-ness of parameters through use of __typeof(),
      	also constify and tidy.
      	
      	* tree.h (TREE_CHECK, TREE_NOT_CHECK, TREE_CHECK2,
      	TREE_NOT_CHECK2, TREE_CHECK3, TREE_NOT_CHECK3, TREE_CHECK4,
      	NON_TREE_CHECK4, TREE_CHECK5, TREE_NOT_CHECK5,
      	CONTAINS_STRUCT_CHECK, TREE_CLASS_CHECK, TREE_RANGE_CHECK,
      	OMP_CLAUSE_SUBCODE_CHECK, OMP_CLAUSE_RANGE_CHECK, EXPR_CHECK,
      	GIMPLE_STMT_CHECK, NON_TYPE_CHECK, TREE_VEC_ELT_CHECK,
      	PHI_NODE_ELT_CHECK, OMP_CLAUSE_ELT_CHECK, TREE_OPERAND_CHECK,
      	TREE_OPERAND_CHECK_CODE, GIMPLE_STMT_OPERAND_CHECK,
      	TREE_RTL_OPERAND_CHECK, TREE_CHAIN, TREE_TYPE): Likewise.
      
      From-SVN: r126918
      Kaveh R. Ghazi committed
  5. 23 Jul, 2007 1 commit
    • PR middle-end/PR28690 · 7e0b4eae
      	PR middle-end/PR28690
      	* optabs.c (expand_binop): (emit_cmp_and_jump_insns): Allow EQ compares.
      	* rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER
      	and MEM_POINTER operands over REG and MEM operands.
      	(swap_commutative_operands_p): Change return value to bool.
      	* rtl.h: Update the corresponding prototype.
      	* tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary
      	instead of gen_rtx_PLUS.
      	* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Change return
      	value to bool.  Change function arguments to rtx's and update code
      	to match.
      	(simplify_plus_minus): Update the simplify_plus_minus_op_data_cmp
      	calls to match the new declaration.
      	* simplify-rtx.c (simplify_associative_operation): Don't
      	reorder simplify_binary_operation arguments.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r126852
      Peter Bergner committed
  6. 13 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. 10 Jul, 2007 1 commit
    • Replace no_new_pseudos in backends. · b3a13419
      	* rtl.h (can_create_pseudo_p): Define.
      	* config/darwin.c (machopic_indirect_data_reference): Use
      	can_create_pseudo_p () instead of no_new_pseudos.
      	(machopic_indirect_data_reference): Likewise.
      	(machopic_legitimize_pic_address): Likewise.
      	* config/alpha/alpha.c (alpha_legitimize_address): Likewise.
      	(alpha_emit_set_const_1): Likewise.
      	(alpha_emit_set_const): Likewise.
      	(alpha_emit_conditional_move): Likewise.
      	(alpha_split_conditional_move): Likewise.
      	* config/alpha/alpha.md (various splitters): Likewise.
      	(movti): Likewise.
      	* config/arm/arm.c (legitimize_pic_address): Likewise.
      	(arm_load_pic_register): Likewise.
      	* config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise.
      	(movdi, movsi, movhi, movqi, movsf, movdf): Likewise.
      	* config/bfin/bfin.c (legitimize_pic_address): Likewise.
      	* config/cris/cris.c (cris_expand_pic_call_address): Likewise.
      	* config/cris/cris.md (movsi): Likewise.
      	* config/frv/frv.md (symGOT2reg_hilo): Likewise.
      	(symGOTOFF2reg_hilo): Likewise.
      	(symGPREL2reg, symGPREL2reg_hilo): Likewise.
      	* config/h8300/h8300.md (insv, extzv): Likewise.
      	* config/i386/i386.c (ix86_expand_move): Likewise.
      	(ix86_expand_vector_move): Likewise.
      	(ix86_prepare_fp_compare_args): Likewise.
      	(ix86_expand_carry_flag_compare): Likewise.
      	* config/i386/i386.md (tls_dynamic_gnu2_32): Likewise.
      	(tls_dynamic_gnu2_combine_32): Likewise.
      	(tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise.
      	* config/ia64/ia64.c (ia64_expand_move): Likewise.
      	(ia64_expand_movxf_movrf): Likewise.
      	* config/m32c/m32c.c (m32c_prepare_move): Likewise.
      	(m32c_split_move): Likewise.
      	(m32c_expand_insv): Likewise.
      	* config/m68k/m68k.md (movsi): Likewise.
      	* config/mips/mips.c (mips_force_temporary): Likewise.
      	(mips_split_symbol): Likewise.
      	(mips_move_integer): Likewise.
      	(mips_legitimize_const_move): Likewise.
      	* config/mn10300/mn10300.md (movsi): Likewise.
      	* config/pa/pa.c (emit_move_sequence): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
      	(rs6000_got_register): Likewise.
      	(create_TOC_reference): Likewise.
      	(rs6000_machopic_legitimize_pic_address): Likewise.
      	* config/rs6000/rs6000.md (add<mode>3): Likewise.
      	(various splitters): Likewise.
      	(iorsi3, xorsi3, iordi3, xordi3): Likewise.
      	(movsi_got): Likewise.
      	* config/s390/s390.c (emit_symbolic_move): Likewise.
      	* config/s390/s390.md (movhi, movqi): Likewise.
      	(load_multiple, store_multiple): Likewise.
      	* config/score/score.c (score_force_temporary): Likewise.
      	* config/sh/sh.c (prepare_move_operands): Likewise.
      	(prepare_cbranch_operands): Likewise.
      	(emit_fpu_switch): Likewise.
      	(fpscr_set_from_mem): Likewise.
      	* config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise.
      	(adddi3, subsi3): Likewise.
      	(various splitters): Likewise.
      	(divsi_inv_fp_combine): Likewise.
      	(symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise.
      	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise.
      	(sne): Likewise.
      	* config/sh/predicates.md (xor_operand): Likewise.
      	* config/sparc/sparc.c (legitimize_tls_address): Likewise.
      	* config/sparc/sparc.md (movsi_pic_label_ref): Likewise.
      	(movdi_pic_label_ref): Likewise.
      	* config/spu/spu.c (spu_split_immediate): Likewise.
      	* config/alpha/alpha.md (various splitters): Remove test
      	!no_new_pseudos || reload_completed.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Don't set
      	no_new_pseudos.
      	* config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
      	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/score/score.c (th_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      
      From-SVN: r126517
      Ian Lance Taylor committed
  9. 07 Jul, 2007 1 commit
  10. 11 Jun, 2007 1 commit
  11. 07 Jun, 2007 1 commit
  12. 06 Jun, 2007 1 commit
    • haifa-sched.c (restore_bb_notes): Clear bb field of the notes emited outside of basic block. · a7b87f73
      	* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
      	emited outside of basic block.
      	* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
      	the created blocks.
      	* rtl.h (delete_insn_chain): Declaration changed.
      	* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
      	non-removed insns.
      	(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
      	(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
      	rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false 
      	to delete_insn_chain.
      	(rtl_verify_flow_info_1): Verify that the insns in header and footer
      	do not have bb field set.
      	(rtl_verify_flow_info): Verify that insns between basic blocks do not
      	have bb field set.
      	* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
      	* cfgcleanup.c (try_optimize_cfg): Ditto.
      
      From-SVN: r125492
      Zdenek Dvorak committed
  13. 21 May, 2007 1 commit
    • gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER... · a38e7aa5
      	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ddg.c (create_ddg): LIkewise.
      	* final.c (final): Remove hunk moving line numbernotes around since
      	they are no longer present at this stage.
      	(final_scan_insn): Use NOTE_KIND instead of
      	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(output_asm_label): Likewise.
      	* reorg.c (dbr_schedule): Likewise.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* graph.c (start_bb): Likewise.
      	* rtl.def (NOTE): Update description.
      	* jump.c (squeeze_notes): Delete.
      	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
      	NOTE_INSN_BASIC_BLOCK_P when possible.
      	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
      	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
              NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
      	(dwarf2out_var_location): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* function.c (reorder_blocks_1): Likewise.
      	(epilogue_done): Likewise.
      	(reposition_prologue_and_epilogue_notes): Likewise.
      	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
      	notes.
      	(print_rtl): Likewise.
      	(print_rtl_single): Likewise.
      	* gcse.c (insert_insn_start_bb): Likewise.
      	* alias.c (init_alias_analysis): Likewise.
      	* calls.c (fixup_tail_calls): Likewise.
      	* except.c (sjlj_emit_function_enter): Likewise.
      	* emit-rtl.c (add_insn_after): Likeiwse.
      	(emit_label_before): Likewise.
      	(emit_label_after): Likewise.
      	(emit_note_before, emit_note_after, emit_note): Update
      	parameter to be enum insn_note; do not deal with source
      	files.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
      	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
      	when possible.
      	(merge_blocks_move_successor_nojumps): Simplify now when
      	we don't have BLOCK notes.
      	(try_optimize_cfg): Likewise.
      	* cfglayout.c (skip_insns_after_block): Likewise.
      	(record_effective_endpoints): Likewise.
      	(duplicate_insn_chain): Likewise.
      	* varasm.c (output_constant_pool_1): Likewise.
      	* sched-deps.c (sched_analyze): Likewise.
      	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
      	Exterminate.
      	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
      	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
      	(SET_INSN_DELETED): Simplify.
      	(NOTE_LINE_NUMBER): Exterminate.
      	(NOTE_LINE_KIND): New.
      	(NOTE_INSN_BASIC_BLOCK_P): Update.
      	(enum insn_note): Simplify.
      	(GET_NOTE_INSN_NAME) Simplify.
      	(emit_note_before, emit_note_after, emit_note): Update prototype.
      	(squeeze_notes): Remove.
      	* sched-int.h (NOTE_NOT_BB_P): Update.
      	* resource.c (mark_target_live_regs): Update.
      	* sched-rgn.c (debug_dependencies): Update.
      	* sched-vis.c (print_insn): Update.
      	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
      	* config/i386/i386.c (ix86_output_function_epilogue): Update.
      	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
      	(TARGET_ADJUST_UNROLL_MAX): Likewise.
      	(split_branches): Update.
      	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
      	4.0.0.
      	(sh_adjust_unroll_max): Exterminate.
      	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
      	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
      	(m68hc11_reorg): Likewise.
      	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
      	(emit_predicate_relation_info): Update.
      	(process_for_unwind_directive): Update.
      	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
      	(output_call): Update.
      	* config/pa/pa.c (output_lbranch): Update.
      	(output_millicode_call): Update.
      	(output_call): Update.
      	(pa_combine_instructions): Update.
      	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
      	* config/bfin/bfin.c (gen_one_bundle): Update.
      	* cfgrtl.c (can_delete_note_p): Update.
      	(delete_insn): Update.
      	(rtl_merge_blocks): Update.
      	(commit_one_edge_insertion): Update.
      	(rtl_verify_flow_info): Update.
      	* stmt.c (expand_case): Do not call squeeze_notes.
      
      From-SVN: r124895
      Jan Hubicka committed
  14. 28 Apr, 2007 1 commit
    • alpha.c (alpha_output_mi_thunk_osf): Use insn_locators_alloc instead of insn_locators_initialize... · 55e092c4
      	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use
      	insn_locators_alloc instead of insn_locators_initialize;
      	call reset_block_changes.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sparc_output_mi_thunk): Likewise.
      	* config/is64/ia64.c (ia64_output_mi_thunk): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/score/score.c (th_output_mi_thunk): Likewise.
      	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
      	* cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block):
      	tolerate uninitialized locator info.
      
      	Re-apply:
      	* function.c (init_function_start): Don't init line number info.
      	(expand_function_end): Update.
      	(reset_block_changes, record_block_change, finalize_block_changes,
      	check_block_change, free_block_changes): Kill.
      	* function.h (reset_block_changes, record_block_change,
      	finalize_block_changes, check_block_change, free_block_changes): Remove
      	prototypes.
      	(struct function): Remove ib_boundaries_block.
      	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
      	Use curr_insn_locator to initialize locator.
      	(emit_line_note): Remove.
      	* cfgexpand.c (expand_gimple_cond_expr): Update.
      	(construct_exit_block): Likewise.
      	(tree_expand_cfg): Initialize/finalize locators.
      	* expr.c (expand_expr_real): Update.
      	* cfglayout.c (line_locators_locs, line_locators_lines,
      	file_locators_locs, file_locators_files): Remove.
      	(set_block_levels): Move to cfgexpand.c.
      	(insn_locators_initialize): Remove.
      	(pass_insn_locators_initialize): Remove.
      	(locations_locators_locs, locations_locators_vals): New static vars.
      	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Likewise.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	New functions.
      	(locator_location): New.
      	(locator_line, locator_file): Rewrite.
      	* rtl.h (emit_line_note): Kill.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	Declare.
      	* tree-inline.c (initialize_cfun): Do not initialize
      	ib_boundaries_block.
      	* passes.c (pass_insn_locators_initialize): Remove.
      
      From-SVN: r124258
      Jan Hubicka committed
  15. 24 Apr, 2007 1 commit
    • Revert: · ec9ac2bc
      	2007-04-23  Jan Hubicka  <jh@suse.cz>
      	* function.c (init_function_start): Don't init line number info.
      	(expand_function_end): Update.
      	(reset_block_changes, record_block_change, finalize_block_changes,
      	check_block_change, free_block_changes): Kill.
      	* function.h (reset_block_changes, record_block_change,
      	finalize_block_changes, check_block_change, free_block_changes): Remove
      	prototypes.
      	(struct function): Remove ib_boundaries_block.
      	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
      	Use curr_insn_locator to initialize locator.
      	(emit_line_note): Remove.
      	* cfgexpand.c (expand_gimple_cond_expr): Update.
      	(construct_exit_block): Likewise.
      	(tree_expand_cfg): Initialize/finalize locators.
      	* expr.c (expand_expr_real): Update.
      	* cfglayout.c (line_locators_locs, line_locators_lines,
      	file_locators_locs, file_locators_files): Remove.
      	(set_block_levels): Move to cfgexpand.c.
      	(insn_locators_initialize): Remove.
      	(pass_insn_locators_initialize): Remove.
      	(locations_locators_locs, locations_locators_vals): New static vars.
      	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Likewise.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	New functions.
      	(locator_location): New.
      	(locator_line, locator_file): Rewrite.
      	* rtl.h (emit_line_note): Kill.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	Declare.
      	* tree-inline.c (initialize_cfun): Do not initialize
      	ib_boundaries_block.
      	* passes.c (pass_insn_locators_initialize): Remove.
      
      From-SVN: r124094
      Jan Hubicka committed
  16. 23 Apr, 2007 1 commit
    • function.c (init_function_start): Don't init line number info. · c90533c6
      	* function.c (init_function_start): Don't init line number info.
      	(expand_function_end): Update.
      	(reset_block_changes, record_block_change, finalize_block_changes,
      	check_block_change, free_block_changes): Kill.
      	* function.h (reset_block_changes, record_block_change,
      	finalize_block_changes, check_block_change, free_block_changes): Remove
      	prototypes.
      	(struct function): Remove ib_boundaries_block.
      	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
      	Use curr_insn_locator to initialize locator.
      	(emit_line_note): Remove.
      	* cfgexpand.c (expand_gimple_cond_expr): Update.
      	(construct_exit_block): Likewise.
      	(tree_expand_cfg): Initialize/finalize locators.
      	* expr.c (expand_expr_real): Update.
      	* cfglayout.c (line_locators_locs, line_locators_lines,
      	file_locators_locs, file_locators_files): Remove.
      	(set_block_levels): Move to cfgexpand.c.
      	(insn_locators_initialize): Remove.
      	(pass_insn_locators_initialize): Remove.
      	(locations_locators_locs, locations_locators_vals): New static vars.
      	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Likewise.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	New functions.
      	(locator_location): New.
      	(locator_line, locator_file): Rewrite.
      	* rtl.h (emit_line_note): Kill.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	Declare.
      	* tree-inline.c (initialize_cfun): Do not initialize
      	ib_boundaries_block.
      	* passes.c (pass_insn_locators_initialize): Remove.
      
      From-SVN: r124061
      Jan Hubicka committed
  17. 23 Mar, 2007 1 commit
    • tracer.c (tracer): Don't take FLAGS argument. · ad21dab7
      	* tracer.c (tracer): Don't take FLAGS argument.  Assert we are
      	in cfglayout mode.  Don't go into and out of cfglayout mode.
      	Link the blocks in the order of the constructed traces.
      	(rest_of_handle_tracer): Adjust call to tracer.
      	* loop-init.c (rtl_loop_init): Assert we are in cfglayout mode.
      	Don't go into cfglayout mode.
      	(rtl_loop_done): Don't go out of cfglayout mode.
      	* cfglayout.c (relink_block_chain): New function, split out from...
      	(fixup_reorder_chain): ...here.  Remove redundant checking.
      	(cfg_layout_finalize): Don't clear the header, footer, and aux
      	fields here, move the code to do so to relink_block_chain.  Likewise
      	for free_original_copy_tables.
      	* rtl.h (tracer): Update prototype.
      	* bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument.
      	Assert we are in cfglayout mode.  Don't go into and out of cfglayout
      	mode.  Use relink_block_chain to serialize the CFG according to the
      	new basic block order.  Move targetm.cannot_modify_jumps_p check from
      	here...
      	(gate_handle_reorder_blocks): ...to here.
      	(duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check
      	from here...
      	(gate_duplicate_computed_gotos): ...to here.
      	(rest_of_handle_reorder_blocks): Don't see if anything has changed,
      	something always changes when going into and out of cfglayout mode.
      	Perform an expensive cfg cleanup while going into cfglayout mode.
      	Always update liveness information on HAVE_conditional_execution
      	targets.  Reserialize the basic blocks and go out of cfglayout mode.
      	* reg-stack.c: Include cfglayout.h.
      	(rest_of_handle_stack_regs): Go into and out of cfglayout mode around
      	the call to reorder_basic_blocks.
      	* basic-block.h (reorder_basic_blocks): Update prototype.
      	(relink_block_chain): New prototype.
      	* passes.c (pass_outof_cfg_layout_mode): Move after cse2.
      
      From-SVN: r123167
      Steven Bosscher committed
  18. 21 Mar, 2007 1 commit
    • rtl.h (constant_pool_reference_p): Delete. · 2a450639
      gcc/
      	* rtl.h (constant_pool_reference_p): Delete.
      	(find_constant_src): Declare.
      	* rtlanal.c (find_constant_src): New function.
      	* simplify-rtx.c (constant_pool_reference_p): Delete.
      	* config/i386/i386.md: Use find_constant_src instead of
      	constant_pool_reference_p/avoid_constant_pool_reference pairs.
      
      From-SVN: r123106
      Richard Sandiford committed
  19. 09 Mar, 2007 2 commits
    • rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name. · 0de2ae02
      * rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name.
      * final.c (final_scan_insn): Test for non-"" file name.
      
      From-SVN: r122750
      Alexandre Oliva committed
    • rtl.def (ASM_INPUT): Add location. · bff4b63d
      * rtl.def (ASM_INPUT): Add location.
      * rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
      (ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
      (decode_asm_operands): Add loc operand.
      (gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define.
      * stmt.c (expand_asm): Rename to...
      (expand_asm_loc): ... this.  Add locus argument.  Pass it on to
      gen_rtx_ASM_INPUT_loc.
      (expand_asm_expr): Adjust.
      * recog.c (decode_asm_operands): Add loc operand.
      (check_asm_operands, extract_insn): Adjust.
      * reload1.c (maybe_fix_stack_asms): Likewise.
      * final.c (asm_insn_count): Likewise.
      (final_scan_insn): Output # line before and after asm.
      
      From-SVN: r122742
      Alexandre Oliva committed
  20. 01 Mar, 2007 1 commit
    • Makefile.in (rtlanal.o): Depend on tree.h. · 7ffb5e78
      gcc/
      	* Makefile.in (rtlanal.o): Depend on tree.h.
      	* rtl.h (offset_within_section_p, split_const): Declare.
      	* rtlanal.c: Include tree.h.
      	(offset_within_block_p): New function, taken from
      	mips_offset_within_object_p.
      	(split_const): New function, taken from mips_split_const.
      	* config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p):
      	Declare.
      	* config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
      	(CONSTANT_ADDRESS_P): Only accept legitimate constants.
      	(LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p.
      	* config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
      	(m68k_illegitimate_symbolic_constant_p): New function.
      	* config/m68k/m68k.md (movsi): Remove misleading predicates.
      	If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a
      	symbolic constant that might be outside the symbol's section,
      	move the symbol first and then add the offset.
      	* config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
      	Override.
      	* config/mips/mips.c (mips_split_const): Delete.
      	(mips_offset_within_object_p): Delete.
      	(mips_symbolic_constant_p): Use offset_within_section_p and
      	split_const instead of mips_offset_within_object_p and
      	mips_split_const.
      	(mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address)
      	(mips_legitimize_const_move, print_operand_reloc)
      	(mips_dangerous_for_la25_p): Use split_const instead of
      	mips_split_const.
      
      From-SVN: r122428
      Richard Sandiford committed
  21. 20 Feb, 2007 1 commit
  22. 15 Feb, 2007 1 commit
    • jump.c (get_label_after): Delete. · c47277a6
      2007-02-15  Paolo Bonzini  <bonzini@gnu.org>
      
      	* jump.c (get_label_after): Delete.
      	(get_label_before, delete_computation, delete_jump,
      	delete_prior_computation, follow_jumps): Move...
      	* reorg.c (delete_computation, delete_prior_computation): ... here...
      	(get_label_before, delete_jump): ... making these static ...
      	(follow_jumps): ... and simplifying this since it only runs after
      	reload.
      	* rtl.h (get_label_after, get_label_before, delete_jump,
      	follow_jumps): Delete prototypes.
      
      From-SVN: r122003
      Paolo Bonzini committed
  23. 02 Feb, 2007 2 commits
    • emit-rtl.c (renumber_insns): Remove. · a638bdc2
      	* emit-rtl.c (renumber_insns): Remove.
      	* flags.h: Remove the extern for flag_renumber_insns.
      	* rtl.h: Remove the prototype for renumber_insns.
      	* toplev.c (flag_renumber_insns): Remove.
      
      From-SVN: r121517
      Kazu Hirata committed
    • re PR middle-end/28071 (A file that can not be compiled in reasonable time/space) · b198261f
      	* sched-int.h (ds_to_dk, dk_to_ds): Declare functions.
      	
      	(struct _dep): New type.
      	(dep_t): New typedef.
      	(DEP_PRO, DEP_CON, DEP_KIND): New access macros.
      	(DEP_STATUS): New access macro.  The macro with the same name was
      	renamed to DEP_LINK_STATUS.
      	(dep_init): Declare function
      
      	(struct _dep_link): New type.
      	(dep_link_t): New typedef.
      	(DEP_LINK_NODE, DEP_LINK_NEXT, DEP_LINK_PREV_NEXTP): New access macros.
      	(DEP_LINK_DEP, DEP_LINK_PRO, DEP_LINK_CON, DEP_LINK_KIND): New macros.
      	(DEP_LINK_STATUS): New macro.
      	(debug_dep_links): New debug function.
      
      	(struct _deps_list): New type.
      	(deps_list_t): New typedef.
      	(DEPS_LIST_FIRST): New access macro.
      	(FOR_EACH_DEP_LINK): New cycle macro.
      	(create_deps_list, free_deps_list, delete_deps_list): Declare
      	functions.
      	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
      	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
      	(copy_deps_list_change_con): Ditto.
      
      	(move_dep_link): Declare function.
      
      	(struct _dep_node): New type.
      	(dep_node_t): New typedef.
      	(DEP_NODE_BACK, DEP_NODE_DEP, DEP_NODE_FORW): New access macros.
      
      	(struct haifa_insn_data.back_deps): New field to hold backward
      	dependencies of the insn.
      	(struct haifa_insn_data.depend): Rename to forw_deps.  Change its type
      	to deps_list_t.
      	(struct haifa_insn_data.resolved_deps): Rename to resolved_back_deps.
      	Change its type	to deps_list_t.
      	(INSN_BACK_DEPS): New access macro to use instead of LOG_LINKS.
      	(INSN_DEPEND): Rename to INSN_FORW_DEPS.
      	(RESOLVED_DEPS): Rename to INSN_RESOLVED_BACK_DEPS.
      
      	(INSN_COST): Move to haifa-sched.c.  Use insn_cost () instead.
      	
      	(DEP_STATUS): Rename to DEP_LINK_STATUS.  Fix typo in the comment.
      
      	(add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration and
      	all callers.
      	(dep_cost): Declare.
      	
      	* sched-deps.c (CHECK): New macro to (en/dis)able sanity checks.
      	(ds_to_dk, dk_to_ds): New functions.
      	
      	(init_dep_1): New static function.
      	(init_dep): New function.
      	(copy_dep): New static function.
      	
      	(dep_link_consistent_p, attach_dep_link, add_to_deps_list): New static
      	functions.
      	(detach_dep_link): New static function.
      	(move_dep_link): New function.
      	
      	(dep_links_consistent_p, dump_dep_links): New static functions.
      	(debug_dep_links): New debugging function.
      	
      	(deps_obstack, dl_obstack, dn_obstack): New static variables.
      	
      	(alloc_deps_list, init_deps_list): New static functions.
      	(create_deps_list): New function.
      	(clear_deps_list): New static function.
      	(free_deps_list, delete_deps_list, deps_list_empty_p): New functions.
      	(deps_list_consistent_p, dump_deps_list): New static functions.
      	(debug_deps_list): New function.
      	(add_back_dep_to_deps_list, find_link_by_pro_in_deps_list): New
      	functions.
      	(find_link_by_con_in_deps_list, copy_deps_list_change_con): Ditto.
      
      	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Update to
      	use new scheduler dependencies lists.
      	(add_back_dep, delete_all_dependences, fixup_sched_groups): Ditto.
      	(sched_analyze): Ditto.  Initialize dependencies lists.
      	(add_forw_dep, compute_forward_dependences): Update to use new
      	scheduler dependencies lists.
      	
      	(init_dependency_caches): Init deps_obstack.
      	(free_dependency_caches): Free deps_obstack.
      	
      	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Update to use
      	new scheduler dependencies lists.
      	(delete_forw_dep, add_or_update_back_forw_dep): Ditto.
      	(add_back_forw_dep, delete_back_forw_dep): Ditto.
      
      	* sched-rgn.c (set_spec_fed, find_conditional_protection, is_pfree):
      	Update to use new scheduler dependencies lists.
      	(is_conditionally_protected, is_prisky, add_branch_dependences): Ditto.
      	(debug_dependencies): Ditto.
      	(schedule_region): Update comments.
      	
      	* sched-ebb.c (earliest_block_with_similiar_load): Update to use new
      	scheduler dependencies lists.
      	(schedule_ebb): Update comments.
      	
      	* rtl.def (DEPS_LIST): Remove.
      	
      	* lists.c (unused_deps_list): Remove.
      	(free_list): Update assertions.
      	
      	(alloc_DEPS_LIST, free_DEPS_LIST_list, free_DEPS_LIST_node): Remove.
      	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
      
      	* rtl.h (free_DEPS_LIST_list, alloc_DEPS_LIST): Remove declarations.
      	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
      	
      	* haifa-sched.c (comments): Update.
      	(insn_cost1): Remove.  Inline the code into insn_cost ().
      	(insn_cost): Update to use new scheduler dependencies lists.  Move
      	processing of the dependency cost to dep_cost ().
      	(dep_cost): New function.  Use it instead of insn_cost () when
      	evaluating cost of the dependency.  Use compatible interface to
      	interact with the target.
      	(priority): Update to use new scheduler dependencies lists.
      	(rank_for_schedule): Ditto.  Optimize heuristic that prefers the insn
      	with greater number of insns that depend on the insn.
      	(schedule_insn): Update to use new scheduler dependencies lists.  Add
      	code to free backward dependencies lists.  Inline and optimize code
      	from resolve_dep () - see PR28071.
      	(ok_for_early_queue_removal): Update to use new scheduler dependencies
      	lists.  Update call to targetm.sched.is_costly_dependence hook.
      	
      	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
      	scheduler dependencies lists.
      	
      	(resolve_dep): Remove.  Move the logic to schedule_insn ().
      	(init_h_i_d): Initialize dependencies lists.
      	
      	(process_insn_depend_be_in_spec): Rename to
      	process_insn_forw_deps_be_in_spec.  Update to use new scheduler
      	dependencies lists.
      	(add_to_speculative_block, create_check_block_twin, fix_recovery_deps):
      	Update to use new scheduler dependencies lists.
      	(clear_priorities, calc_priorities, add_jump_dependencies): Ditto.
      	
      	* ddg.c (create_ddg_dependence, create_ddg_dep_no_link): Update to use
      	new scheduler dependencies lists.
      	(build_intra_loop_deps): Ditto.
      	
      	* target.h (struct _dep): Declare to use in
      	gcc_target.sched.is_costly_dependence.
      	(struct gcc_target.sched.adjust_cost): Fix typo.
      	(struct gcc_target.sched.is_costly_dependence): Change signature to use
      	single dep_t parameter instead of an equivalent triad.
      	(struct gcc_target.sched.adjust_cost_2): Remove.
      
      	* target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove.
      
      	* reg-notes.def (DEP_TRUE, DEP_OUTPUT, DEP_ANTI): Update comments.
      
      	* doc/tm.texi (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Update
      	documentation.
      	(TARGET_SCHED_ADJUST_COST_2): Remove documentation.
      
      	* doc/rtl.texi (LOG_LINKS): Remove part about instruction scheduler.
      	(REG_DEP_TRUE): Document.
      	
      	* config/ia64/ia64.c (ia64_adjust_cost_2): Rename to ia64_adjust_cost.
      	Change signature to correspond to the targetm.sched.adjust_cost hook.  
      	Update use in TARGET_SCHED_ADJUST_COST_2.
      	(TARGET_SCHED_ADJUST_COST_2): Rename to TARGET_SCHED_ADJUST_COST.
      	(ia64_dependencies_evaluation_hook, ia64_dfa_new_cycle): Update to use
      	new scheduler dependencies lists.
      	(ia64_gen_check): Ditto.
      
      	* config/mips/mips.c (vr4130_swap_insns_p): Update to use new scheduler
      	dependencies lists.
      	
      	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change
      	signature to correspond to the targetm.sched.is_costly_dependence hook.
      	(is_costly_group): Update to use new scheduler dependencies lists.
      
      	* config/spu/spu.c (spu_sched_adjust_cost): Use insn_cost () function
      	instead of INSN_COST () macro.
      
      From-SVN: r121494
      Maxim Kuvyrkov committed
  24. 01 Feb, 2007 1 commit
    • lower-subreg.c: New file. · e53a16e7
      gcc/:
      	* lower-subreg.c: New file.
      	* rtl.def (CONCATN): Define.
      	* passes.c (init_optimization_passes): Add pass_lower_subreg and
      	pass_lower_subreg2.
      	* emit-rtl.c (update_reg_offset): New static function, broken out
      	of gen_rtx_REG_offset.
      	(gen_rtx_REG_offset): Call update_reg_offset.
      	(gen_reg_rtx_offset): New function.
      	* regclass.c: Revert patch of 2006-03-05, restoring
      	reg_scan_update.
      	(clear_reg_info_regno): New function.
      	* dwarf2out.c (concatn_loc_descriptor): New static function.
      	(loc_descriptor): Handle CONCATN.
      	* common.opt (fsplit_wide_types): New option.
      	* opts.c (decode_options): Set flag_split_wide_types when
      	optimizing.
      	* timevar.def (TV_LOWER_SUBREG): Define.
      	* rtl.h (gen_reg_rtx_offset): Declare.
      	(reg_scan_update): Declare.
      	* regs.h (clear_reg_info_regno): Declare.
      	* tree-pass.h (pass_lower_subreg): Declare.
      	(pass_lower_subreg2): Declare.
      	* doc/invoke.texi (Option Summary): List -fno-split-wide-types.
      	(Optimize Options): Add -fsplit-wide-types to -O1 list.  Document
      	-fsplit-wide-types.
      	* doc/rtl.texi (Regs and Memory): Document concat and concatn.
      	* Makefile.in (OBJS-common): Add lower-subreg.o.
      	(lower-subreg.o): New target.
      gcc/testsuite/:
      	* gcc.dg/lower-subreg-1.c (test): New test.
      
      From-SVN: r121453
      Ian Lance Taylor committed
  25. 24 Dec, 2006 1 commit
  26. 23 Dec, 2006 1 commit
  27. 20 Dec, 2006 1 commit
    • rtlanal.c (struct subreg_info, [...]): New. · f1f4e530
      	* rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs):
      	New.
      	(subreg_regno_offset, subreg_offset_representable_p): Change to
      	wrappers about subreg_get_info.
      	(refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs.
      	* rtl.h (subreg_nregs): Declare.
      	* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to
      	subreg_get_info.
      	* caller-save.c (mark_set_regs, add_stored_regs): Use
      	subreg_nregs.
      	* df-scan.c (df_ref_record): Use subreg_nregs.
      	* flow.c (mark_set_1): Use subreg_nregs.
      	* postreload.c (move2add_note_store): Use subreg_nregs.
      	* reload.c (decompose, refers_to_regno_for_reload_p,
      	reg_overlap_mentioned_for_reload_p): Use subreg_nregs.
      	* resource.c (update_live_status, mark_referenced_resources,
      	mark_set_resources): Use subreg_nregs.
      
      From-SVN: r120076
      Joseph Myers committed
  28. 11 Nov, 2006 3 commits
    • extended.texi (__builtin_expect): We no longer require second argument to be constant. · ef950eba
      	* extended.texi (__builtin_expect): We no longer require second argument
      	to be constant.
      	* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
      	* builtins.c (expand_builtin_expect): Simplify.
      	(expand_builtin_expect_jump): Kill.
      	* final.c (final_scan_insn): Do not skip the removed notes.
      	* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
      	EXPECTED_VALUE): Remove.
      	* dojump.c (do_jump): Do not care about __builtin_expect.
      	* predict.c (expected_value_to_br_prob): Kill.
      	* function.c (expand_function_end): Do not expand
      	NOTE_INSN_REPEATED_LINE_NUMBER.
      	* print-rtl.c (print_rtx): Do not pretty print the removed notes.
      	* expect.c (sjlj_emit_function_enter): Emit directly branch probability.
      	* cfgexpand.c (add_reg_br_prob_note): Export.
      	* cfgcleanup.c (rest_of_handle_jump2): Do not call
      	expected_value_to_br_prob.
      	* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
      	* rtl.h (add_reg_br_prob_note): Declare.
      
      From-SVN: r118696
      Jan Hubicka committed
    • tree-pass.h (pass_purge_lineno_notes): Remove declaration. · 6039a0c7
      	* tree-pass.h (pass_purge_lineno_notes): Remove declaration.
      	* modulo-sched.c (find_line_note): Remove.
      	(loop_canon_p): Do not worry about line number notes.
      	(sms_schedule): Likewise.
      	* cse.c (cse_main): Likewise.
      	* regmove.c (fixup_match_1): Likewise
      	* function.c (emit_return_info_block): Likewise.
      	(expand_function_end): Likewise.
      	(thread_prologue_an_epilogue_insns): Likewise.
      	* cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
      	Likewise.
      	* emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
      	emit_note_copy_after): Kill.
      	(emit_note_copy): Do not worry about line numbers.
      	* jump.c (purge_line_number_notes): Kill.
      	(pass_purge_lineno_notes): Kill.
      	* cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
      	call.
      	* rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
      	* passes.c (init_optimization_passes): Don't purge_lineno_notes.
      	* sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
      	* tree-pass.h (pass_purge_lineno_notes): Kill.
      	* sched-ebb.c (schedule_ebb): Don't rm_line_notes,
      	rm_redundant_line_notes.
      	* sched-rgb.c (schedule_region): Don't rm_line_notes,
      	rm_redundant_line_notes.
      	* sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
      	* haifa-sched.c: Update comment about handling notes.
       	(unlink_line_notes): Kill.
      	(rm_line_notes): Kill.
      	(save_line_notes): Simplify.
      	(rm_redundant_line_notes): Kill.
      
      From-SVN: r118693
      Jan Hubicka committed
    • rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER. · adb43ed4
      	* rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
      
      From-SVN: r118684
      Peter Bergner committed
  29. 16 Sep, 2006 1 commit
  30. 15 Sep, 2006 1 commit
  31. 01 Aug, 2006 1 commit
  32. 30 May, 2006 1 commit
  33. 19 May, 2006 1 commit
    • re PR rtl-optimization/26855 (ICE in add_deps_for_def with -fmodulo-sched -maltivec) · 23249ac4
      2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
                  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/26855
      
      	* df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
      	multiword refs.
      	(df_scan_alloc): Added code to properly handle multiword hard
      	registers and add all_blocks parameter.
      	(df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
      	code to properly handle multiword hard registers.
      	(df_rescan_blocks): Added code to remove deleted blocks from
      	bitmap.
      	(df_ref_create_structure, df_ref_record): Added code to properly
      	handle subregs.
      	(df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
      	and set DF_REF_PARTIAL.
      	(df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
      	(df_uses_record): Added DF_REF_PARTIAL for subreg. 
      	(df_scan_add_problem): Added flags parameter.
      	(df_ref_create_structure): Changed switching structure.
      	(df_bb_refs_record): Fixed case where duplicate artificial refs
      	were created.  Changed location of flags.
      	(df_record_entry_block_defs): Added code to make stack pointer
      	live in entry block.  Refined cases where frame pointer is needed.
      	Changed location of flags.
      	(df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
      	(df_set_state): Removed function.
      	(df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
      	df_insn_create_insn_record, df_insn_refs_delete, 
      	df_ref_create_structure): Formatting changes.  
      	* df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
      	df_delete_basic_block): New function.
      	(df_init): Changed location of flags.
      	(df_add_problem): Added flags parameter and the way flags are
      	processed.
      	(df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
      	debug_df_chain): Improved debugging output.
      	(df_insn_debug, df_insn_uid_debug): Added multiword reg support.
      	(df_refs_chain_dump): Removed df parameter.
      	(df_iterative_dataflow): Added consistency check.
      	(df_prune_to_subcfg): Made public.
      	(df_analyze_problem): Added blocks_to_init parameter and made
      	public.
      	(df_ref_record, df_bb_refs_record, df_mark_reg, 
      	 df_record_exit_block_uses): Whitespace changes.
      	(df_dump): Whitespace changes.
      	* df.h: Some reordering to remove forward references.
      	(df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
      	DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
      	(df_ref_flags.DF_REF_CLOBBER): Deleted field.
      	(dataflow.flags): New field.
      	(df.flag): Deleted field.
      	(df_alloc_function): Added additional bitmap parameter.
      	(df_dependent_problem_function): New type.
      	(df_problem.changeable_flags): New field.
      	(df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
      	DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
      	(df_mw_hardreg): New struct.
      	(DF_INSN_UID_MWS): New macro.
      	(df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
      	parameter.
      	(df_add_problem, df_ru_add_problem, df_rd_add_problem,
      	df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
      	df_ri_add_problem, df_scan_add_problem): Added flags parameter.
      	(df_set_state): Removed function.
      	(df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
      	* df-problems.c (df_chain_dump): Removed df parameter.
      	(df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
      	df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
      	parameter.
      	(df_ru_alloc, df_rd_alloc): Now resets all blocks.
      	(df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
      	df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
      	Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
      	DF_REF_MUST_CLOBBER cases.
      	(df_ru_bb_local_compute_process_def,
      	df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_ur_bb_local_compute,
      	df_chain_create_bb): Made subreg aware.
      	(df_ru_bb_local_compute, df_rd_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_bb_local_compute,
      	df_chain_create_bb): Cleanup to use proper macros.
      	(df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
      	code to fixup bitvectors.
      	(df_ri_alloc): Cleared lifetime.
      	(df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
      	df_create_unused_note): New function.
      	(df_ri_bb_compute, df_ri_compute): Added code to create/update
      	REG_DEAD and REG_UNUSED notes as well as register information.
      	(df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
      	df_chains_dump): Fixed crash if problem was never run.
      	(df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
      	df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
      	df_ri_add_problem): Processes flags in uniform manner.
      	(df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
      	df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
      	df_rd_dump, df_urec_free_bb_info): Formatting changes.
      	(df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
      	df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
      	df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
      	df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
      	df_ur_dump, df_urec_free_bb_info, df_urec_dump,
      	df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
      	* modulo-sched.c (sms_schedule): Added flag parameter to calls.
      	* see.c (see_initialize_data): Ditto.
      	* final.c (rest_of_clean_state) Added regstack_completed.
      	* rtl.h (regstack_completed): Ditto.
      	* reg-stack.c (regstack_completed): Ditto.
      
      From-SVN: r113915
      Daniel Berlin committed
  34. 08 Apr, 2006 1 commit
    • builtins.c, [...]: Fix comment typos. · 917f1b7e
      	* builtins.c, config/arm/arm.c, config/i386/cygwin.h,
      	config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
      	config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
      	haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
      	sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
      	tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
      	tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
      	spelling convensions.
      	* config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
      	doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
      	typos.  Follow spelling conventions.
      
      From-SVN: r112782
      Kazu Hirata committed