Commit Graph

81 Commits

Author SHA1 Message Date
Maxim Kuvyrkov
496d7bb032 target.h (struct spec_info_def): New opaque declaration.
2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

        * target.h (struct spec_info_def): New opaque declaration.
        (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
        speculate_insn, needs_block_p, gen_check,
        first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
        * target-def.h (TARGET_SCHED_ADJUST_COST_2,
        TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
        TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
        TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
        TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
        gcc_target.sched.
        (TARGET_SCHED): Use new macros.
        * rtl.h (copy_DEPS_LIST_list): New prototype.
        * sched-int.h (struct sched_info): Change signature of new_ready field,
	adjust all initializations. New fields: add_remove_insn,
        begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
	region_head_or_leaf_p.
        (struct spec_info_def): New structure declaration.
        (spec_info_t): New typedef.
        (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
        recovery_block, orig_pat.
        (glat_start, glat_end): New variables declaraions.
        (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
	New access macros.
        (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
        DETACH_LIFE_INFO, USE_GLAT.
        (enum SPEC_SCHED_FLAGS): New enumeration.
        (NOTE_NOTE_BB_P): New macro.
        (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
        attach_life_info, debug_spec_status, check_reg_live): New functions.
        (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
        all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
        sched-ebb.c
	(get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
        * ddg.c (get_block_head_tail): Adjust all uses.
        * modulo-sched.c (get_block_head_tail): Adjust all uses.
	(sms_sched_info): Initialize new fields.
	(contributes_to_priority): Removed.
        * haifa-sched.c (params.h): New include.
	(get_block_head_tail): Adjust all uses.
        (ISSUE_POINTS): New macro.
        (glat_start, glat_end): New global variables.
        (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
	nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
	old_last_basic_block, before_recovery, current_sched_info_var,
	rgn_n_insns, luid): New static variables.
        (insn_cost1): New function.  Move logic from insn_cost to here.
        (find_insn_reg_weight1): New function.  Move logic from
        find_insn_reg_weight to here.
        (reemit_notes, move_insn, max_issue): Change signature.
        (move_insn1): Removed.
        (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
        extend_bb): New static functions to support extension of scheduler's
        data structures.
        (generate_recovery_code, process_insn_depend_be_in_spec,
        begin_speculative_block, add_to_speculative_block,
        init_before_recovery, create_recovery_block, create_check_block_twin,
        fix_recovery_deps): New static functions to support
        generation of recovery code.
        (fix_jump_move, find_fallthru_edge, dump_new_block_header,
        restore_bb_notes, move_block_after_check, move_succs): New static
        functions to support ebb scheduling.
        (init_glat, init_glat1, attach_life_info1, free_glat): New static
        functions to support handling of register live information.
        (associate_line_notes_with_blocks, change_pattern, speculate_insn,
	sched_remove_insn, clear_priorities, calc_priorities, bb_note,
	add_jump_dependencies):	New static functions.
        (check_cfg, has_edge_p, check_sched_flags): New static functions for
	consistancy checking.
	(debug_spec_status): New function to call from debugger.
	(priority): Added code to handle speculation checks.
	(rank_for_schedule): Added code to distinguish speculative instructions.
	(schedule_insn): Added code to handle speculation checks.
	(unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
	Fixed to handle ebbs.
        (move_insn): Added code to handle ebb scheduling.
	(max_issue): Added code to use ISSUE_POINTS of instructions.
        (choose_ready): Added code to choose between speculative and
        non-speculative instructions.
        (schedule_block): Added code to handle ebb scheduling and scheduling of
        speculative instructions.
        (sched_init): Initialize new variables.
        (sched_finish): Free new variables.  Print statistics.
        (try_ready): Added code to handle speculative instructions.
        * lists.c (copy_DEPS_LIST_list): New function.
        * sched-deps.c (extend_dependency_caches): New function.  Move logic
        from create_dependency_caches to here.
	(get_dep_weak, ds_merge): Make global.
        * genattr.c (main): Code to output prototype for
        dfa_clear_single_insn_cache.
        * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
        (output_dfa_clean_insn_cache_func): Code to output
        dfa_clear_single_insn_cache function.
        * sched-ebb.c (target_n_insns): Remove.  Adjust all users to use
	n_insns.
        (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
        Removed.
        (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
        New static variables.
        (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
	fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
	struct sched_info.
        (ebb_sched_info): Initialize new fields.
	(get_block_head_tail): Adjust all uses.
	(compute_jump_reg_dependencies): Fixed to use glat_start.
	(schedule_ebb): Code to remove unreachable last block.
        (schedule_ebbs): Added code to update register live information.
        * sched-rgn.c (region_sched_info): Initialize new fields.
	(get_block_head_tail): Adjust all uses.
	(last_was_jump): Removed.  Adjust users.
        (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
	add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
	Implement new hooks.
        (check_dead_notes1): New static function.
        (struct region): New fields: dont_calc_deps, has_real_ebb.
        (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
        (BB_TO_BLOCK): Fixed to handle EBBs.
        (EBB_FIRST_BB, EBB_LAST_BB): New macros.
        (ebb_head): New static variable.
        (debug_regions, contributes_to_priority): Fixed to handle EBBs.
        (find_single_block_regions, find_rgns, find_more_rgns): Initialize
	new fields.
	(compute_dom_prob_ps): New assertion.
        (check_live_1, update_live_1): Fixed to work with glat_start instead of
        global_live_at_start.
	(init_ready_list): New assertions.
	(can_schedule_ready_p): Split update code to begin_schedule_ready.
	(new_ready): Add support for BEGIN_CONTROL speculation.
        (schedule_insns): Fixed code that updates register live information
        to handle EBBs.
        (schedule_region): Fixed to handle EBBs.
	(init_regions): Use extend_regions and check_dead_notes1.
        * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
        PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
	* doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
	TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
	TARGET_SCHED_GEN_CHECK,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
	TARGET_SCHED_SET_SCHED_FLAGS): Document.
        * doc/invoke.texi (max-sched-insn-conflict-delay,
	sched-spec-prob-cutoff): Document.

From-SVN: r112128
2006-03-16 05:27:03 +00:00
Zack Weinberg
8c94f366af r110127@banpei: zack | 2006-01-22 14:49:27 -0800
r110127@banpei:  zack | 2006-01-22 14:49:27 -0800
 	* genattrtab.c: Don't include genattrtab.h.  Define ATTR_NONE
 	and ATTR_SPECIAL (from genattrtab.h).  Don't define num_dfa_decls
 	nor any of the random handful of variables that used to be necessary
 	when this program was linked with rtlanal.o.  Prune set of forward
 	function declarations.
 	(struct attr_desc): Remove static_p field.
 	(hash_obstack, temp_obstack, attr_hash_table, attr_printf)
 	(check_attr_test, make_internal_attr, make_numeric_value): Make static.
 	(attr_string): Do not read the character one past the length of
 	the string.
 	(write_attr_get, find_attr, make_internal_attr): Don't touch static_p.
 	(struct insn_reserv, all_insn_reservs, last_insn_reserv_p)
 	(n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses)
 	(n_bypasses, gen_bypass_1, gen_bypass, process_bypasses)
 	(make_automaton_attrs): New.
 	(main): Do not call into genautomata.  Call local gen_bypass
 	and gen_insn_reserv as appropriate.  Call make_automaton_attrs.
 	Remove special case for insn_alts.
 	* genautomata.c: Include gensupport.h; not genattrtab.h nor
 	varray.h (leftover from previous change).  Prune set of forward
 	function declarations.  Remove state_alts fields from all
 	structures.  Remove state_alts_table from struct automaton.
 	Make everything except main static.  Do not maintain num_dfa_decls.
 	Do not maintain state_alts fields of various structures.
 	(process_decls): Don't validate condexp for dm_insn_reserv decls.
 	(add_arc): Remove state_alts argument.  All callers updated.
 	(output_reserved_units_table): Emit #ifdef here...
 	(output_tables): ...not here.  Don't generate state_alts tables.
 	(expand_automata): Don't generate attributes.
 	(write_automata): Don't generate state_alts functions.
 	(main): New function.
 	(it_is_empty_reserv_sets, output_state_alts_full_vect_name)
 	(output_state_alts_comb_vect_name, output_state_alts_check_vect_name)
 	(AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME)
 	(STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME)
 	(BYPASS_P_FUNC_NAME, output_state_alts_table)
 	(output_automata_list_state_alts_code, output_internal_state_alts_func)
 	(output_state_alts_func, make_insn_alts_attr, make_bypass_attr)
 	(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr):
 	Delete.
 	* genattr.c: Declare internal_dfa_insn_code in insn-attr.h.
 	* genattrtab.h: Delete file.
 	* Makefile.in (OBJS-common): Add insn-automata.o.
 	(insn-automata.o): New rule.
 	(simple_generated_c): Add insn-automata.c.
 	(build/genattrtab.o, build/genautomata.o): Update dependencies.
 	(genprogmd): Add automata.
 	(build/genattrtab): Needs no extra objects nor libraries.
 	(build/genautomata): Needs build/vec.o and -lm.

From-SVN: r110123
2006-01-23 15:15:52 +00:00
Zack Weinberg
5f2f0edd8e r110126@banpei: zack | 2006-01-22 14:47:42 -0800
r110126@banpei:  zack | 2006-01-22 14:47:42 -0800
 	* genautomata.c (process_state_longest_path, max_dfa_issue_rate)
 	(output_dfa_max_issue_rate, locked_states_num): Delete.
 	(struct automaton): Add locked_states field.
 	(output_dead_lock_vect): Save number of locked states in
 	automaton->locked_states.  If it is zero, don't print anything.
 	(output_max_insn_queue_index_def): Define max_insn_queue_index const.
 	(output_internal_dead_lock_func): Only test the dead_lock_vect
 	for automata that have locked states.
 	(output_statistics): Always print the number of locked states for
 	each automaton.  Calculate total number of locked states here.
 	(write_automata): Don't call output_dfa_max_issue_rate.
 	* genattrtab.c: Define length_unit_log as a const variable.
 	* genattr.c: Don't emit MAX_DFA_ISSUE_RATE.  Declare
 	max_insn_queue_index const.
 	* final.c (length_unit_log): Declare const.
 	* doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE.

From-SVN: r110122
2006-01-23 15:15:42 +00:00
Zack Weinberg
0458fe77b8 r110124@banpei: zack | 2006-01-22 14:45:55 -0800
r110124@banpei:  zack | 2006-01-22 14:45:55 -0800
 	* gensupport.c: Define get_insn_name and record_insn_name here.
 	(read_md_rtx): Call record_insn_name as appropriate.
 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
 	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
 	* genpreds.c, genrecog.c: Don't define get_insn_name nor
 	record_insn_name.
 	* Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL.
 	(BUILD_VARRAY): Delete.
 	(genprognormal): Rename genprogmd.  Fold in all programs from
 	genprognoprint; also attrtab.
 	(build/genattrtab): Just mention genautomata.o and varray.o.
 	Reorganize a bit, add comments to make the categories clearer.

From-SVN: r110120
2006-01-23 15:15:12 +00:00
J"orn Rennecke
070a7956aa re PR rtl-optimization/23898 (basic block reordering excessively increases code size; get_uncond_jump_length pessimistic)
PR rtl-optimization/23898
	* output.h (get_attr_min_length): Declare.
	* final.c (get_attr_length_1): New function, broken out of:
	(get_attr_length).
	(get_attr_min_length): New function.
	* bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
	(duplicate_computed_gotos): Likewise.
	* genattr.c (insn_min_length): Generate declaration.
	* genattrtab.c (min_fn, min_attr_value): New functions.
	(make_length_attrs): Generate insn_min_length.

From-SVN: r104468
2005-09-20 22:48:36 +01:00
Kelley Cook
366ccddb2b Update FSF address.
From-SVN: r101317
2005-06-25 02:02:01 +00:00
Zack Weinberg
f9942f4e14 gensupport.c (init_md_reader_args_cb): Renamed from init_md_reader_args.
* gensupport.c (init_md_reader_args_cb): Renamed from
	init_md_reader_args.  Add third option, callback function for
	parsing program-specific options.  Add diagnosis of incorrect
	number of input files.
	(init_md_reader): Fold into init_md_reader_args_cb.
	(init_md_reader_args): Now a thin wrapper around
	init_md_reader_args_cb.
	* gensupport.h: Update prototypes.

	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
	* genrecog.c: No need to diagnose lack of an input file;
	init_md_reader_args will handle it.
	* genconditions.c: Likewise, and use init_md_reader_args.
	* genconstants.c: Likewise, and no need to call read_md_rtx.

From-SVN: r85511
2004-08-03 23:30:45 +00:00
Paolo Bonzini
fa0aee8996 genattr.c (struct range, [...]): Remove them.
2004-07-19  Paolo Bonzini  <bonzini@gnu.org>

	* genattr.c (struct range, struct function_unit,
	write_units, extend_range, init_range): Remove them.
	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
	Output "#define INSN_SCHEDULING" here.
	* genattrtab.c (struct range, struct function_unit_op,
	struct function_unit, struct dimension, enum operator,
	operate_exp, expand_units, simplify_knowing,
	encode_units_mask, simplify_by_exploding,
	find_and_mark_used_attributes, unmark_used_attributes,
	add_values_to_cover, increment_current_value,
	test_for_current_value, simplify_with_current_value,
	simplify_with_current_value_aux, gen_unit,
	write_unit_name, write_function_unit_info,
	write_complex_function, write_toplevel_expr,
	find_single_value, extend_range): Remove.
	(write_attr_get): Do not handle common_av->value
	being an FFS.
	(struct attr_desc): Remove func_units_p and blockage_p.
	(write_attr_valueq): Do not handle them.
	(find_attr): Do not clear them.
	(make_internal_attr): Do not initialize them.
	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
	* sched-vis.c (init_target_units, insn_print_units,
	init_block_visualization, print_block_visualization,
	visualize_scheduled_insns, visualize_no_unit,
	visualize_stall_cycles, visualize_alloc,
	visualize_free, target_units, get_visual_tbl_length,
	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
	* haifa-sched.c (blockage_range, clear_units,
	schedule_unit, actual_hazard, potential_hazard,
	insn_unit, unit_last_insn, unit_tick,
	actual_hazard_this_instance, potential_hazard,
	schedule_unit, max_insn_queue_index_value): Remove.
	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
	max_insn_queue_index.
	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
	* doc/md.texi (Processor pipeline description): Remove
	references to old pipeline descriptions.
	(Automaton pipeline description): Merge with the above.
	(Old pipeline description, Comparison of the two descriptions):
	Remove.

	* bt-load.c (migrate_btr_def): Remove references to
	use_pipeline_interface.
	* haifa-sched.c (insn_cost, schedule_insn,
	schedule_block, advance_one_cycle, sched_init,
	queue_to_ready, sched_finish): Likewise.
	* modulo-sched.c (sms_schedule, advance_one_cycle,
	ps_has_conflicts): Likewise.
	* sched-rgn.c (init_ready): Likewise.
	(debug_dependencies): Likewise, and remove an "if (1)".
	* target.h (use_dfa_pipeline_interface): Remove.
	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.

From-SVN: r84944
2004-07-20 07:27:18 +00:00
Kazu Hirata
ca2b05bae5 c-incpath.c, [...]: Update copyright.
gcc/
	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
	hosthooks.h, params.h, ra-colorize.c, web.c,
	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
	config/avr/avr-protos.h, config/avr/avr.md,
	config/fr30/fr30-protos.h, config/fr30/fr30.md,
	config/h8300/fixunssfsi.c, config/i386/darwin.h,
	config/i386/freebsd.h, config/i386/freebsd64.h,
	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
	config/pa/pa64-regs.h, config/rs6000/aix41.h,
	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
	config/sparc/aout.h, config/sparc/freebsd.h,
	config/sparc/litecoff.h, config/vax/vax-protos.h,
	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
	copyright.

gcc/cp/
	* cp-lang.c, ptree.c: Update copyright.

From-SVN: r79506
2004-03-15 18:20:51 +00:00
Kazu Hirata
c1a41c2fa8 genattr.c (main): Don't define TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
* genattr.c (main): Don't define
	TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
	* system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
	(DFA_PIPELINE_INTERFACE): Likewise.
	* doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
	(DFA_PIPELINE_INTERFACE): Likewise.

From-SVN: r78628
2004-02-28 21:44:22 +00:00
Kaveh R. Ghazi
703ad42b4b alias.c [...]: Remove unnecessary casts.
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
	postreload.c prefix.c print-tree.c protoize.c ra-build.c
	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
	casts.

From-SVN: r69587
2003-07-19 14:47:15 +00:00
Kaveh R. Ghazi
ec049fdb0f genattr.c (internal_dfa_insn_code): Don't prototype.
* genattr.c (internal_dfa_insn_code): Don't prototype.
	* genattrtab.c (attr_desc): Add `static_p' field.
	(expand_units): Make blockage range and ready cost functions
	static.
	(write_attr_get): Don't add extern prototypes in C file.  Mark
	static functions as appropriate.
	(find_attr, make_internal_attr): Initialize static_p.
	* genattrtab.h (ATTR_STATIC): New macro.
	* genautomata.c (output_internal_reset_func): Mark output function
	as inline.
	(make_internal_dfa_insn_code_attr): Mark output function as static.

From-SVN: r69116
2003-07-09 00:44:34 +00:00
Kazu Hirata
4d6922ee32 bt-load.c: Fix comment typos.
* bt-load.c: Fix comment typos.
	* c-incpath.c: Likewise.
	* cfg.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgloop.h: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* diagnostic.h: Likewise.
	* dwarfout.c: Likewise.
	* emit-rtl.c: Likewise.
	* et-forest.c: Likewise.
	* et-forest.h: Likewise.
	* expr.c: Likewise.
	* gcse.c: Likewise.
	* genattr.c: Likewise.
	* jump.c: Likewise.
	* langhooks.h: Likewise.
	* local-alloc.c: Likewise.
	* loop-unroll.c: Likewise.
	* loop-unswitch.c: Likewise.
	* ra-build.c: Likewise.
	* regclass.c: Likewise.
	* regmove.c: Likewise.
	* rtl.def: Likewise.
	* rtlanal.c: Likewise.
	* sched-ebb.c: Likewise.
	* sched-rgn.c: Likewise.
	* simplify-rtx.c: Likewise.
	* ssa.c: Likewise.
	* tracer.c: Likewise.
	* tree.c: Likewise.

From-SVN: r68975
2003-07-05 15:17:36 +00:00
Kaveh R. Ghazi
6906ba4054 genattr.c (internal_dfa_insn_code): Output prototype.
* genattr.c (internal_dfa_insn_code): Output prototype.
	* genattrtab.c: Don't output unnecessary decls, output in ISO C.
	* genautomata.c: Likewise.
	* genconditions.c: Likewise.
	* genemit.c: Likewise.
	* genextract.c: Likewise.
	* gengenrtl.c: Likewise.
	* gengtype.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* genpeep.c: Likewise.
	* genrecog.c: Likewise.

From-SVN: r68959
2003-07-05 05:27:22 +00:00
Andreas Jaeger
3d7aafde11 genrecog.c: Use ISO C90 prototypes.
* genrecog.c: Use ISO C90 prototypes.
	(nodes_identical): Correct declaration to match prototype.
	(maybe_both_true): Likewise.
	(merge_trees): Likewise.

	* genpeep.c (gen_peephole): Remove #if 0 code.
	Use ISO C90 prototypes.

	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
	Remove #if 0'ed function simplify_by_alternatives.
	(optimize_attrs): Remove #if 0'ed code.
	Remove ^L.
	Use ISO C90 prototypes.
	(make_canonical): Remove #if 0'ed code.
	(convert_const_symbol_ref): Remove #if 0'ed function.

	* gen-protos.c (main): Check for argument.

	* rtl.h: Use ISO C90 prototypes for functions from lists.c.

	* params.h: Use ISO C90 prototypes.
	* params.c: Likewise.
	* intl.c: Likewise.
	* intl.h: Likewise.
	* lists.c: Likewise.
	* errors.c: Likewise.
	* errors.h: Likewise.
	* gencodes.c: Likewise.
	* genpreds.c: Likewise.
	* genattr.c: Likewise.
	* gen-protos.c: Likewise.
	* genflags.c: Likewise
	* genconditions.c: Likewise.
	* genautomata.c: Likewise.
	* gencheck.c: Likewise.
	* genconfig.c: Likewise.
	* genconstants.c: Likewise.
	* genemit.c: Likewise.
	* genextract.c: Likewise.
	* gengenrtl.c: Likewise.
	* gengtype.c: Likewise.
	* gengtype.h: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* gensupport.c: Likewise.
	* gensupport.h: Likewise.

From-SVN: r67296
2003-06-01 17:59:10 +02:00
Vladimir Makarov
d530b07f81 genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>

        * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.

	* genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.

	* genattr.c (main): Output default definition of AUTOMATON_ALTS.
	Wrap up definition `insn_alts'.

	* genattrtab.c (main): Wrap up `insn_alts'.

From-SVN: r61513
2003-01-20 22:49:33 +00:00
Kaveh R. Ghazi
dd1b7476b1 decl2.c (check_classfn): Fix uninitialized warning.
cp:
	* decl2.c (check_classfn): Fix uninitialized warning.
	(build_anon_union_vars): Likewise.
	* pt.c (tsubst_copy): Likewise.

gcc:
	* genattr.c (main): Rearrange output to avoid prototype warning.
	* genautomata.c (transform_3): Fix ambiguous-else warning.
	* local-alloc.c (requires_inout): Add parentheses around
	assignment used as truth-value.
	* timevar.c: Move system includes above local includes.  Include
	toplev.h
	* Makefile.in (timevar.o): Depend on toplev.h.

From-SVN: r61308
2003-01-15 01:21:46 +00:00
Vladimir Makarov
30028c8515 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
Merging changes from itanium-sched-branch:

From-SVN: r61132
2003-01-09 23:15:34 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Zack Weinberg
0b42c8f889 genattr.c (gen_attr): Don't emit a comma after the last enumerator.
* genattr.c (gen_attr): Don't emit a comma after the last
	enumerator.

From-SVN: r53440
2002-05-14 00:15:51 +00:00
Zack Weinberg
9a5834ae8d gensupport.c (n_comma_elts): Moved here from genattrtab.c.
* gensupport.c (n_comma_elts): Moved here from genattrtab.c.
	(scan_comma_elt): New function.  Accepts whitespace in comma lists.
	* gensupport.h: Prototype new routines.
	* genattr.c (gen_attr): Use scan_comma_elt.  Avoid unnecessary
	use of printf.
	* genattrtab.c (n_comma_elts): Moved to gensupport.c.
	(next_comma_elt): Use scan_comma_elt.

	* config/i386/i386.md: Use new attribute notation to break up
	long lines in define_attr forms.

From-SVN: r53403
2002-05-12 18:43:33 +00:00
Vladimir Makarov
fae15c9379 2002-04-29 Vladimir Makarov <vmakarov@redhat.com>
Merging code from dfa-branch:

From-SVN: r52915
2002-04-29 22:34:36 +00:00
Neil Booth
1f978f5f7e c-decl.c (duplicate_decls, [...]): Remove leading capital from diagnostics.
* c-decl.c (duplicate_decls, push_parm_decl): Remove leading
	capital from diagnostics.
	* c-lex.c (cb_file_change): Similarly.
	* c-parse.in : Similarly.
	* cfgrtl.c (verify_flow_info): Similarly.
	* collect2.c: Similarly.
	* cppfiles.c (find_include_file): Similarly.
	* cppinit.c (cpp_handle_option): Similarly.
	* cpplex.c (cpp_spell_token): Similarly.
	* cppmain.c (do_preprocessing): Similarly.
	* gcc.c (translate_options, process_command, do_spec1,
	main, pfatal_execute): Similarly.
	* genattr.c (main): Similarly.
	* genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
	write_test_expr, main): Similarly.
	* gencodes.c (main): Similarly.
	* genconfig.c (main): Similarly.
	* genconstants.c (main): Similarly.
	* genemit.c (main): Similarly.
	* genextract.c (main): Similarly.
	* genflags.c (main): Similarly.
	* genopinit.c (main): Similarly.
	* genoutput.c (process_template, main): Similarly.
	* genpeep.c (main): Similarly.
	* genrecog.c (main): Similarly.
	* gensupport.c (is_predicable, identify_predicable_attribute,
	alter_predicate_for_insn, init_md_reader_args, main): Similarly.
	* ggc-page.c (alloc_anon): Similarly.
	* mips-tfile.c (add_string, add_procedure, add_file, read_line,
	parse_begin, parse_bend, parse_def, parse_end, parse_file,
	parse_stabs_common, parse_stabs, write_varray, write_object,
	read_seek, copy_object, main, error): Similarly.
	* profile.c (compute_branch_probabilities): Similarly.
	* reg-stack.c (check_asm_stack_operands): Similarly.
	* reload.c (find_reloads): Similarly.
	* reload1.c (spill_failure, failed_reload): Similarly.
	* rtl-error.c (_fatal_insn_not_found): Similarly.
	* toplev.c (read_integral_parameter, crash_signal,
	decode_f_option, set_target_switch, parse_options_and_default_flags)
	: Similarly.
	* tradcif.y (parse_number, yylex): Similarly.
	* tradcpp.c (main, fancy_abort): Similarly.
	* tree.c (tree_check_failed): Similarly.
	* varray.c (varray_check_failed): Similarly.
	* xcoffout.c (xcoff_output_standard_types): Similarly.
cp:
	* call.c (build_java_interface_fn_ref): Similarly.
	* except.c (is_admissible_throw_operand): Similarly.
	* init.c (build_java_class_ref): Similarly.
	* xref.c (open_xref_file): Similarly.
objc:
	* objc-act.c (get_object_ref, lookup_and_install_protocols,
	build_objc_string_object, objc_declare_alias, build_ivar_chain,
	finish_message_expr, build_protocol_expr, is_public,
	start_class): Similarly.
testsuite:
	* objc.dg/alias.m: Update.
	* objc.dg/class-1.m: Update.
	* objc.dg/const-str-1.m: Update.
	* objc.dg/fwd-proto-1.m: Update.
	* objc.dg/id-1.m: Update.
	* objc.dg/super-class-1.m: Update.

From-SVN: r47518
2001-12-02 00:04:36 +00:00
Neil Booth
357351e5a7 c-decl.c (duplicate_decls, [...]): Remove trailing period from diagnostics.
* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
	trailing period from diagnostics.
	* c-lex.c (cb_file_change): Similarly.
	* cppmacro.c (check_trad_stringification): Similarly.
	* gcc.c (do_spec_1): Similarly.
	* genattr.c (main): Similarly.
	* genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
	* gencodes.c (main): Similarly.
	* genconfig.c (main): Similarly.
	* genconstants.c (main): Similarly.
	* genemit.c (main): Similarly.
	* genextract.c (main): Similarly.
	* genopinit.c (main): Similarly.
	* genoutput.c (main): Similarly.
	* genpeep.c (main): Similarly.
	* genrecog.c (main): Similarly.
	* mips-tfile.c (add_file, error): Similarly.
	* profile.c (init_branch_prob): Similarly.
	* reload1.c (spill_failure): Similarly.
	* stmt.c (parse_output_constraint): Similarly.
	* varasm.c (assemble_variable): Similarly.
cp:
	* class.c (finish_struct): Similarly.
	* decl.c (check_tag_decl): Similarly.
	* lex.c (cxx_set_yydebug): Similarly.
	* typeck2.c (friendly_abort): Similarly.
java:
	* expr.c (expand_byte_code): Similarly.
	* jcf-parse.c (load_class, jcf_parse): Similarly.
	* jcf-write.c (generate_classfile): Similarly.
	* lex.c (java_lex): Similarly.

From-SVN: r47517
2001-12-01 18:42:49 +00:00
Alan Matsuoka
04d8aa70d5 rtl.def (INCLUDE): Define.
2001-11-05  Alan Matsuoka  <alanm@redhat.com>

	* rtl.def (INCLUDE) : Define.
	* gensupport.c  (init_include_reader, process_include,
	save_string) :  New functions to implement an include facility
	in .md files.
	* gensupport.h : Add prototype for init_md_reader_args.  *
	genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
	genextract.c genflags.c genopinit.c genoutput.c
	genpeep.c genrecog.c: Change call to init_md_reader to
	init_md_reader_args.
	* md.texi: Document (include "path") and -I directives for RTL
	generation tools.

From-SVN: r47020
2001-11-14 20:17:08 +00:00
Kaveh R. Ghazi
8b60264b0d builtins.c (expand_builtin_setjmp_receiver): Const-ify.
* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
	* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
	Likewise.
	* c-dump.c (dump_option_value_info): Likewise.
	* c-format.c (format_length_info, format_char_info,
	format_flag_spec, format_flag_pair, format_kind_info): Likewise.
	* collect2.c (names): Likewise.
	* cppdefault.h (default_include): Likewise.
	* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
	* flow.c (life_analysis): Likewise.
	* gcc.c (dir_separator_str, modify_target, option_map,
	target_option_translations, spec_list_1, extra_specs_1,
	init_spec): Likewise.
	* gcov.c (gcov_version_string): Likewise.
	* genattr.c (write_units): Likewise.
	* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
	* gengenrtl.c (rtx_definition, defs): Likewise.
	* genrecog.c (pred_table): Likewise.
	* global.c (global_alloc): Likewise.
	* lcm.c (optimize_mode_switching): Likewise.
	* local-alloc.c (find_free_reg): Likewise.
	* params.h (param_info): Likewise.
	* predict.c (predictor_info): Likewise.
	* protoize.c (unexpansion_struct): Likewise.
	* real.c (bmask): Likewise.
	* recog.h (insn_operand_data, insn_data): Likewise.
	* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* toplev.c (da, debug_args, lang_opt, documented_lang_options,
	target_switches, target_options): Likewise.
	* tradcif.y (token, tokentab2, yylex): Likewise.
	* tree.h (attribute_spec): Likewise.

	* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
	Likewise.
	* arc.c (arc_output_function_epilogue): Likewise.
	* arm.c (processors, all_cores, all_architectures,
	arm_override_options, isr_attribute_arg, isr_attribute_args,
	arm_isr_value): Likewise.
	* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
	Likewise.
	* c4x.c (c4x_int_reglist): Likewise.
	* d30v.c (override_options): Likewise.
	* h8300.c (shift_insn): Likewise.
	* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
	pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
	ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
	builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
	ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
	* i386.h (processor_costs, ix86_cost): Likewise.
	* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
	* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
	* m68k.c (codes_68881, codes_FPA): Likewise.
	* m88k.c (mode_from_align, max_from_align, all_from_align,
	best_from_align, m_options): Likewise.
	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
	* mcore.c (mode_from_align): Likewise.
	* mips/elf64.h (UNIQUE_SECTION): Likewise.
	* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
	* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
	* mips.h (mips_regno_to_class): Likewise.
	* ns32k.c (scales): Likewise.
	* pa.c (import_string, magic_milli): Likewise.
	* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
	* sparc.c (leaf_reg_remap, sparc_override_options,
	reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
	Likewise.
	* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.

cp:
	* class.c (build_vtable_entry_ref): Const-ify.
	* decl.c (predefined_identifier,
	initialize_predefined_identifiers): Likewise.
	* init.c (build_new_1): Likewise.
	* lex.c (cplus_tree_code_type, cplus_tree_code_length, resword):
	Likewise.

f:
	* bad.c (_ffebad_message_, ffebad_messages_): Const-ify.
	* bld.c (ffebld_arity_op_): Likewise.
	* bld.h (ffebld_arity_op_): Likewise.
	* com.c (ffecom_init_0): Likewise.
	* intdoc.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
	_ffeintrin_imp_, names, gens, imps, specs, cc_pair,
	cc_descriptions, cc_summaries): Likewise.
	* intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
	_ffeintrin_imp_, ffeintrin_names_, ffeintrin_gens_,
	ffeintrin_imps_, ffeintrin_specs_): Likewise.

java:
	* jcf-io.c (format_uint): Const-ify.
	* lang.c (java_tree_code_type, java_tree_code_length): Likewise.
	* lex.c (java_get_line_col): Likewise.
	* parse.y (build_incdec): Likewise.

From-SVN: r46062
2001-10-07 16:51:11 +00:00
Vladimir Makarov
b8ec576419 rtl.def: Undo my patch commited 2001-08-27.
2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>

	* rtl.def: Undo my patch commited 2001-08-27.

	* genattrtab.c: Ditto.

	* rtl.h: Ditto.

	* sched-int.h: Ditto.

	* target-def.h: Ditto.

	* target.h: Ditto.

	* haifa-sched.c: Ditto.

	* sched-rgn.c: Ditto.

	* sched-vis.c: Ditto.

	* Makefile.in: Ditto.

	* doc/md.texi: Ditto.

	* doc/tm.texi: Ditto.

	* doc/contrib.texi: Ditto.

	* doc/gcc.texi: Ditto.

	* genattrtab.h: Remove it.

	* genautomata.c: Remove it.

	* genattr.c: Undo my patch and Richard Henderson's patch commited
	2001-08-27.

From-SVN: r45297
2001-08-30 20:44:51 +00:00
Richard Henderson
a224278b11 * genattr.c (main): Emit state_t even when not doing scheduling.
From-SVN: r45214
2001-08-27 15:35:41 -07:00
Vladimir Makarov
acd7baf729 rtl.def (DEFINE_CPU_UNIT, [...]): New RTL constructions.
2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>

        * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
	RTL constructions.

	* genattr.c (main): New variable num_insn_reservations.  Increase
	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
	pipeline hazard recognizer interface.

	* genattrtab.h: New file.

	* genattrtab.c: Include genattrtab.h.
	(attr_printf, check_attr_test, make_internal_attr,
	make_numeric_value): Move protypes into genattrtab.h.  Define them
	as external.
	(num_dfa_decls): New global variable.
	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.

	* genautomata.c: New file.

	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.

        * sched-int.h: (curr_state): Add the external definition for
	automaton pipeline interface.
	(haifa_insn_data): Add comments for members blockage and units.

	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
	macros.
	(TARGET_SCHED): Use the new macros.

	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
	dfa_bubble): New members in gcc_target.sched.

        * haifa-sched.c (insert_schedule_bubbles_p): New variable.
	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
	(insn_queue): Redefine it as pointer to array.
	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
	INSN_QUEUE_SIZE.
	(max_insn_queue_index_macro_value): New variable.
	(curr_state, dfa_state_size, ready_try): New varaibles for
	automaton interface.
	(ready_element, ready_remove, max_issue): New function prototypes
	for automaton interface.
	(choose_ready): New function prototype.
	(insn_unit, blockage_range): Add comments.
	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
	FUNCTION_UNITS_SIZE == 0.
	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
	actual_hazard, potential_hazard): Add comments.
	(insn_cost): Use cost -1 as undefined value.  Remove
	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
	pipeline interface.
	(ready_element, ready_remove): New functions for automaton
	interface.
	(schedule_insn): Add new code for automaton pipeline interface.
	(queue_to_ready): Add new code for automaton pipeline interface.
	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
	(debug_ready_list): Print newline when the queue is empty.
	(max_issue): New function for automaton pipeline interface.
	(choose_ready): New function.
	(schedule_block): Add new code for automaton pipeline interface.
	Print ready list before scheduling each insn.
	(sched_init): Add new code for automaton pipeline interface.
	Initiate insn cost by -1.
	(sched_finish): Free the current automaton state and finalize
	automaton pipeline interface.

	* sched-rgn.c: Include target.h.
	(init_ready_list, new_ready, debug_dependencies): Add new code for
	automaton pipeline interface.

	* sched-vis.c: Include target.h.
	(get_visual_tbl_length): Add code for automaton interface.
	(target_units, print_block_visualization):  Add comments.

        * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
	(getruntime.o, genautomata.o): New entries.
	(genattrtab.o): Add new dependency file genattrtab.h.
	(genattrtab): Add new dependencies.  Link it with `libm.a'.
	(getruntime.o, hashtab.o): New entries for canadian cross.

	* doc/md.texi: Description of automaton based model.

	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
	Add comments.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
	hook descriptions.
	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
	MAX_DFA_ISSUE_RATE): New macro descriptions.

	* doc/contrib.texi: Add dfa based scheduler contribution.

	* doc/gcc.texi: Add more information about genattrtab.

From-SVN: r45202
2001-08-27 18:13:42 +00:00
Lars Brinkhoff
1322177dbd Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
	bitmap.h, builtin-types.def, builtins.c, builtins.def,
	c-aux-info.c, c-common.c, c-common.def, c-common.h,
	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
	conditions.h, config.gcc, configure.frag, configure.in,
	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
	emit-rtl.c, errors.c, errors.h, except.c, except.h,
	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
	gencheck.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, gengenrtl.c, genmultilib,
	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
	params.h, predict.c, predict.def, predict.h, prefix.c,
	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
	xcoffout.h: replace "GNU CC" with "GCC".

From-SVN: r45105
2001-08-22 14:35:51 +00:00
Zack Weinberg
0313e85b82 genattr.c, [...]: Wrap generated header in multiple-include guard.
* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
	gengenrtl.c:  Wrap generated header in multiple-include guard.
	Improve error checking.

From-SVN: r41006
2001-04-02 16:29:32 +00:00
Zack Weinberg
b548dffbda aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
libiberty:
	* aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
	* configure.in: Replace all alloca logic with a simple use of
	the above new macro.
	* config.table: Kill *-*-beos* entry.
	* config/mh-beos: Delete.
	* configure, config.in: Regenerate.

	* Makefile.in (ALLOCA, HFILES): Kill.
	(REQUIRED_OFILES): Add alloca.o.
	(alloca.o): Depend on libiberty.h.
	(argv.o): Don't depend on alloca-conf.h.
	* alloca-conf.h: Delete.
	* alloca.c: Include libiberty.h.  Kill all #ifdef emacs
	blocks.  Provide the C alloca unconditionally.  Use PTR where
	appropriate.  Make i00afunc static.
	* argv.c: Don't include alloca-conf.h.

include:
	* libiberty.h: Prototype C_alloca; define alloca to either
	__builtin_alloca or C_alloca as appropriate.

gcc:
	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
	AC_FUNC_ALLOCA.
	* configure, config.in: Regenerate.
	* config.gcc: Remove references to deleted files.

	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
	genrecog.c, rtl.c: Do not use alloca anywhere.

	* Makefile.in, build-make, system.h, config/x-interix,
	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
	config/arc/xm-arc.h, config/arm/xm-arm.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/h8300/xm-h8300.h, config/i370/x-oe,
	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
	config/i386/x-ncr3000, config/i386/x-sco5,
	config/i386/xm-dgux.h, config/i860/x-sysv4,
	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
	config/m68k/x-hp320g, config/m69k/x-mot3300,
	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
	config/m88k/x-sysv4, config/m88k/x-tekXD88,
	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
	config/mips/x-iris, config/mips/x-iris3,
	config/mips/x-sni-svr4, config/mips/x-sysv,
	config/mips/xm-iris6.h, config/mips/xm-mips.h,
	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
	config/pa/xm-papro.h, config/romp/xm-romp.h,
	config/rs6000/x-aix31, config/rs6000/x-aix41,
	config/rs6000/x-beos, config/rs6000/x-lynx,
	config/rs6000/x-mach, config/rs6000/x-rs6000,
	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/x-sysv4, config/sparc/xm-linux.h,
	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
	config/vax/xm-vms.h: Eradicate all references to alloca and
	related stuff.

	* config/xm-alloca.h, config/clipper/x-clix,
	config/i386/xm-sysv4.h, config/i860/x-fx2800,
	config/i860/x-sysv3, config/m88k/x-sysv3,
	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
	(contained only alloca related hacks).

	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
	USE_C_ALLOCA.

From-SVN: r40259
2001-03-06 09:52:35 +00:00
Kaveh R. Ghazi
4e135bdd14 alpha.c (check_float_value): Use memcpy, not bcopy.
* alpha.c (check_float_value): Use memcpy, not bcopy.
	* arm.c (output_move_double): Likewise.
	* arm.md: Likewise.
	* m88k.c (legitimize_operand): Likewise.
	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
	* m88k.md: Likewise.
	* mips.c (override_options): Likewise.
	* mips.md: Likewise.
	* romp.c (output_fpops): Likewise.
	* rs6000.c (rs6000_override_options): Likewise.
	* sh.md: Likewise.
	* vax.c (check_float_value): Likewise.

	* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
	* expmed.c (synth_mult): Likewise.
	* final.c (add_bb_string): Likewise.
	* genattr.c (main): Likewise.
	* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
	Likewise.
	* jump.c (thread_jumps): Likewise.
	* prefix.c (save_string): Likewise.
	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
	* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
	* reload1.c (reload, eliminate_regs): Likewise.

cp:
	* decl.c (grokdeclarator, save_function_data): Use memcpy, not bcopy.
	* lex.c (copy_lang_decl): Likewise.

java:
	* decl.c (copy_lang_decl): Use memcpy, not bcopy.
	* jcf-parse.c (jcf_figure_file_type): Likewise.

From-SVN: r37367
2000-11-10 16:01:28 +00:00
Alexandre Oliva
9d98a69423 Makefile.in (INSN_ATTR_H): New macro.
* Makefile.in (INSN_ATTR_H): New macro.  Replace all dependencies
on insn-attr.h with it.
* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
* insn-addr.h: New header.
(insn_addresses_): Renamed from insn_addresses.
(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
INSN_ADDRESSES_NEW): New macros.
* genattrtab.c (write_test_expr): Use new macros.
* final.c (insn_addresses, init_insn_lengths): Likewise.
(align_fuzz, shorten_branches): Likewise.
(final): Likewise.  Do not reject new insns if their addresses
have been added to INSN_ADDRESSES.
* config/arm/arm.c, config/avr/avr.c: Use new macros.
* config/h8300/h8300.c, config/i370/i370.c: Likewise.
* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
* config/sh/sh.c: Likewise.
(output_branchy_insn): Use INSN_ADDRESSES_NEW.

From-SVN: r35307
2000-07-28 02:17:26 +00:00
Zack Weinberg
1b3459d226 genopinit.c: Use $ for escape sequences in optab patterns.
* genopinit.c: Use $ for escape sequences in optab patterns.
	Remove backslashes from optab patterns.  Change $A, $B, $C to
	expand to (int) whatever instead of just whatever; remove
	explicit (int) from all optab patterns.

	* gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
	genrecog.c: Remove private copies of xmalloc, xrealloc, and

From-SVN: r34000
2000-05-18 22:05:15 +00:00
Richard Henderson
3916d6d89c Makefile.in (gensupport.o): Compile for the host.
* Makefile.in (gensupport.o): Compile for the host.
	(host-prefix gensuuprt.o): Remove.
	(genflags.o): Depend on gensupport.h and OBSTACK_H.
	(genattrtab.o): Likewise.
	(gencodes.o): Depend on gensupport.h.
	(genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
	(genpeep.o, genattr.o, genoutput.o): Likewise.

	* gensupport.c (obstack, rtl_obstack): New.
	(init_md_reader): Initialize rtl_obstack.
	* gensupport.h (rtl_obstack): Declare.
	(message_with_line): Declare.

	* genattr.c: Remove all traces of obstack manipulation.
	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.

	* genattrtab.c (obstack, rtl_obstack): Remove.
	(main): Don't init rtl_obstack.
	* genflags.c: Likewise.

	* genrecog.c (message_with_line): Move ...
	* gensupport.c: ... here.

From-SVN: r33742
2000-05-06 15:30:13 -07:00
Clinton Popetz
c88c0d42a1 gensupport.c: New file.
* gensupport.c: New file.
	* gensupport.h: New file.
	* Makefile.in (HOST_RTL): Depend on gensupport.
	(gensupport.o) New rule.
	* genattr.c: Use gensupport for reading .md files.
	* genattrtab.c: Ditto.
	* gencodes.c: Ditto.
	* genconfig.c: Ditto.
	* genemit.c: Ditto.
	* genextract.c: Ditto.
	* genflags.c: Ditto.
	* genopinit.c: Ditto.
	* genoutput.c: Ditto.
	* genpeep.c: Ditto.
	* genrecog.c: Ditto.
	* rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
	* md.texi (Insn Splitting): Document define_insn_and_split.

From-SVN: r33633
2000-05-03 13:45:26 -04:00
Kaveh R. Ghazi
3cce094dd9 rtl.h (rtunion_def): Constify member `rtstr'.
* rtl.h (rtunion_def): Constify member `rtstr'.
	(emit_line_note_after, emit_line_note, emit_line_note_force,
	emit_note, decode_asm_operands): Constify.

	* cse.c (canon_hash): Likewise.

	* dbxout.c (dbxout_block): Likewise.

	* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
	v_warning_for_asm): Likewise.

	* dwarfout.c (function_start_label): Likewise.

	* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
	emit_line_note_force): Likewise.

	* final.c (last_filename, asm_insn_count, final_scan_insn,
	output_source_line): Likewise.

	* function.h (struct emit_status): Likewise.

	* gcse.c (hash_expr_1): Likewise.

	* genattr.c (gen_attr, main): Likewise.

	* genattrtab.c (struct function_unit, current_alternative_string,
	write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
	attr_numeral, check_attr_test, check_attr_value,
	convert_set_attr_alternative, convert_set_attr,
	compute_alternative_mask, simplify_by_exploding, gen_attr,
	gen_unit): Likewise.

	* genflags.c (gen_insn): Likewise.

	* gengenrtl.c (type_from_format): Likewise.

	* genopinit.c (gen_insn): Likewise.

	* genoutput.c (n_occurrences, process_template, process_template):
	Likewise.

	* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
	Likewise.

	* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
	Likewise.

	* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
	ggc_set_mark, ggc_get_size): Likewise.

	* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.

	* optabs.c (init_one_libfunc): Likewise.

	* output.h (assemble_start_function): Likewise.

	* recog.c (decode_asm_operands): Likewise.

	* toplev.c (rest_of_compilation): Likewise.

	* tree.h (emit_line_note_after, emit_line_note,
	emit_line_note_force): Likewise.

	* varasm.c (asm_output_bss, asm_output_aligned_bss,
	asm_emit_uninitialised, assemble_start_function,
	assemble_variable, const_hash, compare_constant_1,
	find_pool_constant, mark_constant_pool, assemble_alias): Likewise.

	* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.

	* alpha/alpha.md (call_vms, call_value_vms): Likewise.

	* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.

	* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.

	* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
	arm_dllimport_name_p): Likewise.

	* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
	Likewise.

	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.

	* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
	arm_mark_dllexport, arm_mark_dllimport,
	arm_pe_encode_section_info): Likewise.

	* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
	ASM_FINISH_DECLARE_OBJECT): Likewise.

	* arm/thumb.c (thumb_function_prologue): Likewise.

	* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.

	* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.

	* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.

	* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.

	* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
	ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.

	* i386/i386-protos.h (asm_output_function_prefix): Likewise.

	* i386/i386.c (asm_output_function_prefix): Likewise.

	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.

	* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.

	* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
	ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
	ASM_OUTPUT_SECTION_NAME): Likewise.

	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.

	* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.

	* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.

	* m32r/m32r.c (m32r_encode_section_info): Likewise.

	* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* mcore/mcore.c (mcore_encode_section_info): Likewise.

	* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.

	* mips/mips.md (movdi, movsi): Likewise.

	* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

	* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
	ASM_OUTPUT_ASCII): Likewise.

	* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
	output_mi_thunk, output_toc): Likewise.

	* rs6000/rs6000.md (movsi): Likewise.

	* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.

	* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.

	* v850/v850.c (print_operand, print_operand_address,
	v850_encode_data_area): Likewise.

ch:
	* grant.c (globalize_decl): Constify a char*.

cp:
	* decl2.c (finish_objects): Constify a char*.

	* method.c (emit_thunk): Likewise.

From-SVN: r32388
2000-03-07 20:39:10 +00:00
Jeff Law
3b708058ed Fix copyrights.
From-SVN: r32175
2000-02-25 23:23:30 -07:00
Kaveh Ghazi
9311a396bc Update copyrights
From-SVN: r31465
2000-01-17 17:16:21 +00:00
Kaveh R. Ghazi
a94ae8f5dd genattr.c: PROTO -> PARAMS.
* genattr.c: PROTO -> PARAMS.
        * genattrtab.c: Likewise.
        * gencheck.c: Likewise.
        * gencodes.c: Likewise.
        * genconfig.c: Likewise.
        * genemit.c: Likewise.
        * genextract.c: Likewise.
        * genflags.c: Likewise.
        * gengenrtl.c: Likewise.
        * genopinit.c: Likewise.
        * genoutput.c: Likewise.
        * genpeep.c: Likewise.
        * genrecog.c: Likewise.

From-SVN: r31457
2000-01-17 15:17:38 +00:00
Richard Henderson
bcdaba58ff rtl.c (dump_and_abort): Remove.
* rtl.c (dump_and_abort): Remove.
        (fatal_with_file_and_line): New.
        (fatal_expected_char): New.
        (read_rtx_lineno, read_rtx_filename): New.
        (read_skip_spaces): Track line number.
        (read_name): Use fatal_with_file_and_line.
        (read_rtx): Use fatal_expected_char.  Track line number.
        * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.

        * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
        if it isn't a CODE_LABEL.

        * genattr.c (main): Set read_rtx_filename.
        * genattrtab.c (main): Likewise.
        * gencodes.c (main): Likewise.
        * genconfig.c (main): Likewise.
        * genemit.c (main): Likewise.
        * genextract.c (main): Likewise.
        * genflags.c (main): Likewise.
        * genopinit.c (main): Likewise.
        * genoutput.c (main): Likewise.
        * genpeep.c (main): Likewise.

        * genrecog.c (decision_test.u.insn): Add `lineno'.
        (pattern_lineno, error_count): New variables.
        (message_with_line): New.
        (add_to_sequence): Break out checking code to ...
        (validate_pattern): ... here.  Detect SET_DEST matching CONST_INT.
        (merge_insn): Use message_with_line.
        (make_insn_sequence): Use validate_pattern.  Record insn lineno.
        (main): Set read_rtx_filename, pattern_lineno.  Exit early on error.

From-SVN: r29957
1999-10-13 20:43:49 -07:00
Kaveh R. Ghazi
92a438d13c system.h (CTYPE_CONV, [...]): New macros.
* system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros.  Use
	CTYPE_CONV in all ctype macros.

	* cccp.c (initialize_char_syntax): Use uppercase ctype macro
	from system.h.

	* cexp.y (initialize_random_junk): Likewise.

	* c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.

	* i370.c (handle_pragma): Likewise.

	* i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.

	* v850.c (override_options): Likewise.

	* doprint.c (_doprnt): Likewise.

	* fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
	Likewise.

	* fixinc/server.c (load_data): Likewise.

	* fold-const.c (real_hex_to_f): Likewise.

	* genattr.c (write_upcase, gen_attr): Likewise.

	* genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
	write_upcase): Likewise.

	* genemit.c (print_code): Likewise.

	* genopinit.c (gen_insn): Likewise.

	* genpeep.c (print_code): Likewise.

	* genrecog.c (print_code): Likewise.

	* optabs.c (init_libfuncs): Likewise.

ch:

	* lex.c (maybe_downcase, getlc, handle_generic_pragma,
	check_newline): Likewise.

f:

	* bad.c (ffebad_finish): Likewise.

	* fini.c (main): Likewise.

	* intrin.c (ffeintrin_init_0): Likewise.

	* lex.c (ffelex_hash_): Likewise.

	* src.c (ffesrc_init_1): Likewise.

From-SVN: r29463
1999-09-16 22:20:44 +00:00
Kaveh R. Ghazi
c1b59dce97 genattr.c (main): Add extern prototype.
* genattr.c (main): Add extern prototype.  Call return, not exit.
	* genattrtab.c (main): Likewise.
	* gencheck.c (main): Likewise.
	* gencodes.c (main): Likewise.
	* genconfig.c (main): Likewise.
	* genemit.c (main): Likewise.
	* genextract.c (main): Likewise.
	* genflags.c (main): Likewise.
	* gengenrtl.c (main): Likewise.
	* genopinit.c (main): Likewise.
	* genoutput.c (main): Likewise.
	* genpeep.c (main): Likewise.
	* genrecog.c (main): Likewise.

	* genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
	* genattrtab.c (get_insn_name): Likewise.
	* gencodes.c (get_insn_name): Likewise.
	* genconfig.c (get_insn_name): Likewise.
	* genemit.c (get_insn_name): Likewise.
	* genextract.c (get_insn_name): Likewise.
	* genflags.c (get_insn_name): Likewise.
	* genopinit.c (get_insn_name): Likewise.
	* genpeep.c (get_insn_name): Likewise.

	* gencheck.c (usage): Add static prototype.
	* genextract.c (print_path): Constify a char*.
	* genopinit.c (optabs): Likewise.
	* genoutput.c (operand_data, data, output_predicate_decls,
	compare_operands): Likewise.
	* genrecog.c (write_tree): Add default case in switch.

From-SVN: r29434
1999-09-15 14:13:50 +00:00
Richard Henderson
a995e389c4 Replace insn_foo with insn_data.foo.
From-SVN: r29358
1999-09-12 05:46:08 -07:00
Linas Vepstas
f3ad1f9c0d Linas Vepstas <linas@linas.org>
* c-common.c: Use ISGRAPH, ISLOWER, toupper.
        * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
        genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
        * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
        * defaults.h (TARGET_ESC): Add default.

From-SVN: r29192
1999-09-07 23:51:23 -07:00
Zack Weinberg
aa0b446591 rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format for a CONST_DOUBLE...
1999-08-27 13:27 -0700  Zack Weinberg  <zack@bitmover.com>

	* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
	for a CONST_DOUBLE, at compile time.  Initialize rtx_length
	and class_narrowest_mode at compile time.  Kill init_rtl.
	Mark rtx_length, mode_class, mode_size, mode_unit_size,
	mode_wider_mode, mode_mask_array, class_narrowest_mode, and
	rtx_format as const.  Kill all references to EXTRA_CC_MODES or
	EXTRA_CC_NAMES.
	* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
	format.
	* rtl.h: Declare rtx_length and rtx_format as const.
	* machmode.def: Define CC().  Use CC() to define CCmode.  If
	EXTRA_CC_MODES is defined, expand it here.
	* machmode.h: Declare mode_class, mode_size, mode_unit_size,
	mode_wider_mode, mode_mask_array, and class_narrowest_mode as
	const.  Kill all references to EXTRA_CC_MODES.

	* toplev.c: Don't prototype or call init_rtl.
	* optabs.c: Don't call init_mov_optab.
	* genemit.c: Don't generate init_mov_optab.  Don't call
	init_rtl.
	* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
	here.
	* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
	genrecog.c: Don't call init_rtl.

	* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
	rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES.  Use CC() in
	definition of EXTRA_CC_MODES.

	* md.texi: Kill ref to EXTRA_CC_NAMES.
	* tm.texi: Document new way to define EXTRA_CC_MODES.

	* genrecog.c: Do not look up the name of a define_split.
	(Unrelated bugfix.)

From-SVN: r28937
1999-08-27 20:37:06 +00:00
Zack Weinberg
f8b6598ecc errors.c: New file...
1999-08-27 00:27 -0700  Zack Weinberg  <zack@bitmover.com>

	* errors.c: New file; defines functions error, warning, and
	fatal, variables have_error and progname.
	* errors.h: New file; prototypes and decls for stuff in errors.c.

	* Makefile: Add rules to build errors.o and
	$(HOST_PREFIX)errors.o.  Link genconfig, gencodes, genemit,
	genopinit, genrecog, genextract, genpeep, genattr, and
	genoutput with errors.o.  Add errors.h to deps of genconfig.o,
	gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
	genpeep.o, genattr.o, and genoutput.o.

	* genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
	genextract.c, genpeep.c, genattr.c:  Include errors.h.  Don't
	define or prototype fatal.  Set progname at beginning of main.
	* genoutput.c:  Likewise, and don't define or prototype error
	either.

From-SVN: r28925
1999-08-27 07:47:17 +00:00
Zack Weinberg
987009bf0d system.h: Don't redefine abort or trim_filename.
1999-08-25 22:10 -0700  Zack Weinberg  <zack@bitmover.com>

	* system.h: Don't redefine abort or trim_filename.
	* rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
	or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
	whether or not __FUNCTION__ is available.
	* tree.h: Duplicate rtl.h's definition of abort, for files
	that don't include rtl.h.  Delete all code to perform type
	checking with a compiler other than GCC.
	* varray.h: Delete all code to perform type checking with a
	compiler other than GCC.  Make VARRAY_CHECK() always evaluate
	its arguments exactly once, using a statement expression.
	Adjust the VARRAY_<type> accessor macros to match.
	* toplev.h (fatal_insn, fatal_insn_not_found): Kill.
	(_fatal_insn, _fatal_insn_not_found): New fns, take info on
	caller's location.  Define fatal_insn and fatal_insn_not_found
	as macros that use _fatal_insn and _fatal_insn_not_found.
	(fancy_abort, trim_filename): Kill prototypes.

	* rtl.c (trim_filename): Move here from toplev.c.
	(fancy_abort): New function.
	(DIR_SEPARATOR): Provide default definition.
	* tree.c (tree_check_failed, tree_class_check_failed): Go
	through fancy_abort.
	(tree_check, tree_class_check, cst_or_constructor_check,
	expr_check): Delete.
	* varray.c (varray_check_failed): New function.
	* toplev.c (fatal_insn, fatal_insn_not_found): Replace with
	_fatal_insn and _fatal_insn_not_found.  Go through
	fancy_abort.
	(trim_filename, fancy_abort): Delete.

	* builtins.c (expand_builtin_args_info): Report ICE with abort.
	* except.c (start_catch_handler): Report ICE with error/abort
	combo.
	* final.c (output_operand_lossage): Likewise.
	* flow.c (verify_flow_info): Likewise.

	* gcc.c: Prototype fatal.
	* gengenrtl.c: Undef abort after including rtl.h not system.h.
	* genattr.c, genattrtab.c, genemit.c, genextract.c,
	genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
	Don't define fancy_abort.

From-SVN: r28889
1999-08-26 05:18:44 +00:00
Kaveh R. Ghazi
ffee6d9387 genattr.c (gen_attr): Add prototype arguments for get_attr_*().
* genattr.c (gen_attr): Add prototype arguments for get_attr_*().
	Remove unused prototype for `init_lengths'.

From-SVN: r28861
1999-08-25 13:47:00 +00:00