1. 26 Feb, 2008 1 commit
    • system.h (USE_MAPPED_LOCATION): Poison. · 2d593c86
      gcc
      	* system.h (USE_MAPPED_LOCATION): Poison.
      	* Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
      	* tree-cfg.c (make_cond_expr_edges): Remove old location code.
      	(make_goto_expr_edges): Likewise.
      	(remove_bb): Likewise.
      	(execute_warn_function_return): Likewise.
      	* basic-block.h (struct edge_def) <goto_locus>: Change type to
      	location_t.
      	* c-common.c (fname_decl): Remove old location code.
      	* tree-vect-transform.c (vect_finish_stmt_generation): Remove old
      	location code.
      	* rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
      	variant.
      	(ASM_INPUT_SOURCE_LOCATION): Likewise.
      	(gen_rtx_ASM_INPUT): Likewise.
      	(gen_rtx_ASM_INPUT_loc): Likewise.
      	(get_rtx_asm_OPERANDS): Remove.
      	* cfglayout.c (insn_locators_alloc): Remove old location code.
      	(set_curr_insn_source_location): Likewise.
      	(curr_insn_locator): Likewise.
      	* print-tree.c (print_node): Remove old location code.
      	* tree-mudflap.c (mf_varname_tree): Remove old location code.
      	(mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
      	* cfgexpand.c (expand_gimple_cond_expr): Don't use
      	location_from_locus.
      	(construct_exit_block): Remove old location code.
      	* emit-rtl.c (force_next_line_note): Remove old location code.
      	* profile.c (branch_prob): Remove old location code.
      	* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
      	LOC_LINE): Remove old-location variants.
      	* langhooks.c (lhd_print_error_function): Remove old location
      	code.
      	* configure, config.in: Rebuilt.
      	* configure.ac (--enable-mapped-location): Remove.
      	* c-decl.c (c_init_decl_processing): Remove old location code.
      	(finish_function): Likewise.
      	* recog.c (decode_asm_operands): Remove old location code.
      	* c-pch.c (c_common_read_pch): Remove old location code.
      	* rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
      	variants.
      	* gimple-low.c (lower_function_body): Remove old location code.
      	* toplev.c (unknown_location): Remove.
      	(push_srcloc): Remove old-location variant.
      	(process_options): Remove old location code.
      	(lang_dependent_init): Likewise.
      	* input.h (UNKNOWN_LOCATION): Move definition.
      	(location_t): Undeprecate.
      	(source_locus): Remove.
      	(location_from_locus): Remove.
      	(struct location_s): Remove.
      	Remove all old-location code.
      	(input_line, input_filename): Remove.
      	* final.c (final_scan_insn): Remove old location code.
      	* diagnostic.c (diagnostic_build_prefix): Remove
      	USE_MAPPED_LOCATION test.
      	* tree.h (gimple_stmt) <locus>: Now a location_t.
      	(tree_exp) <locus>: Likewise.
      	(DECL_IS_BUILTIN): Remove old-location variant.
      	(annotate_with_file_line, annotate_with_locus): Likewise.
      	(expr_locus, set_expr_locus): Update.
      	* tree.c (build1_stat): Remove old location code.
      	(last_annotated_node): Remove.
      	(annotate_with_file_line): Remove old-location variant.
      	(annotate_with_locus): Likewise.
      	(expr_location): Remove old location code.
      	(set_expr_location): Likewise.
      	(expr_has_location): Likewise.
      	(expr_locus): Likewise.
      	(set_expr_locus): Likewise.
      	(expr_filename): Don't use location_from_locus.
      	(expr_lineno): Likewise.
      	* rtl-error.c (location_for_asm): Remove old location code.
      	* c-lex.c (cb_line_change): Remove old location code.
      	(fe_file_change): Likewise.
      	(cb_def_pragma): Likewise.
      	(c_lex_with_flags): Likewise.
      	* gengtype.c (do_typedef): Don't special-case location types.
      	(define_location_structures): Remove.
      	(main): Don't call define_location_structures.
      	* tree-pretty-print.c (dump_implicit_edges): Remove old location
      	code.
      gcc/ada
      	* misc.c (internal_error_function): Remove test of
      	USE_MAPPED_LOCATION.
      	* trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
      	(Sloc_to_locus): Remove old location code.
      gcc/cp
      	* parser.c (eof_token): Remove old location code.
      	(check_empty_body): Remove test of USE_MAPPED_LOCATION.
      	* decl2.c (generate_ctor_or_dtor_function): Remove old location
      	code.
      	(cp_write_global_declarations): Likewise.
      	* lex.c (cxx_init): Remove old location code.
      	(handle_pragma_implementation): Remove test of
      	USE_MAPPED_LOCATION.
      	* pt.c (tsubst): Remove old location code.
      	* error.c (cp_print_error_function): Remove test of
      	USE_MAPPED_LOCATION.
      	* decl.c (pop_label): Remove old location code.
      	(finish_function): Likewise.
      gcc/fortran
      	* trans-io.c (set_error_locus): Remove old location code.
      	* trans-decl.c (gfc_set_decl_location): Remove old location code.
      	* f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION.
      	* scanner.c (gfc_gobble_whitespace): Remove old location code.
      	(get_file): Likewise.
      	(preprocessor_line): Likewise.
      	(load_file): Likewise.
      	(gfc_new_file): Likewise.
      	* trans.c (gfc_trans_runtime_check): Remove old location code.
      	(gfc_get_backend_locus): Likewise.
      	(gfc_set_backend_locus): Likewise.
      	* data.c (gfc_assign_data_value): Remove old location code.
      	* error.c (show_locus): Remove old location code.
      	* gfortran.h (gfc_linebuf): Remove old location code.
      	(gfc_linebuf_linenum): Remove old-location variant.
      gcc/java
      	* lang.c (java_post_options): Remove conditional.
      	* expr.c (expand_byte_code): Remove old location code.
      	* jcf-parse.c (set_source_filename): Remove old location code.
      	(give_name_to_class): Likewise.
      	(jcf_parse): Likewise.
      	(duplicate_class_warning): Likewise.
      	(parse_class_file): Likewise.
      	(java_parse_file): Likewise.
      	* decl.c (finish_method): Remove old location code.
      	* class.c (push_class): Remove old location code.
      gcc/objc
      	* objc-act.c (objc_init): Remove old location code.
      gcc/treelang
      	* tree1.c (treelang_init): Remove old location code.
      	(treelang_parse_file): Likewise.
      	* lex.l (LINEMAP_POSITION_FOR_COLUMN): Remove.
      	(update_lineno_charno): Remove old location code.
      
      From-SVN: r132679
      Tom Tromey committed
  2. 19 Dec, 2007 1 commit
    • rtl.def (SUBREG): Update comments. · 38ae7651
      gcc/
      	* rtl.def (SUBREG): Update comments.
      	* rtl.h (reg_attrs): Be explicit about the type of offset used.
      	(set_reg_attrs_from_mem): Rename to...
      	(set_reg_attrs_from_value): ...this.
      	(adjust_reg_mode, byte_lowpart_offset): Declare.
      	* emit-rtl.c (byte_lowpart_offset): New function.
      	(update_reg_offset): Remove special offset handling for big-endian
      	targets.
      	(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
      	offset parameter is added to REG_OFFSET.
      	(adjust_reg_mode): New function.
      	(set_reg_attrs_for_mem): Rename to...
      	(set_reg_attrs_for_value): ...this and generalize to all values.
      	If the register is a lowpart of the value, adjust the offset
      	accordingly.
      	(set_reg_attrs_for_parm): Update after the above renaming.
      	(set_reg_attrs_for_decl_rtl): New function, split out from
      	set_decl_incoming_rtl.  Set the offset of plain REGs to the
      	offset of the REG's mode from the decl's.  Assert that all
      	subregs are lowparts and handle their inner registers in the
      	same way as plain REGs.
      	(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
      	(subreg_lowpart_offset): Explicitly say that the returned offset
      	is a SUBREG_BYTE.
      	* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
      	instead of PUT_MODE.
      	* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
      	* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
      	* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
      	* reload.c (find_reloads_subreg_address): Call set_mem_offset
      	when offseting a MEM.
      	* var-tracking.c (offset_valid_for_tracked_p): Delete.
      	(mode_for_reg_attrs): Replace with...
      	(track_loc_p): ...this new function.  Return the mode and offset
      	to the caller, checking that the latter is valid.  If the rtx is
      	a paradoxical lowpart of the decl, use the decl's mode instead.
      	Do the same when storing to a register that contains the entire decl.
      	(var_lowpart): Use byte_lowpart_offset rather than
      	subreg_lowpart_offset when adjusting the offset attribute.
      	(count_uses, add_uses, add_stores): Use track_reg_p instead of
      	REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
      	offset_valid_for_tracked_p and mode_for_reg_attrs.  Generate
      	lowparts for MEMs as well as REGs.
      	(vt_add_function_parameters): When obtaining the information from
      	the decl_rtl, adjust the offset to match incoming.  Use track_loc_p
      	and var_lowpart.
      
      From-SVN: r131055
      Richard Sandiford committed
  3. 07 Nov, 2007 1 commit
    • re PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in set_variable_part,) · 8c6c36a3
      	PR rtl-optimization/33822
      	* rtl.h (REG_OFFSET): Fix comment.
      	* var-tracking.c (INT_MEM_OFFSET): New macro.
      	(var_mem_set): Use it.
      	(var_mem_delete_and_set): Likewise.
      	(var_mem_delete): Likewise.
      	(same_variable_part_p): Likewise.
      	(vt_get_decl_and_offset): Likewise.
      	(offset_valid_for_tracked_p): New predicate.
      	(count_uses): Do not track locations with invalid offsets.
      	(add_uses): Likewise.
      	(add_stores): Likewise.
      
      From-SVN: r129970
      Eric Botcazou committed
  4. 22 Oct, 2007 1 commit
    • re PR rtl-optimization/33644 (ICE in local_cprop_pass with -ftrapv for crafty) · 9ed7b221
      	PR rtl-optimization/33644
      	* cfgcleanup.c: Do not include dce.h.
      	* cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
      	* combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
      	* dce.c (something_changed): Delete.
      	(libcall_dead_p): New predicate.
      	(delete_unmarked_insns): Use it to delete dead libcalls.
      	Deal with REG_LIBCALL and REG_RETVAL notes.
      	(prescan_libcall_for_dce): New function.
      	(prescan_insns_for_dce): Use it to deal with libcalls.
      	(mark_reg_dependencies): Do nothing special for libcalls.
      	(dce_process_block): Likewise.
      	(fast_dce): Delete unused local variable.
      	(run_fast_dce): Do not return a value.
      	* dce.h (struct df): Delete.
      	(run_fast_dce): Adjust prototype.
      	* optabs.c (libcall_id): Delete.
      	(maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
      	(emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
      	* reload1.c (reload): Delete REG_LIBCALL_ID case.
      	* rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
      	* see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
      	notes instead of REG_LIBCALL_ID notes.
      	* reg-notes.def (LIBCALL_ID): Delete.
      	* Makefile.in (see.o): Add dce.h dependency.
      	(cfgcleanup.o): Remove dce.h dependency.
      
      From-SVN: r129556
      Eric Botcazou committed
  5. 17 Oct, 2007 1 commit
  6. 16 Oct, 2007 1 commit
    • target.h (unspec_may_trap_p): New target hook. · 215b063c
      2007-10-16  Paolo Bonzini  <bonzini@gnu.org>
      	    Maxim Kuvyrkov  <maxim@codesourcery.com>
      
      	* target.h (unspec_may_trap_p): New target hook.
      	* target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro.
      	* targhooks.c (default_unspec_may_trap_p): Default implementation of
      	the hook.
      	* targhooks.h (default_unspec_may_trap_p): Declare it.
      	* doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook.
      	* rtlanal.c (may_trap_p_1): Use new hook.  Make global.
      	* rtl.h (may_trap_p_1): Declare.
      	
      	* config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to
      	override default hook implementation.
      	(TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the
      	hook.
      	
      	* gcc.target/ia64/20040709-2.c: New test.
      
      Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
      
      From-SVN: r129378
      Paolo Bonzini committed
  7. 02 Oct, 2007 1 commit
    • ra-conflict.c: New file. · ba49cb7b
      2007-09-02  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* ra-conflict.c: New file.
      	* ra.h: New file.
      	* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
      	usage to DF_LIVE usage.
      	* rtlanal.c (subreg_nregs_with_regno): New function.  
      	* df-scan.c (df_def_record_1, df_uses_record): Add code to set
      	DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.
      	(df_has_eh_preds): Removed.
      	(df_bb_refs_collect, df_bb_refs_collect, df_bb_refs_collect,
      	df_exit_block_uses_collect): Changed call from df_has_eh_preds to
      	bb_has_eh_pred.
      	* global.c (allocno, max_allocno, conflicts, allocno_row_words,
      	reg_allocno, EXECUTE_IF_SET_IN_ALLOCNO_SET): Moved to ra.h
      	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Moved to ra-conflicts.c.
      	(regs_set, record_one_conflict, record_conflicts, mark_reg_store,
      	mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Deleted.
      	(global_alloc): Turn off rescanning insns after call to
      	global_conflicts and added call to set_preferences.
      	(global_conflicts): Moved to ra-alloc.c.
      	(set_preferences_1, set_preferences): New function.
      	(mirror_conflicts): Changed types for various variables.
      	(mark_elimination): Change DF_RA_LIVE
      	usage to DF_LIVE usage.
      	(build_insn_chain): Rewritten from scratch and made local.
      	(print_insn_chain, print_insn_chains): New functions.
      	(dump_conflicts): Do not print conflicts for fixed_regs.
      	(rest_of_handle_global_alloc): Turn off insn rescanning.
      	* hard-reg-set.h: Fixed comment.
      	* local-alloc.c (update_equiv_regs): Change DF_RA_LIVE
      	usage to DF_LIVE usage and delete refs to TOP sets.
      	(block_alloc): Mark regs as live if they are in the artificial
      	defs at top of block.
      	(find_stack_regs): New function.
      	(rest_of_handle_local_alloc): Changed urec problem to live
      	problem and do not turn off df rescanning.
      	* df.h (DF_UREC, DF_UREC_BB_INFO, DF_LIVE_TOP, DF_RA_LIVE_IN,
      	DF_RA_LIVE_TOP, DF_RA_LIVE_OUT, df_urec_bb_info, df_urec,
      	df_urec_add_problem, df_urec_get_bb_info, df_has_eh_preds): Removed.
      	(DF_CHAIN, DF_NOTE, DF_CHAIN): Renumbered.
      	(DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, DF_REF_SUBREG): New
      	fields in df_ref_flags.  The rest have been renumbered.  
      	* init-regs.c (initialize_uninitialized_regs): Enhanced debugging
      	at -O1.
      	* rtl.h (subreg_nregs_with_regno): New function.
      	* df-problems.c: (df_get_live_out, df_get_live_in,
      	df_get_live_top): Removed reference to DF_RA_LIVE.
      	(df_lr_reset, df_lr_transfer_function, df_live_free_bb_info,
      	df_live_alloc, df_live_reset, df_live_local_finalize,
      	df_live_free): Make top set only if different from in set.
      	(df_lr_top_dump, df_live_top_dump): Only print top set if
      	different from in set.
      	(df_lr_bb_local_compute): Removed unnecessary check.
      	(df_urec_problem_data, df_urec_set_bb_info, df_urec_free_bb_info, 
      	df_urec_alloc, df_urec_mark_reg_change, earlyclobber_regclass, 
      	df_urec_check_earlyclobber, df_urec_mark_reg_use_for_earlyclobber,
      	df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
      	df_urec_local_compute, df_urec_init, df_urec_local_finalize, 
      	df_urec_confluence_n, df_urec_transfer_function, df_urec_free, 
      	df_urec_top_dump, df_urec_bottom_dump, problem_UREC,
      	df_urec_add_problem): Removed.
      	(df_simulate_fixup_sets): Changed call from df_has_eh_preds to
      	bb_has_eh_pred. 
      	* Makefile.in (ra-conflict.o, ra.h): New dependencies.
      	* basic_block.h (bb_has_abnormal_pred): New function.
      	* reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE
      	usage to DF_LIVE usage.
      
      From-SVN: r128957
      Kenneth Zadeck committed
  8. 19 Sep, 2007 1 commit
  9. 10 Sep, 2007 1 commit
    • bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to RTL level tracer pass. · 232abc3f
      2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
      
      	* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
      	RTL level tracer pass.
      	* passes.c (init_optimization_passes): Move pass_tracer from
      	after pass_rtl_ifcvt to after pass_dce.
      	* tracer.c: Update copyright.
      	(layout_superblocks): Remove function.
      	(mark_bb_seen): New.
      	(bb_seen_p): New.
      	(count_insns): Change to estimate instructions in a Tree-SSA
      	statement.
      	(find_trace): Use bb_seen_p.
      	(tail_duplicate): Use bb_seen_p.  Call add_phi_args_after_copy
      	after duplicate_block.
      	(tracer): Change prototype to match that of a pass execute
      	callback.
      	(gate_tracer): Rename from gate_handle_tracer.
      	(rest_of_handle_tracer): Remove function.
      	* rtl.h: Remove prototype for tracer.
      	* testsuite/gcc.dg/tree-prof/tracer-1.c: New.
      
      From-SVN: r128341
      Robert Kidd committed
  10. 09 Sep, 2007 1 commit
    • Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET. · cf7c4aa6
      	* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
      	Similar for what label_refs can go in the JUMP_TARGET field.  Split
      	REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
      	* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
      	REG_LABEL when replacing an operand with a LABEL_REF for a
      	non-jump insn.
      	(subst_reloads): When replacing a LABEL_REG with a register,
      	instead of generating a REG_LABEL note, assert that there already
      	is one or that the label is a known target for the insn.
      	* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
      	note, check the JUMP_LABEL field.  Remove "else" after return.
      	* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
      	cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
      	(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
      	REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
      	insns.  Iterate over all notes; don't assume there's only one.
      	* cse.c (recorded_label_ref): Adjust comment to refer to
      	REG_LABEL_OPERAND.
      	(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
      	insns, not just NONJUMP_INSN_P.
      	(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
      	isn't a jump target.
      	* jump.c (rebuild_jump_labels): Adjust head comment.
      	(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
      	don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
      	(mark_all_labels): For JUMP_P insns without a target, check if the
      	the target is noted on the previous nonjump insn.
      	(mark_jump_label_1): New function, guts from mark_jump_label.
      	<case IF_THEN_ELSE>: Handle first operand as a non-target when
      	marking jump target labels.
      	<case LABEL_REF>: Adjust for whether to generate a
      	REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
      	For 'E' format rtl, iterate in descending element order.
      	(delete_related_insns): Handle both REG_LABEL_TARGET and
      	REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
      	reference count, delete and fallthrough.  Move finding-next-
      	non-deleted insn last in the function.  Look at all INSN_P insns
      	for REG_LABEL_OPERAND notes.
      	(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
      	JUMP.
      	* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
      	JUMP_LABEL, output the INSN_UID of it.
      	* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
      	and/or REG_LABEL_TARGET.
      	(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
      	with jump.c copy by only adding notes for labels actually
      	referenced in the insn.
      	* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
      	usage count increment; handle all INSN_P trial insns.
      	(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
      	notes.
      	* rtl.h (struct rtx_def) <volatil>: Adjust to mention
      	REG_LABEL_TARGET and REG_LABEL_OPERAND.
      	(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
      	REG_LABEL_OPERAND.
      	* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
      	JUMP_P insns and REG_LABEL_OPERAND everywhere.
      	* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
      	on all INSN_P insns.
      	* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
      	* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
      	REG_LABEL_OPERAND notes.
      	* reload1.c (calculate_needs_all_insns): Adjust comments.
      	(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
      	* config/alpha/alpha.md (split for load of an address into a
      	four-insn sequence on Unicos/Mk): Adjust to use
      	REG_LABEL_OPERAND.
      	* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.
      
      From-SVN: r128287
      Hans-Peter Nilsson committed
  11. 01 Sep, 2007 1 commit
    • c-common.c (const_strip_array_types): Delete. · 75547801
      	* c-common.c (const_strip_array_types): Delete.
      	* c-common.h (const_strip_array_types): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Delete.
      	* gimple-low.c (block_may_fallthru): Use expr_last.
      	* jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label): Delete.
      	* rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
      	* system.h (CONST_CAST): Update comment.
      	* tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
      	(const_first_stmt, const_last_stmt): Delete.
      	(tree_block_ends_with_condjump_p): Use last_stmt.
      	* tree-flow.h (const_first_stmt, const_last_stmt): Delete.
      	* tree-iterator.c (const_expr_first, const_expr_last,
      	const_expr_only): Delete.
      	* tree.c (const_lookup_attribute): Likewise.
      	(attribute_list_contained): Use lookup_attribute.
      	* tree.h (const_lookup_attribute, const_expr_first,
      	const_expr_last, const_expr_only): Delete.
      	
      cp:
      	* tree.c (pod_type_p, zero_init_p): Use strip_array_types.
      	* typeck.c (cp_type_quals, cp_type_readonly, cp_has_mutable_p):
      	Likewise.
      
      From-SVN: r128014
      Kaveh R. Ghazi committed
  12. 31 Aug, 2007 1 commit
    • re PR middle-end/33211 (FAIL: gcc.target/spu/fixed-range.c scan-assembler lqd.*21) · fef511b5
      2007-08-30  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR middle-end/33211
      
      	gcc/
      	* regclass.c (initial_fixed_regs): Revert previous change and make
      	it const again.
      	(initial_call_used_regs): Likewise.
      	(initial_call_really_used_regs): Delete, reverting previous addition.
      	(initial_reg_names): Likewise.
      	(init_reg_sets): Revert previous change.
      	(saved_fixed_regs): New.
      	(saved_call_used_regs): New.
      	(saved_call_really_used_regs): New.
      	(saved_reg_names): New.
      	(save_register_info): New.
      	(restore_register_info): New.
      	(init_reg_sets_1): Replace reset of register info with call to
      	restore_register_info.
      	* rtl.h (save_register_info): Declare.
      	* toplev.c (backend_init): Call save_register_info.
      
      From-SVN: r127951
      Sandra Loosemore committed
  13. 27 Aug, 2007 3 commits
    • Separate target-specific initialization from general back-end initialization. · b5deb7b6
      2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
      	    David Ung  <davidu@mips.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	Separate target-specific initialization from general
      	back-end initialization.
      
      	* toplev.c (init_alignments): New, split out from...
      	(process_options): ...here.
      	(backend_init_target):  New, split out from...
      	(backend_init): ...here.
      	(lang_dependent_init_target):  New, split out from...
      	(lang_dependent_init): ...here.
      	(target_reinit): New.
      	* toplev.h (target_reinit): Declare.
      	* expr.c (init_expr_target): Renamed from init_expr_once, since it
      	now can be called more than once.  Update comments.
      	* expr.h (init_expr_target): Likewise.
      	* alias.c (init_alias_target): Renamed from init_alias_once, since it
      	now can be called more than once.  Explicitly zero
      	static_reg_base_value.
      	* emit-rtl.c (init_emit_regs): New, split out from...
      	(init_emit_once): Here.
      	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
      	non-const, so that changes from command-line arguments can overwrite
      	values provided by the static initializers.
      	(initial_call_really_used_regs): New, used similarly to the above.
      	(initial_reg_names): Likewise.
      	(last_mode_for_init_move_cost): Promoted function-local static to
      	file-scope static to make it accessible outside init_move_cost.
      	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
      	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
      	reg_names since it is needed for parsing command-line options.
      	(init_move_cost): Use last_mode_for_init_move_cost instead of
      	function-local static.
      	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
      	call_really_used_regs now.  Reinitialize reg_names.  Also
      	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
      	reg_class_superunion.  Clear losing_caller_save_reg_set.
      	Preserve global registers if called more than once.  Reset
      	move cost, may_move_in_cost, may_move_out_cost, and
      	last_mode_for_init_move_cost.
      	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
      	can now be invoked more than once.  Update comments.
      	(init_regs): Update comments.
      	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
      	and initial_call_really_used_regs, instead of the non-initial 
              variables.  This allows us to save the command-line register settings
      	after target reinitialization.
      	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
      	* rtl.h (init_emit_regs): Declare.
      	(init_reg_modes_target, init_alias_target): Renamed as described
      	above.
      	* reload1.c (init_reload): Update comments.
      	* optabs.c (init_optabs): Likewise.
      	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
      	
      
      
      Co-Authored-By: David Ung <davidu@mips.com>
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127832
      Sandra Loosemore committed
    • rtl.h (XCNMPFV): Preserve const-ness of parameters through use of __typeof(). · 14b4a70a
      	* rtl.h (XCNMPFV): Preserve const-ness of parameters through use of
      	__typeof().
      
      From-SVN: r127825
      Chao-ying Fu committed
    • alias.c (memory_modified_1, [...]): Constify. · 9678086d
      	* alias.c (memory_modified_1, memory_modified_in_insn_p):
      	Constify.
      	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
      	Likewise.
      	* bb-reorder.c (copy_bb_p): Likewise.
      	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
      	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
      	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
      	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
      	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
      	debug_true_const_tree instad of debug_true_tree.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* debug.h (ignore_block, debug_true_const_tree): Constify.
      	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
      	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
      	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
      	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
      	dbx_reg_number, is_based_loc, field_type,
      	simple_type_align_in_bits, simple_decl_align_in_bits,
      	simple_type_size_in_bits, field_byte_offset, insert_float,
      	type_tag, member_declared_type, is_redundant_typedef,
      	secname_for_decl, is_inlined_entry_point): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Likewise.
      	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
      	Likewise.
      	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
      	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
      	sched_insn_is_legitimate_for_speculation_p): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, reversed_comparison, condjump_label):
      	Likewise.
      	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
      	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
      	Likewise.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label, modified_between_p, modified_in_p,
      	const_note_storeskeep_with_call_p, condjump_label,
      	reversed_comparison, reversed_comparison_code,
      	reversed_comparison_code_parts, memory_modified_in_insn_p,
      	stack_regs_mentioned): Likewise.
      	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
      	keep_with_call_p): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_get_condition,
      	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sched-int.h (sched_insns_conditions_mutex_p,
      	haifa_classify_insn, no_real_insns_p,
      	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
      	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
      	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
      	Likewise.
      	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
      	tree_can_throw_internal): Likewise.
      	* tree-flow-inline.h (phi_nodes): Likewise.
      	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
      	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
      	* tree-gimple.c (const_get_call_expr_in): Likewise.
      	* tree-gimple.h (const_get_call_expr_in): Likewise.
      	* tree.c (const_lookup_attribute, attribute_list_equal,
      	attribute_list_contained): Likewise.
      	* tree.h (attribute_list_equal, attribute_list_contained,
      	const_lookup_attribute): Likewise.
      	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
      
      From-SVN: r127824
      Kaveh R. Ghazi committed
  14. 25 Aug, 2007 1 commit
    • c-common.c (vector_types_convertible_p, [...]): Constify. · 58f9752a
      	* c-common.c (vector_types_convertible_p,
      	decl_with_nonnull_addr_p, c_promoting_integer_type_p,
      	self_promoting_args_p): Constify.
      	* c-common.h (has_c_linkage, decl_with_nonnull_addr_p,
      	c_promoting_integer_type_p, self_promoting_args_p,
      	anon_aggr_type_p, vector_types_convertible_p): Likewise.
      	* c-decl.c (anon_aggr_type_p): Likewise.
      	* * c-dump.c (dump_stmt): Likewise.
      	* c-objc-common.c (has_c_linkage): Likewise.
      	* c-tree.h (same_translation_unit_p): Likewise.
      	* c-typeck.c (null_pointer_constant_p,
      	tagged_types_tu_compatible_p, function_types_compatible_p,
      	type_lists_compatible_p, lvalue_or_else, lvalue_p,
      	comptypes_internal, struct tagged_tu_seen_cache,
      	same_translation_unit_p, alloc_tagged_tu_seen_cache,
      	c_size_in_bytes): Likewise.
      	* ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor,
      	hash_ptr, eq_ptr): Likewise.
      	* langhooks-def.h (lhd_decl_ok_for_sibcall,
      	LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise.
      	* langhooks.c (lhd_decl_ok_for_sibcall): Likewise.
      	* langhooks.h (ok_for_sibcall, omp_privatize_by_reference):
      	Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	* optabs.h (optab_for_tree_code): Likewise.
      	* rtl.h (simplify_rtx): Likewise.
      	* simplify-rtx.c (simplify_rtx): Likewise.
      	* tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type,
      	dump_flag, dump_node): Likewise.
      	* tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index,
      	queue_and_dump_type, dump_flag): Likewise.
      	* tree-flow.h (vect_can_force_dr_alignment_p): Likewise.
      	* tree-pass.h (dump_node): Likewise.
      	* tree-vectorizer.c (vect_can_force_dr_alignment_p,
      	supportable_narrowing_operation): Likewise.
      	* tree-vectorizer.h (vect_can_force_dr_alignment_p,
      	supportable_narrowing_operation): Likewise.
      	* tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity,
      	is_negative_overflow_infinity, is_positive_overflow_infinity,
      	is_overflow_infinity, vrp_val_is_max, vrp_val_is_min,
      	nonnull_arg_p, get_value_range, vrp_operand_equal_p,
      	update_value_range, add_equivalence, ssa_name_nonnegative_p,
      	ssa_name_nonzero_p, fp_predicate): Likewise.
      	* tree.c (auto_var_in_fn_p, empty_body_p): Likewise.
      	* tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p,
      	ssa_name_nonnegative_p): Likewise.
      
      cp:
      	* call.c (sufficient_parms_p): Constify.
      	* class.c (same_signature_p): Likewise.
      	* cp-gimplify.c (is_invisiref_parm,
      	cxx_omp_privatize_by_reference): Likewise.
      	* cp-objcp-common.c (has_c_linkage): Likewise.
      	* cp-tree.h (NON_THUNK_FUNCTION_CHECK, THUNK_FUNCTION_CHECK,
      	sufficient_parms_p, same_signature_p, copy_fn_p, move_fn_p,
      	grok_ctor_properties, nothrow_libfn_p, skip_artificial_parms_for,
      	num_artificial_parms_for, comp_template_parms,
      	template_parameter_pack_p, any_dependent_template_arguments_p,
      	any_type_dependent_arguments_p, any_value_dependent_elements_p,
      	repo_export_class_p, cxx_omp_privatize_by_reference, pod_type_p,
      	zero_init_p, member_p, cp_lvalue_kind,
      	builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p,
      	varargs_function_p, is_dummy_object, special_function_kind,
      	string_conv_p, type_unknown_p, comp_except_specs, compparms,
      	comp_cv_qualification, is_bitfield_expr_with_lowered_type,
      	unlowered_expr_type, ptr_reasonably_similar, cp_type_readonly,
      	cp_has_mutable_p, at_least_as_qualified_p,
      	invalid_nonstatic_memfn_p, lvalue_or_else, lvalue_p): Likewise.
      	* decl.c (copy_fn_p, move_fn_p, grok_ctor_properties): Likewise.
      	* except.c (nothrow_libfn_p): Likewise.
      	* method.c (skip_artificial_parms_for, num_artificial_parms_for):
      	Likewise.
      	* pt.c (comp_template_parms, template_parameter_pack_p,
      	any_type_dependent_arguments_p, any_value_dependent_elements_p,
      	any_dependent_template_arguments_p): Likewise.
      	* repo.c (repo_export_class_p): Likewise.
      	* semantics.c (anon_aggr_type_p): Likewise.
      	* tree.c (lvalue_p_1, real_lvalue_p, lvalue_p,
      	builtin_valid_in_constant_expr_p, decl_anon_ns_mem_p,
      	varargs_function_p, member_p, is_dummy_object, pod_type_p,
      	zero_init_p, special_function_p): Likewise.
      	* typeck.c (comp_array_types, type_unknown_p, comp_except_specs,
      	comp_array_types, at_least_as_qualified_p, comp_cv_qualification,
      	compparms, invalid_nonstatic_memfn_p,
      	is_bitfield_expr_with_lowered_type, unlowered_expr_type,
      	string_conv_p, ptr_reasonably_similar, cp_type_readonly,
      	cp_has_mutable_p, lvalue_or_else): Likewise.
      
      fortran:
      	* trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
      	* trans.h (gfc_omp_privatize_by_reference): Likewise.
      
      java:
      	* lang.c (java_decl_ok_for_sibcall): Likewise.
      
      From-SVN: r127799
      Kaveh R. Ghazi committed
  15. 24 Aug, 2007 1 commit
    • alpha.c (alpha_mangle_type, [...]): Constify. · 3101faab
      	* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
      	alpha_in_small_data_p, alpha_split_complex_arg,
      	alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Constify.
      	* config/arm/arm-protos.h (arm_mangle_type): Likewise.
      	* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
      	Likewise.
      	* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/darwin-protos.h (darwin_binds_local_p): Likewise.
      	* config/darwin.c (darwin_binds_local_p): Likewise.
      	* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
      	Likewise.
      	* config/i386/i386-protos.h (i386_pe_binds_local_p,
      	i386_pe_valid_dllimport_attribute_p): Likewise.
      	* config/i386/i386.c (ix86_function_regparm,
      	ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
      	x86_can_output_mi_thunk, ix86_mangle_type,
      	TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
      	* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
      	i386_pe_binds_local_p): Likewise.
      	* config/ia64/ia64.c
      	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
      	ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
      	ia64_invalid_conversion, ia64_invalid_unary_op,
      	ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
      	* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
      	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
      	* config/mips/mips.c (mips_use_blocks_for_constant_p,
      	mips_in_small_data_p, mips_use_anchors_for_symbol_p,
      	mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
      	mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
      	* config/pa/pa.c (pa_commutative_p): Likewise.
      	* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
      	Likewise.
      	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
      	rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
      	rs6000_use_blocks_for_constant_p,
      	rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
      	invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
      	* config/s390/s390.c (s390_mangle_type,
      	TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
      	Likewise.
      	* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	th_in_small_data_p): Likewise.
      	* config/sh/sh.c (sh_ms_bitfield_layout_p,
      	sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
      	Likewise.
      	* config/sparc/sparc.c (sparc_can_output_mi_thunk,
      	sparc_mangle_type): Likewise.
      	* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
      	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
      	* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
      	Likewise.
      	* hooks.c (hook_bool_mode_const_rtx_false,
      	hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
      	hook_bool_tree_hwi_hwi_tree_false,
      	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
      	hook_int_tree_tree_1, hook_constcharptr_tree_null,
      	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
      	hook_constcharptr_int_tree_null,
      	hook_constcharptr_int_tree_tree_null): Delete.
      	(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
      	hook_bool_const_tree_hwi_hwi_const_tree_false,
      	hook_bool_const_tree_hwi_hwi_const_tree_true,
      	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
      	hook_constcharptr_const_tree_null,
      	hook_constcharptr_const_rtx_null,
      	hook_constcharptr_const_tree_const_tree_null,
      	hook_constcharptr_int_const_tree_null,
      	hook_constcharptr_int_const_tree_const_tree_null): New.
      	(default_can_output_mi_thunk_no_vcall): Constify.
      	* integrate.c (function_attribute_inlinable_p): Likewise.
      	* integrate.h (function_attribute_inlinable_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* output.h (decl_readonly_section, categorize_decl_for_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Likewise.
      	* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
      	Likewise.
      	* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
      	TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
      	TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
      	TARGET_COMP_TYPE_ATTRIBUTES,
      	TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
      	TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
      	TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
      	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
      	TARGET_DWARF_CALLING_CONVENTION): Likewise.
      	* target.h (can_output_mi_thunk, needs_block_p,
      	first_cycle_multipass_dfa_lookahead_guard_spec,
      	vector_alignment_reachable, comp_type_attributes,
      	function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
      	commutative_p, use_blocks_for_constant_p,
      	use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
      	vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
      	invalid_within_doloop, valid_dllimport_attribute_p,
      	split_complex_arg, invalid_arg_for_unprototyped_fn,
      	invalid_conversion, invalid_unary_op, invalid_binary_op):
      	Likewise.
      	* targhooks.c (default_invalid_within_doloop,
      	hook_invalid_arg_for_unprototyped_fn,
      	default_builtin_vector_alignment_reachable): Likewise.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* targhooks.h (default_invalid_within_doloop,
      	default_builtin_vector_alignment_reachable,
      	hook_invalid_arg_for_unprototyped_fn): Constify.
      	(hook_bool_rtx_commutative_p): Delete.
      	(hook_bool_const_rtx_commutative_p): New.
      	* varasm.c (bss_initializer_p, decl_default_tls_model,
      	categorize_decl_for_section, decl_readonly_section,
      	default_use_anchors_for_symbol_p, default_binds_local_p,
      	default_binds_local_p_1): Constify.
      
      From-SVN: r127785
      Kaveh R. Ghazi committed
  16. 23 Aug, 2007 1 commit
    • rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes in DEF_RTL_EXPR. · 091a3ac7
      	* rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes
      	in DEF_RTL_EXPR.
      	(copy_rtx): Handle CONST_FIXED.
      	(rtx_equal_p): Likewise.
      	* rtl.h (fixed_value.h): New include.
      	(rtx_def): Add a new field of fixed_value to u.
      	(XCNMPFV): Define for accessing fixed_value.
      	(CONST_FIXED_VALUE, CONST_FIXED_VALUE_HIGH, CONST_FIXED_VALUE_LOW):
      	Define.
      	* rtl.def (CONST_FIXED): New constant.
      	(SS_MULT, US_MULT, SS_DIV, US_DIV, FRACT_CONVERT,
      	UNSIGNED_FRACT_CONVERT, SAT_FRACT, UNSIGNED_SAT_FRACT, US_NEG,
      	US_ASHIFT): New codes.
      	* doc/rtl.texi (Expressions): Document const_fixed, us_neg, ss_mult,
      	us_mult, ss_div, us_div, us_ashift, fract_convert, sat_fract,
      	unsigned_fract_convert, unsigned_sat_fract): Document them.
      	* varasm.c (assemble_integer): Extend to support fixed-point constants
      	by using different machine classes.
      	(decode_addr_const): Handle FIXED_CST.
      	(const_hash_1): Likewise.
      	(compare_constant): Likewise.
      	(copy_constant): Likewise.
      	(const_rtx_hash_1): Handle CONST_FIXED.
      	(output_constant_pool_2): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
      	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
      	MODE_VECTOR_UACCUM.
      	(initializer_constant_valid_p): Handle FIXED_CST.
      	(output_constant): Support FIXED_POINT_TYPE.
      	* gengenrtl.c (excluded_rtx): Check CONST_FIXED to exclude.
      	* cse.c (hash_rtx): Support CONST_FIXED.
      	(exp_equiv_p): Likewise.
      	(cannon_reg): Likewise.
      	(fold_rtx): Likewise.
      	(equiv_constant): Likewise.
      	(cse_process_notes_1): Likewise.
      	(count_reg_usage): Likewise.
      	* cselib.c (entry_and_rtx_equal_p): Check CONST_FIXED.
      	(rtx_equal_for_cselib_p): Handle CONST_FIXED.
      	(wrap_constant): Check CONST_FIXED.
      	(cselib_hash_rtx): Support CONST_FIXED.
      	(cselib_subst_to_values): Likewise.
      	* df-scan.c (df_uses_record): Likewise.
      	* gcse.c (want_to_gcse_p): Likewise.
      	(oprs_unchanged_p): Likewise.
      	(oprs_not_set_p): Likewise.
      	(compute_transp): Likewise.
      	(extract_mentioned_regs_helper): Likewise.
      	* genemit.c (gen_exp): Likewise.
      	* local-alloc.c (equiv_init_varies_p): Likewise.
      	(contains_replace_regs): Likewise.
      	(memref_referenced_p): Likewise.
      	* loop-invariant.c (check_maybe_invariant): Likewise.
      	(hash_invariant_expr_1): Likewise.
      	(invariant_expr_equal_p): Likewise.
      	* postreload-gcse.c (oprs_unchanged_p): Likewise.
      	* regclass.c (reg_scan_mark_refs): Likewise.
      	* regrename.c (scan_rtx): Likewise.
      	* resource.c (mark_referenced_resources): Likewise.
      	(mark_set_resources): Likewise.
      	* rtlanal.c (rtx_unstable_p): Likewise.
      	(rtx_varies_p): Likewise.
      	(count_occurrences): Likewise.
      	(reg_mentioned_p): Likewise.
      	(modified_between_p): Likewise.
      	(modified_in_p): Likewise.
      	(volatile_insn_p): Likewise.
      	(volatile_refs_p): Likewise.
      	(side_effects_p): Likewise.
      	(may_trap_p_1): Likewise.
      	(inequality_comparisons_p): Likewise.
      	(computed_jump_p_1): Likewise.
      	(commutative_operand_precedence): Likewise.
      	* sched-deps.c (sched_analyze_2): Likewise.
      	* sched-vis.c (print_value): Likewise.
      	* reload.c (operands_match_p): Likewise.
      	(subst_reg_equivs): Likewise.
      	* reload1.c (eliminate_regs_1): Likewise.
      	(elimination_effects): Likewise.
      	(scan_paradoxical_subregs): Likewise.
      	* alias.c (rtx_equal_for_memref_p): Likewise.
      	* Makefile.in (RTL_BASE_H): Add fixed-value.h.
      	* emit-rtl.c (const_fixed_htab): New hash table.
      	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed):
      	Declare.
      	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed,
      	const_fixed_from_fixed_value): New functions.
      	(verify_rtx_sharing): Handle CONST_FIXED.
      	(copy_rtx_if_shared_1): Likewise.
      	(reset_used_flags): Likewise.
      	(set_used_flags): Likewise.
      	(copy_insn_1): Likewise.
      	(init_emit_once): Create const_fixed_htab.
      	Store fixed-point scalar and vector zero and one to const_tiny_rtx.
      
      From-SVN: r127725
      Chao-ying Fu committed
  17. 14 Aug, 2007 2 commits
    • alias.c (component_uses_parent_alias_set): Constify. · 22ea9ec0
      	* alias.c (component_uses_parent_alias_set): Constify.
      	* alias.h (component_uses_parent_alias_set): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Likewise.
      	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
      	mpz_get_double_int): Likewise.
      	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
      	mpz_get_double_int): Likewise.
      	* expr.c (is_aligning_offset, undefined_operand_subword_p,
      	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
      	Likewise.
      	* expr.h (safe_from_p): Likewise.
      	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
      	Likewise.
      	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
      	zero_sized_type, goa_lhs_expr_p): Likewise.
      	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
      	* rtl.h (print_rtl_with_bb): Likewise.
      	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
      	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
      	* tree-flow-inline.h (bb_stmt_list): Constify.
      	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
      	cbsi_stmt): New.
      	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
      	const_first_stmt, const_last_stmt): New.
      	(block_may_fallthru, empty_block_p): Constify.
      	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
      	EXPR_ONLY_BODY): New.
      	(expr_first, expr_last, expr_only): Use macro for body.
      	(const_expr_first, const_expr_last, const_expr_only): New.
      	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
      	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
      	ctsi_prev, ctsi_stmt): New.
      	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
      	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
      	* tree-ssa-loop-niter.c (loop_only_exit_p,
      	derive_constant_upper_bound): Likewise.
      	* tree-ssa-phiopt.c (empty_block_p): Likewise.
      	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
      	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
      	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
      	* tree.c (get_type_static_bounds): Likewise.
      	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
      	(get_type_static_bounds): Constify.
      
      From-SVN: r127483
      Kaveh R. Ghazi committed
    • alias.c (rtx_equal_for_memref_p): Constify. · ed7a4b4b
      	* alias.c (rtx_equal_for_memref_p): Constify.
      	* basic-block.h (const_edge, const_basic_block): New.
      	(reg_set_to_hard_reg_set, dfs_enumerate_from, single_succ_p,
      	single_pred_p, single_succ_edge, single_pred_edge, single_succ,
      	single_pred, maybe_hot_bb_p, probably_cold_bb_p,
      	probably_never_executed_bb_p, edge_probability_reliable_p,
      	br_prob_note_reliable_p, forwarder_block_p, flow_nodes_print,
      	inside_basic_block_p, control_flow_insn_p, dominated_by_p):
      	Likewise.
      	* bb-reorder.c (better_edge_p, push_to_next_round_p): Likewise.
      	* bt-load.c (basic_block_freq, insn_sets_btr_p, can_move_up):
      	Likewise.
      	* cfganal.c (flow_active_insn_p, forwarder_block_p,
      	flow_nodes_print, dfs_enumerate_from): Likewise.
      	* cfgbuild.c (count_basic_blocks, inside_basic_block_p,
      	control_flow_insn_p, count_basic_blocks): Likewise.
      	* cfgloop.c (flow_bb_inside_loop_p, glb_enum_p,
      	get_loop_body_with_size, loop_exit_edge_p): Likewise.
      	* cfgloop.h (flow_bb_inside_loop_p, num_loop_insns,
      	average_num_loop_insns, loop_exit_edge_p,
      	just_once_each_iteration_p, can_duplicate_loop_p): Likewise.
      	* cfgloopanal.c (just_once_each_iteration_p, num_loop_insns,
      	average_num_loop_insns, seq_cost): Likewise.
      	* cfgloopmanip.c (rpe_enum_p, can_duplicate_loop_p): Likewise.
      	* dominance.c (dominated_by_p): Likewise.
      	* emit-rtl.c (validate_subreg): Likewise.
      	* except.c (can_throw_internal, can_throw_external): Likewise.
      	* except.h (can_throw_internal, can_throw_external): Likewise.
      	* gcse.c (gcse_constant_p, oprs_unchanged_p, oprs_anticipatable_p,
      	oprs_available_p, hash_expr, expr_equiv_p, oprs_not_set_p,
      	compute_transp, load_killed_in_block_p, reg_killed_on_edge,
      	simple_mem, store_ops_ok, load_kills_store, find_loads,
      	store_killed_in_insn, store_killed_after, store_killed_before,
      	gcse_mem_operand, implicit_set_cond_p, store_killed_in_pat):
      	Likewise.
      	* ifcvt.c (count_bb_insns, cheap_bb_rtx_cost_p, noce_operand_ok,
      	noce_mem_write_may_trap_or_fault_p): Likewise.
      	* pointer-set.c (pointer_set_contains, pointer_map_contains):
      	Likewise.
      	* pointer-set.h (pointer_set_contains, pointer_map_contains):
      	Likewise.
      	* predict.c (can_predict_insn_p, maybe_hot_bb_p,
      	probably_cold_bb_p, probably_never_executed_bb_p,
      	edge_probability_reliable_p, br_prob_note_reliable_p,
      	can_predict_insn_p): Likewise.
      	* regclass.c (reg_set_to_hard_reg_set): Likewise.
      	* resource.c (return_insn_p): Likewise.
      	* rtl.h (reg_set_between_p, reg_set_p, validate_subreg):
      	Likewise.
      	* rtlanal.c (reg_set_between_p, reg_set_p): Likewise.
      	* tracer.c (count_insns, ignore_bb_p, better_p): Likewise.
      	* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
      	verify_gimple_modify_stmt): Likewise.
      	* tree-chrec.c (is_not_constant_evolution,
      	is_multivariate_chrec_rec, is_multivariate_chrec,
      	chrec_contains_symbols, chrec_contains_undetermined,
      	tree_contains_chrecs, evolution_function_is_affine_multivariate_p,
      	evolution_function_is_univariate_p, avoid_arithmetics_in_type_p,
      	eq_evolutions_p, scev_direction): Likewise.
      	* tree-chrec.h (automatically_generated_chrec_p, tree_is_chrec,
      	eq_evolutions_p, is_multivariate_chrec, chrec_contains_symbols,
      	chrec_contains_symbols_defined_in_loop,
      	chrec_contains_undetermined, tree_contains_chrecs,
      	evolution_function_is_affine_multivariate_p,
      	evolution_function_is_univariate_p, chrec_zerop,
      	evolution_function_is_constant_p, evolution_function_is_affine_p,
      	evolution_function_is_affine_or_constant_p,
      	tree_does_not_contain_chrecs, chrec_type): Likewise.
      	* tree-data-ref.c (tree_fold_divides_p,
      	object_address_invariant_in_loop_p, dr_may_alias_p,
      	ziv_subscript_p, siv_subscript_p, gcd_of_steps_may_divide_p,
      	same_access_functions, constant_access_functions,
      	access_functions_are_affine_or_constant_p, find_vertex_for_stmt):
      	Likewise.
      	* tree-flow.h (scev_direction): Likewise.
      	* tree-gimple.c (is_gimple_stmt): Likewise.
      	* tree-outof-ssa.c (identical_copies_p, identical_stmt_lists_p):
      	Likewise.
      	* tree-pretty-print.c (op_prio): Likewise.
      	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
      	analyzable_condition, backedge_phi_arg_p): Likewise.
      	* tree-scalar-evolution.h (get_chrec_loop): Likewise.
      	* tree-ssa-operands.c (get_name_decl, operand_build_cmp): Likewise.
      	* tree-ssa-threadupdate.c (dbds_continue_enumeration_p):
      	Likewise.
      
      From-SVN: r127404
      Kaveh R. Ghazi committed
  18. 11 Aug, 2007 1 commit
    • alias.h (alias_set_type): Define new type. · 4862826d
      ./:	* alias.h (alias_set_type): Define new type.
      	(ALIAS_SET_MEMORY_BARRIER): Use it.
      	* rtl.h: Include alias.h.
      	(struct mem_attrs): Use alias_set_type.
      	* tree.h: Include alias.h
      	(struct tree_type): Use alias_set_type.
      	(struct tree_struct_field_tag): Likewise.
      	(struct tree_decl_common): Likewise.
      	* alias.c (struct alias_set_entry): Use alias_set_type.
      	(get_alias_set_entry, alias_set_subset_of): Likewise.
      	(alias_sets_conflict_p): Likewise.
      	(alias_sets_must_conflict_p): Likewise.
      	(objects_must_conflict_p): Likewise.
      	(get_alias_set, new_alias_set): Likewise.
      	(record_alias_subset, record_component_aliases): Likewise.
      	(varargs_set, frame_set): Change to alias_set_type.
      	(get_varargs_alias_set): Use alias_set_type.
      	(get_frame_alias_set): Likewise.
      	* builtins.c (setjmp_alias_set): Change to alias_set_type.
      	* dse.c (struct store_info): Use alias_set_type.
      	(struct read_info, struct clear_alias_mode_holder): Likewise.
      	(clear_alias_set_lookup, canon_address): Likewise.
      	(record_store, check_mem_read_rtx): Likewise.
      	(dse_record_singleton_alias_set): Likewise.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.c (get_mem_attrs): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	* expr.c (store_constructor_field, store_field): Likewise.
      	* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
      	* langhooks.c (lhd_get_alias_set): Likewise.
      	* langhooks-def.h (lhd_get_alias_set): Likewise.
      	* reload1.c (alter_reg): Likewise.
      	* tree-flow.h (struct fieldoff): Likewise.
      	* tree-ssa-alias.c (struct alias_map_d): Likewise.
      	(may_alias_p, get_smt_for, create_sft): Likewise.
      	* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
      	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
      	(merge_smts_into): Likewise.
      	* varasm.c (const_alias_set): Likewise.
      	* c-common.c (strict_aliasing_warning): Likewise.
      	(c_common_get_alias_set): Likewise.
      	* dse.h (dse_record_singleton_alias_set): Update declaration.
      	(dse_invalidate_singleton_alias_set): Likewise.
      	* emit-rtl.h (set_mem_alias_set): Likewise.
      	* c-common.h (c_common_get_alias_set): Likewise.
      	* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
      	* print-tree.c (print_node): Likewise.
      	* config/alpha/alpha.c (alpha_sr_alias_set): Change to
      	alias_set_type.
      	(alpha_setup_incoming_varargs): Use alias_set_type.
      	* config/i386/i386.c (setup_incoming_varargs_64): Use
      	alias_set_type.
      	(setup_incoming_varargs_ms_64): Likewise.
      	(ix86_GOT_alias_set): Likewise.
      	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(set): Change to alias_set_type.
      	(get_TOC_alias_set): Use alias_set_type.
      	* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
      	declaration.
      	* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
      	* config/sparc/sparc.c (sparc_sr_alias_set): Change to
      	alias_set_type.
      	(struct_value_alias_set): Likewise.
      	* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
      ada/:
      	* misc.c (gnat_get_alias_set): Change return type to
      	alias_set_type.
      cp/:
      	* cp-objcp-common.c (cxx_get_alias_set): Change return type to
      	alias_set_type.
      	* cp/cp-tree.h (cxx_get_alias_set): Update declaration.
      fortran:/
      	* f95-lang.c (gfc_get_alias_set): Change return type to
      	alias_set_type.
      
      From-SVN: r127362
      Ian Lance Taylor committed
  19. 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
  20. 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
  21. 26 Jul, 2007 1 commit
  22. 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
  23. 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
  24. 13 Jul, 2007 1 commit
  25. 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
  26. 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
  27. 07 Jul, 2007 1 commit
  28. 11 Jun, 2007 1 commit
  29. 07 Jun, 2007 1 commit
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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