Commit Graph

70 Commits

Author SHA1 Message Date
Rodney Brown 47c10e9bf9 print-rtl.c (print_rtx_head): Constify.
* print-rtl.c (print_rtx_head): Constify.
        * rtl.h (print_rtx_head): Similarly.

From-SVN: r36885
2000-10-16 10:24:54 -06:00
Stephane Carrez c349e40b5b flags.h (flag_dump_rtl_in_asm): Declare.
* flags.h (flag_dump_rtl_in_asm): Declare.
	* toplev.c (flag_dump_rtl_in_asm): Define.
	(decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
	if -dP is specified.
	* rtl.h (print_rtx_head): Declare.
	* print-rtl.c (print_rtx_head): Define.
	(print_rtx): Print the string pointed to by print_rtx_head
	at beginning of each dump line.
	(print_rtl): Likewise.
	(print_rtl_single): Likewise.
	* final.c (final_scan_insn): Dump the insn in the assembly
	file for debugging.
	* gcc.1: Document -dP option.
	* invoke.texi (Debugging Options): Likewise.

From-SVN: r36394
2000-09-13 21:34:05 +02:00
Alexandre Oliva b5d7770c3e print-rtl.c (debug_call_placeholder_verbose): New variable.
* print-rtl.c (debug_call_placeholder_verbose): New variable.
(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
set.
* integrate.c (copy_rtx_and_substitute): Don't share
LEAF_REG_REMAPpable registers with the inlined function.  Don't
share the function value with calling sequences.

From-SVN: r36329
2000-09-11 21:03:26 +00:00
Rodney Brown 2c3c49dec3 alias.c (mark_constant_function): Use INSN_P.
* alias.c (mark_constant_function): Use INSN_P.
	(init_alias_analysis): Likewise.
	* combine.c (combine_instructions): Use INSN_P.
	(can_combine_p): Likewise.
	(try_combine): Likewise.
	(distribute_notes): Likewise.
	(distribute_links): Likewise.
	* cse.c (cse_around_loop): Use INSN_P.
	(invalidate_skipped_block): Likewise.
	(cse_set_around_loop): Likewise.
	(cse_end_of_basic_block): Likewise.
	(delete_trivially_dead_insns): Likewise.
	* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
	(unshare_all_rtl_1): Likewise.
	(next_cc0_user): Likewise.
	(try_split make_insn_raw): Likewise.
	(remove_unnecessary_notes): Likewise.
	* final.c (shorten_branches): Use INSN_P.
	(leaf_renumber_regs): Likewise.
	(leaf_renumber_regs_insn): Likewise.
	* flow.c (find_label_refs): Use INSN_P.
	(verify_wide_reg): Likewise.
	(notice_stack_pointer_modification): Likewise.
	(count_or_remove_death_notes): Likewise.
	(verify_flow_info): Likewise.
	(clear_log_links): Likewise.
	* function.c (fixup_var_refs_insns): Use INSN_P.
	(compute_insns_for_mem): Likewise.
	* gcse.c (alloc_gcse_mem): Use INSN_P.
	(compute_sets): Likewise.
	(compute_hash_table): Likewise.
	(classic_gcse): Likewise.
	(cprop): Likewise.
	(insert_insn_end_bb): Likewise.
	(delete_null_pointer_checks_1): Likewise.
	* global.c (expand_preferences): Use INSN_P.
	(build_insn_chain): Likewise.
	* graph.c (node_data): Use INSN_P.
	* haifa-sched.c (priority): Use INSN_P.
	(rm_line_notes): Likewise.
	(rm_other_notes): Likewise.
	(find_insn_reg_weight): Likewise.
	(init_target_units): Likewise.
	(schedule_block): Likewise.
	(compute_block_forward_dependences): Likewise.
	(debug_dependencies): Likewise.
	(set_priorities): Likewise.
	* integrate.c (function_cannot_inline_p): Use INSN_P.
	(save_parm_insns): Likewise.
	(copy_insn_list): Likewise.
	* jump.c (mark_all_labels): Use INSN_P.
	(never_reached_warning): Likewise.
	* lcm.c (optimize_mode_switching): Use INSN_P.
	* local-alloc.c (validate_equiv_mem): Use INSN_P.
	(memref_used_between_p): Likewise.
	(update_equiv_regs): Likewise.
	(block_alloc): Likewise.
	(no_conflict_p): Likewise.
	* loop.c (scan_loop): Use INSN_P.
	(find_and_verify_loops): Likewise.
	(count_loop_regs_set): Likewise.
	(loop_reg_used_before_p): Likewise.
	(strength_reduce): Likewise.
	(recombine_givs): Likewise.
	(check_dbra_loop): Likewise.
	(load_mems): Likewise.
	(try_copy_prop): Likewise.
	* print-rtl.c (print_rtx): Use INSN_P.
	* recog.c (find_single_use): Use INSN_P.
	* reg-stack.c (stack_regs_mentioned): Use INSN_P.
	(next_flags_user): Likewise.
	(swap_rtx_condition): Likewise.
	* regmove.c (mark_flags_life_zones): Use INSN_P.
	(optimize_reg_copy_1): Likewise.
	(optimize_reg_copy_2): Likewise.
	(optimize_reg_copy_3): Likewise.
	(reg_is_remote_constant_p): Likewise.
	(fixup_match_2): Likewise.
	(regmove_optimize): Likewise.
	(fixup_match_1): Likewise.
	* regrename.c (build_def_use): Use INSN_P.
	(replace_reg_in_block): Likewise.
	(consider_use): Likewise.
	* reload.c (find_equiv_reg): Use INSN_P.
	* reload1.c (reload): Use INSN_P.
	(maybe_fix_stack_asms): Likewise.
	(calculate_needs_all_insns): Likewise.
	(reload_as_needed): Likewise.
	(emit_output_reload_insns): Likewise.
	(delete_address_reloads_1): Likewise.
	(reload_cse_regs_1): Likewise.
	(reload_combine): Likewise.
	(reload_cse_move2add): Likewise.
	* reorg.c (redundant_insn): Use INSN_P.
	(dbr_schedule): Likewise.
	* resource.c (find_dead_or_set_registers): Use INSN_P.
	(mark_target_live_regs): Likewise.
	* rtlanal.c (reg_used_between_p): Use INSN_P.
	(reg_referenced_between_p): Likewise.
	(reg_set_between_p): Likewise.
	(reg_set_p): Likewise.
	(single_set): Likewise.
	(multiple_sets): Likewise.
	(find_last_value): Likewise.
	(reg_set_last): Likewise.
	(find_reg_note): Likewise.
	(find_regno_note): Likewise.
	* sibcall.c (sequence_uses_addressof): Use INSN_P.
	* simplify-rtx.c (cselib_process_insn): Use INSN_P.
	* ssa.c (find_evaluations): Use INSN_P.
	(rename_block): Likewise.
	(rename_equivalent_regs): Likewise.
	* unroll.c (loop_find_equiv_value): Use INSN_P.
	(set_dominates_use): Likewise.
	* varasm.c (mark_constant_pool): Use INSN_P.
	(mark_constants): Likewise.
	* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
	(alphaev4_next_group): Likewise.
	(alphaev5_next_group): Likewise.
	* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
	(c4x_rptb_rpts_p): Likewise.
	* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
	* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
	(rs6000_adjust_priority): Likewise.
	* config/sh/sh.c (sh_loop_align): Use INSN_P.
	(machine_dependent_reorg): Likewise.
	(split_branches): Likewise.
	* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.

From-SVN: r35494
2000-08-04 14:28:08 -06:00
Richard Henderson f6a0cc964a * print-rtl.c (print_rtx): Emit space before mem alias set.
From-SVN: r34556
2000-06-14 14:04:42 -07:00
Jeffrey A Law c558850470 print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC to print the alias set.
* print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
        to print the alias set.
        * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.

From-SVN: r34507
2000-06-12 17:08:05 -06:00
Richard Henderson e087aeb2b9 print-rtl.c (reg_names): Remove const.
* print-rtl.c (reg_names): Remove const.
        * regclass.c (reg_names): Likewise.
        * regs.h (reg_names): Likewise.
        * hard-reg-set.h (reg_names): Likewise.

From-SVN: r34225
2000-05-27 20:24:57 -07:00
Zack Weinberg fbd4035990 top level:
* diagnostic.c: Eliminate implicit int.
	* except.c, gcc.c: Add static prototypes.
	* final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
	* gensupport.c (process_rtx): Use XVEC to initialize vector
	slot of 'split'.

	* print-rtl.c: If DEBUG_REGISTER_NAMES, define static
	debug_reg_names instead of static reg_names.  If not, define
	global reg_names.
	* regclass.c: Don't define global reg_names unless
	DEBUG_REGISTER_NAMES is defined.

	* reload1.c (order_regs_for_reload): Remove unused variable.
	* varasm.c: Include output.h after defaults.h.  Define
	eh_frame_section as function of no args, not of unspecified args.

	* gcc.c: Constify argbuf; arguments to store_arg,
	process_command, main; elements of struct command and struct
	switchstr; local variables in execute, process_command, main.

cp:
	* except.c: Add static prototypes.

From-SVN: r34054
2000-05-20 19:45:36 +00:00
Richard Kenner efc9bd412d cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
* cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
	* reload.c (find_equiv_reg): Likewise.
	* alias.c (init_alias_analysis): Likewise.
	Only call prologue_epilogue_contains on insns.
	* basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
	* bb-reorder.c (hard-reg-set.h): Include earlier.
	* haifa-sched.c (hard-reg-set.h): Likewise.
	* ifcvt.c (hard-reg-set.h): Likewise.
	* local-alloc.c (hard-reg-set.h): Likewise.
	* loop.c (hard-reg-set.h): Likewise.
	* predict.c (hard-reg-set.h): Likewise.
	* regrename.c (hard-reg-set.h): Likewise.
	* flow.c (hard-reg-set.h): Likewise.
	(reg_set_to_hard_reg_set): New function.
	* bitmap.c (regs.h, basic-block.h): No longer include.
	(bitmap.h): Now include.
	* conflict.c (hard-reg-set.h): Include.
	* profile.c (hard-reg-set.h): Likewise.
	* print-rtl.c (hard-reg-set.h): Likewise.
	* sbitmap.c (hard-reg-set.h): Likewise.
	* toplev.c (hard-reg-set.h): Likewise.
	* unroll.c (hard-reg-set.h, basic-block.h): Likewise.
	* hard-reg-set.h (reg_names): Now constant.
	* regs.h (reg_names): Likewise.
	* regclass.c (reg_names): Likewise.
	* loop.h (basic-block.h): No longer include.
	(bitmap.h): Now include.
	* reload1.c (order_regs_for_reload): Avoid loop over reg sets.
	* Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
	(toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.

From-SVN: r34039
2000-05-19 18:27:28 -04:00
Jakub Jelinek 21835d9b74 print-rtl.c (print_rtx): Only print note line number as string if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
* print-rtl.c (print_rtx): Only print note line number as string
	if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
	* final.c (final_scan_insn): Do nothing for note line number 0.

From-SVN: r33997
2000-05-18 21:26:57 +02:00
Richard Henderson be1bb65263 Makefile.in (final.o): Depend on BASIC_BLOCK_H.
* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
	* final.c (final_end_function): Use app_disable.  Rearrange note
	handling into a switch.  Emit deleted labels.
	(output_asm_label): Generate label strings for deleted labels.
	* flow.c (tail_recursion_label_list): New.
	(find_basic_blocks_1): Set label_value_list directly.  Collect list
	of tail recursion labels from call_placeholders.  Don't add deleted
	labels to the label value list.
	(cleanup_cfg): Use free_EXPR_LIST_list.
	(flow_delete_insn_chain): Turn non-removable labels into notes.
	(flow_delete_block): Don't disable deleting the block because of
	a non-removable label.
	(tail_recursion_label_p): New.
	(merge_blocks_move_predecessor_nojumps): Don't disable the merge
	because of a label.
	(merge_blocks_move_successor_nojumps): Likewise.  Also move a
	jump table.
	(merge_blocks): Disable a merge because of tail recursion labels.
	* ifcvt.c (merge_if_block): Don't disable a merge because of a label.
	Use a more accurate measure of not merging the join block.
	(find_if_block): Don't disable conversion because of a label.
	(find_if_case_1, find_if_case_2): Likewise.
	* jump.c (duplicate_loop_exit_test): Preserve the kind of list
	element when copying.
	(squeeze_notes): Also leave EH notes.
	(mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
	REG_LABEL notes.
	(delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
	deleting a label.
	* print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
	NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
	referring to a deleted label.  Convert tail handling to a switch.
	* rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
	for NOTE_INSN_DELETED_LABEL.
	(NOTE): Fix commentary.
	* rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
	(REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
	(CODE_LABEL_NUMBER, LABEL_NAME): Update index.
	(LABEL_NUSES, LABEL_REFS): Likewise.
	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.

From-SVN: r33876
2000-05-12 09:26:15 -07:00
Richard Kenner b3b42a4db6 rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
* rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
	* rtl.h: Likewise.
	* rtl.def: Update comment.
	* function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
	* integrate.c (expand_inline_function): Likewise.
	* profile.c (branch_prob): Likewise.
	* ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
	* print-rtl.c (print_rtx): Likewise.
	* haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
	(reemit_notes): Likewise; also use enum insn_note.

From-SVN: r33314
2000-04-21 15:32:10 -04:00
Richard Henderson 994a57cd28 builtins.c (expand_builtin_expect): New.
* builtins.c (expand_builtin_expect): New.
        (expand_builtin): Call it.
        * builtins.def (BUILT_IN_EXPECT): New.
        * c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect.
        * extend.texi: Document it.

        * predict.c (expected_value_to_br_prob): New.
        (find_expected_value): New.
        * basic-block.h (expected_value_to_br_prob): Declare.
        * toplev.c (rest_of_compilation): Invoke it.

        * rtl.h (NOTE_EXPECTED_VALUE): New.
        (NOTE_INSN_EXPECTED_VALUE): New.
        * rtl.c (note_insn_name): Update.
        * print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special
        cases; handle NOTE_INSN_EXPECTED_VALUE.

From-SVN: r33211
2000-04-17 09:49:00 -07:00
Richard Kenner 4c1545e441 print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK not yet set.
* print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
	not yet set.

From-SVN: r33156
2000-04-14 18:20:38 -04:00
Richard Kenner c3c6393606 print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the CALL_INSN from the normal case.
* print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
	CALL_INSN from the normal case.

From-SVN: r33103
2000-04-12 08:59:56 -04:00
Richard Henderson 4c85a96d6e ggc.h (struct rtx_def): Forward declare.
* ggc.h (struct rtx_def): Forward declare.

        * print-rtl.c (debug_rtx_range): New.
        * rtl.h (debug_rtx_range): Declare.

        * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.

From-SVN: r32996
2000-04-07 02:24:06 -07:00
Jakub Jelinek 4710d3eb4b real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not defined.
* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
	LONG_DOUBLE_TYPE_SIZE if not defined.
	Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
	LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
	* real.c: Likewise.
	* gengenrtl.c: Likewise.
	* print-rtl.c: Likewise.
	* rtl.c: Likewise.
	* config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
	MASK_LONG_DOUBLE_128.
	* config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
	* config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
	* config/sparc/linux64 (TARGET_DEFAULT): Likewise.
	(SUBTARGET_SWITCHES): Define.
	(CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
	with -mlong-double-128.
	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
	(CC1_SPEC): Include -mlong-double-{64,128} as needed.
	* config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
	(CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
	with -mlong-double-128.
	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
	* config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
	TARGET_LONG_DOUBLE_128): Define.
	* config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
	* config/sparc/sparc.c (sparc_override_options): Disallow 64bit
	long double on TARGET_ARCH64.

From-SVN: r32367
2000-03-06 19:51:52 +01:00
Geoff Keating f76ca83c3c print-rtl.c (print_rtx): Don't print addresses when flag_dump_unnumbered.
* print-rtl.c (print_rtx): Don't print addresses when
flag_dump_unnumbered.

From-SVN: r32079
2000-02-20 21:26:53 +00:00
Kaveh Ghazi 9311a396bc Update copyrights
From-SVN: r31465
2000-01-17 17:16:21 +00:00
Kaveh R. Ghazi 957e47632b print-rtl.c: PROTO -> PARAMS.
* print-rtl.c: PROTO -> PARAMS.
        * real.c: Likewise.
        * reg-stack.c: Likewise.
        * resource.c: Likewise.
        * sdbout.h: Likewise.
        * simplify-rtx.c: Likewise.
        * stor-layout.c: Likewise.
        * stupid.c: Likewise.
        * xcoffout.c: Likewise.
        * xcoffout.h: Likewise.

From-SVN: r31463
2000-01-17 16:01:04 +00:00
Kaveh R. Ghazi 913d08334a c-common.c (check_format_info): Don't call a variadic function with a non-literal format string.
* c-common.c (check_format_info): Don't call a variadic function
	with a non-literal format string.

	* c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.

	* c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
	pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
	Likewise.

	* cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
	Likewise.

	* collect2.c (collect_wait): Likewise.

	* dbxout.c (dbxout_type): Likewise.

	* gcc.c (do_spec_1): Likewise.

	* genemit.c (gen_insn, gen_expand): Likewise.

	* genrecog.c (write_switch, write_subroutine): Likewise.

	* mips-tfile.c (catch_signal, botch): Likewise.

	* print-rtl.c (print_rtx): Likewise.

	* toplev.c (default_print_error_function, report_error_function,
	_fatal_insn): Likewise.

From-SVN: r30666
1999-11-25 16:58:32 +00:00
Catherine Moore 8cd0faaf32 defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
        * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
        * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
        * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
        * jump.c (delete_unreferenced_labels): Don't delete if
        LABEL_ALTERNATE_NAME is set.
        * print-rtl.c (print_rtx): Dump alternate name.
        * rtl.def (CODE_LABEL): Change format to "iuuis00s".
        * rtl.h (LABEL_ALTERNATE_NAME): Define.
        * rtl.texi (LABEL_ALTERNATE_NAME): Document.
        * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.

From-SVN: r30382
1999-11-03 16:55:51 -05:00
Richard Henderson d5e3e85b18 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
From-SVN: r30024
1999-10-15 14:26:33 -07:00
Richard Henderson 556ffcc552 recog.c (pmode_register_operand): New.
* recog.c (pmode_register_operand): New.
        * recog.h: Declare it.
        * genrecog.c (pred_codes): Likewise.
        (special_mode_pred_table): Likewise.
        (validate_pattern): Don't warn no mode for address_operand.

        * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
        if the operand is not insn-like.

From-SVN: r29995
1999-10-14 18:52:29 -07: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
Mark Mitchell 1a4450c78f rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
* rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
	(NOTE_BLOCK): New macro.
	(NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
	* function.h (identify_blocks): CHange prototype.
	* function.c (identify_blocks): Simplify.
	(reorder_blocks): Likewise.
	* ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
	NOTE_INSN_BLOCK_{BEG,END}.
	* haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
	the list of saved notes if the note isn't a
	NOTE_INSN_BLOCK_{BEG,END}.
	(move_insn1): Use NOTE_EH_HANDLER in comment, rather than
	NOTE_BLOCK_NUMBER.
	(reemit_notes): Adjust recreation of notes to reflect new saved
	note structure.
	* print-rtl.c (print_rtx): Print the address of the BLOCK when
	printing a block note.
	* stmt.c (block_vector): Remove.
	(find_loop_tree_blocks): Simplify.
	(unroll_block_trees): Likewise.

From-SVN: r29441
1999-09-15 23:05:05 +00:00
Kaveh R. Ghazi 7adfcfed37 rtl.h (get_insn_name, [...]): Add prototypes.
* rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.

	* print-rtl.c (get_insn_name): Remove prototype.

	* toplev.h (progname): Declare const.

	* toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
	init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
	dump_sched_info, dump_local_alloc, regset_release_memory,
	print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
	error_with_file_and_line, error_with_decl, error_for_asm, error,
	fatal, warning_with_file_and_line, warning_with_decl, warning,
	pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
	Remove redundant prototypes.

	(notice, check_lang_option, report_file_and_line, vnotice,
	mark_file_stack): Add static prototype.
	(set_fatal_function): Add prototype.
	(vnotice, report_file_and_line, set_fatal_function,
	check_lang_option): Constify a char*.
	(main): Prototype.  Call return, not exit.

cp:

	* typeck2.c (ack): Don't declare progname.

From-SVN: r29433
1999-09-15 14:04:10 +00:00
Mark Mitchell bf43101eb6 except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER, not NOTE_BLOCK_NUMBER.
* except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
	not NOTE_BLOCK_NUMBER.
	(expand_eh_region_end): Likewise.
	(find_exception_handler_labels): Likewise.
	(scan_region): Likewise.
	(exception_optimize): Likewise.
	(update_rethrow_references): Likewise.
	(set_insn_eh_region): Likewise.
	* final.c (final_scan_insn): Likewise.
	* flow.c (make_edges): Likewise.
	* integrate.c (expand_inline_function): Likewise.
	* print-rtl.c (print_rtx): Likewise.

From-SVN: r29418
1999-09-14 23:51:34 +00:00
Richard Henderson a995e389c4 Replace insn_foo with insn_data.foo.
From-SVN: r29358
1999-09-12 05:46:08 -07:00
Jeff Law c5c7673583 Merge in gcc2-ss-010999
From-SVN: r29150
1999-09-06 23:49:18 -06:00
Zack Weinberg ef178af3a4 rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and bounds- check RTL accesses if --enable-checking.
1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>

	* rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
	bounds- check RTL accesses if --enable-checking.
	(RTVEC_ELT): Bounds check if --enable-checking.
	(XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
	XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
	(XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
	GET_NUM_ELEM.
	(X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
	X0BBDEF, X0ADVFLAGS):  New macros for accessing '0' slots of RTXes.

	(ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
	(NOTE_SOURCE_FILE): Use X0STR.
	(NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
	MEM_ALIAS_SET): Use X0INT.
	(NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
	JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
	Use X0EXP.
	* real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
	* rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
	(rtl_check_failed_bounds, rtl_check_failed_type1,
	rtl_check_failed_type2, rtvec_check_failed_bounds): New
	functions.
	(fancy_abort): Fix comment.

	* cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
	(cse_insn): Decrement LABEL_NUSES for jump target before
	deleting jump insn.
	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
	* final.c (alter_subreg): Compute regno before changing x to
	REG; set REGNO(x) after changing it.
	* flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
	notes containing CONST_INTs.
	(delete_eh_regions): Use NOTE_EH_HANDLER.
	* function.c (put_reg_into_stack): Make reg a MEM before
	initializing it.
	(fixup_var_refs_insns):  Save REG_NOTES (insn) in case we
	delete insn.
	(gen_mem_addressof): Make reg a MEM before initializing it.
	* integrate.c (copy_rtx_and_substitute): Copy '0' slots with
	X0WINT.
	* local-alloc.c (update_equiv_regs): Zap REG_NOTES before
	deleting an insn, not after.
	(block_alloc): Only look at PATTERN(insn) if we have to, and
	only if it's format class 'i'.
	* loop.c (check_dbra_loop): Check bl->biv->add_val is a
	CONST_INT before using its INTVAL.
	* print-rtl.c (print_rtx): Use X0STR.
	* regmove.c (fixup_match_1): Don't look at PATTERN of
	non-class-'i' insn chain elements.
	* reload.c (loc_mentioned_in_p): Take address of
	in->fld[1].rtx directly.
	* reload1.c (reload): Change reg to a MEM before initializing
	it.
	* varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
	have no names.
	* config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.

From-SVN: r29008
1999-08-31 19:39:10 +00:00
Kaveh R. Ghazi 6f7d635c0e rtl.h (rtx_format): Constify a char*.
* rtl.h (rtx_format): Constify a char*.

	* rtl.c (rtx_format): Likewise.
	(copy_rtx, copy_most_rtx, read_rtx): Likewise.
	(init_rtl): Use accessor macro, not `rtx_format'.

	* alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
	char*.

	* caller-save.c (mark_referenced_regs): Likewise.

	* combine.c (subst, make_compound_operation, known_cond,
	gen_rtx_combine, update_table_tick, get_last_value_validate,
	use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.

	* cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
	refers_to_p, canon_reg, fold_rtx, cse_process_notes,
	count_reg_usage): Likewise.

	* emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
	Likewise.

	* final.c (leaf_renumber_regs_insn): Likewise.

	* flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
	dump_edge_info, count_reg_references): Likewise.

	* function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
	fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
	Likewise.

	* gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
	oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
	add_label_notes): Likewise.

	* genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
	clear_struct_flag, count_sub_rtxs, count_alternatives,
	compares_alternatives_p, contained_in_p, walk_attr_value,
	write_expr_attr_cache): Likewise.

	* genconfig.c (walk_insn_part): Likewise.

	* genemit.c (max_operand_1, gen_exp): Likewise.

	* genextract.c (walk_rtx): Likewise.

	* genflags.c (num_operands): Likewise.

	* genoutput.c (scan_operands): Likewise.

	* genpeep.c (match_rtx): Likewise.

	* genrecog.c (add_to_sequence): Likewise.

	* haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
	Likewise.

	* integrate.c (save_constants, copy_for_inline,
	copy_rtx_and_substitute, subst_constants, restore_constants):
	Likewise.

	* jump.c  (mark_jump_label, invert_exp, redirect_exp,
	rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.

	* local-alloc.c (contains_replace_regs, memref_referenced_p):
	Likewise.

	* loop.c (record_excess_regs, rtx_equal_for_loop_p,
	add_label_notes, replace_call_address, count_nonfixed_reads,
	invariant_p, find_single_use_in_loop, find_mem_givs,
	find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
	Likewise.

	* print-rtl.c (reg_names, print_rtx): Likewise.

	* recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.

	* reg-stack.c (stack_regs_mentioned_p, record_label_references,
	record_reg_life_pat, swap_rtx_condition, goto_block_pat,
	print_blocks): Likewise.

	* regclass.c (fix_register, record_address_regs,
	reg_scan_mark_refs): Likewise.

	* regmove.c (stable_but_for_p): Likewise.

	* reload.c (loc_mentioned_in_p, operands_match_p,
	find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
	copy_replacements, refers_to_regno_for_reload_p,
	refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
	reload_when_needed_name, reg_class_names, debug_reload_to_stream):
	Likewise.

	* reload1.c (eliminate_regs, scan_paradoxical_subregs,
	delete_address_reloads_1, count_occurrences,
	reload_cse_mem_conflict_p, reload_combine_note_use,
	add_auto_inc_notes): Likewise.

	* resource.c (mark_referenced_resources, mark_set_resources):
	Likewise.

	* rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
	reg_mentioned_p, regs_set_between_p, modified_between_p,
	modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
	rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
	may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
	jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.

	* sched.c (sched_analyze_2, attach_deaths): Likewise.

	* stupid.c (stupid_mark_refs): Likewise.

	* unroll.c (remap_split_bivs): Likewise.

	* varasm.c (mark_constants): Likewise.

	* a29k/a29k.c (uses_local_reg_p): Likewise.

	* alpha/alpha.c (summarize_insn): Likewise.

	* arm/arm.c (symbol_mentioned_p, label_mentioned_p,
	eliminate_lr2ip): Likewise.

	* arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.

	* i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
	reg_mentioned_in_mem): Likewise.

	* ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
	symbolic_reference_mentioned_p): Likewise.

	* romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.

	* sh/sh.c (regs_used, mark_use): Likewise.

	* vax/vax.c (vax_rtx_cost): Likewise.

From-SVN: r28784
1999-08-20 23:05:25 +00:00
Zack Weinberg 8f985ec4c7 rtl.def (NOTE): Change format to "iuu0n".
1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>

	* rtl.def (NOTE): Change format to "iuu0n".
	(ADDR_DIFF_VEC): Change format to "eEee0".
	(ADDRESSOF): Change format to "eit".

	* rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
	(RTVEC_ELT): Change to match.
	(XVECEXP): Use XVEC and RTVEC_ELT.
	(INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
	ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
	(PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
	CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
	TRAP_CONDITION, TRAP_CODE): Use XEXP.
	(INTVAL): Use XWINT.
	(ADDRESSOF_DECL): Use XTREE.
	(SET_ADDRESSOF_DECL): Delete.
	(NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
	NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
	ifdefed out since 2.6 at least.
	(gen_rtvec_vv): Delete prototype.

	* rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
	not rtunion.
	(copy_most_rtx): Handle 't' format letter.
	* emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
	(gen_rtvec_vv): Delete function.  All callers changed to use
	gen_rtvec_v instead.
	* print-rtl.c (print_rtx): Move special casing of NOTEs to
	the '0' format letter.

	* function.c (gen_mem_addressof): Don't use
	SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
	instead.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	Copy 't' slots with XTREE.
	(subst_constants): Treat 't' slots like '[swi]' slots.
	* cse.c (canon_hash, exp_equiv_p): Treat 't' slots like	'0' slots.
	* jump.c (rtx_equal_for_thread_p): Likewise.
	* rtlanal.c (rtx_equal_p): Likewise.
	* stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
	only four arguments.
	* gengenrtl.c (type_from_format): Provide correct types for
	'b' and 't' slots.


	* tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
	If a recent gcc is in use (always in stage2 and beyond), use
	statement expressions, so we don't make a function call unless
	the check fails.  Evaluate arguments exactly once.
	(CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
	TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
	Delete.
	(CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
	they evaluate their arguments exactly once, irrespective of
	the compiler in use.

	* tree.c [ENABLE_CHECKING]: Define whichever set of functions
	is used by the currently-enabled check macros.  This is:
	(tree_check_failed, tree_class_check_failed): For gcc.
	(tree_check, tree_class_check, cst_or_constructor_check,
	expr_check): For other compilers.

	* gencheck.c: Do not define any *_CHECK1 macros.

From-SVN: r28769
1999-08-19 22:33:38 +00:00
Michael Meissner a6c7a886f4 Print the names of the hardcoded virtural registers
From-SVN: r28212
1999-07-21 23:53:09 +00:00
Nick Clifton 75c437de06 Display LABEL_NUSES when printing a code label
From-SVN: r26600
1999-04-23 09:44:28 +00:00
Nick Clifton 7b028dbadf Display constants as both decimal and hex values
From-SVN: r26141
1999-04-02 17:25:41 +00:00
Richard Henderson e881bb1b1b Flow rewrite to use basic block structures and edge lists.
From-SVN: r25450
1999-02-25 15:45:42 -08:00
Jeffrey A Law 5a25c64c25 * print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
From-SVN: r25442
1999-02-25 08:25:06 -07:00
Mark Mitchell c6df88cbec rtl.h (rtx_def): Update documentation.
* rtl.h (rtx_def): Update documentation.
	(MEM_IN_STRUCT_P): Likewise.
	(MEM_SCALAR_P): New macro.
	(MEM_COPY_ATTRIBUTES): Likewise.
	(MEM_SET_IN_STRUCT_P): Likewise.
	* rtl.texi (MEM_SCALAR_P): Document.
	* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
	(fixed_scalar_and_varying_struct_p): New function.  Use
	MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
	(aliases_everything_p): Likewise.
	(true_dependence): Use them.
	(write_dependence_p): New function, containing code common to
	anti_dependence and output_dependence.
	(anti_dependence): Use it.
	(output_dependence): Likewise.
	* calls.c (save_fixed_argument_area): Don't clear
	MEM_IN_STRUCT_P.
	(expand_call): Use MEM_SET_IN_STRUCT_P.
	(emit_library_call): Don't clear MEM_IN_STRUCT_P.
	(emit_library_call_value): Likewise.
	(store_one_arg): Use MEM_SET_IN_STRUCT_P.
	* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
	(make_extraction): Likewise.
	(simplify_shift_const): Likewise.
	(gen_lowpart_for_combine): Likewise.
	* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
	* emit-rtl.c (operand_subword): Likewise.
	(change_address): Likewise.
	* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
	* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
	(emit_group_store): Use MEM_SET_IN_STRUCT_P.
	(copy_blkmode_from_reg): Likewise.
	(store_field): Likewise.
	(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
	heuristically.  Use MEM_SET_IN_STRUCT_P.
	(get_memory_rtx): Likewise.
	* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
	* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
	MEM_ALIAS_SET on newly returned MEMs.
	(assign_temp): Use MEM_SET_IN_STRUCT_P.
	(put_reg_into_stack): Likewise.
	(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
	(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
	(assign_parms): Likewise.
	(expand_function): Likewise.
	* integrate.c (expand_inline_function): Likewise.
	(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
	* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
	* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
	* print-rtl.c (print_rtx): Print /f for frame_related.
	* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
	* reload1.c (reload): Copy MEM_SCALAR_P as well.
	* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
	(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
	* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
	(output_constant_def): Likewise.
	* a29k.c (a29k_set_memflags_1): Take scalar_p.
	Set MEM_SCALAR_P.
	(a29k_set_memflags): Use it.
	* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
	* c4x.c (c4x_scan_for_ld): Likewise.
	* h8300.c (fix_bit_operand): Likewise.
	* m88k.c (legitimize_address): Likewise.
	(block_move_loop): Likewise.
	(block_move_no_loop): Likewise.
	(block_move_sequence): Likewise.
	(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
	* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
	* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
	* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
	* arm.h (arm_gen_load_multiple): Take scalar_p.
	(arm_store_load_multiple): Likewise.
	* arm.c (arm_gen_load_multiple): Likewise.
	(arm_gen_store_multiple): Likewise.
	(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.

From-SVN: r24759
1999-01-19 10:32:33 +00:00
H.J. Lu 5edc923076 print-rtl.c (print_rtx): Add prototype.
* print-rtl.c (print_rtx): Add prototype.
        * unroll.c (iteration_info): Make it static.

From-SVN: r24116
1998-12-05 16:23:52 -07:00
Kaveh R. Ghazi 2778b98d90 system.h: Include libiberty.h.
* system.h: Include libiberty.h.
        * c-aux-info.c: Remove prototypes for concat/concat3.  Change
        function `concat' from fixed parameters to variable parameters,
        as is done in libiberty.  All callers of concat/concat3
        changed to use the new `concat' with variable args.
        * cccp.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * cexp.y: Likewise.
        * collect2.c: Likewise.
        * config/1750a/1750a.h: Likewise.
        * cppalloc.c: Likewise.
        * cppexp.c: Likewise.
        * cppfiles.c: Likewise.
        * cpphash.c: Likewise.
        * cpplib.c: Likewise.
        * dyn-string.c: Likewise.
        * fix-header.c: Likewise.
        * gcc.c: Likewise.
        * gcov.c: Likewise.
        * genattr.c: Likewise.
        * 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.
        * getpwd.c: Likewise.
        * halfpic.c: Likewise.
        * hash.c: Likewise.
        * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
        in NEED_DECLARATION_* macros.
        * mips-tfile.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        (fatal): Fix const-ification of variable `format' in
        !ANSI_PROTOTYPES case.
        * prefix.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
        conflicting with function `spaces' from libiberty.
        * profile.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * protoize.c: Likewise.
        * rtl.h: Likewise.
        * scan.h: Likewise.
        * tlink.c: Likewise.
        * toplev.c: Likewise.
        * toplev.h: Likewise.
        * tree.h: Likewise.

From-SVN: r23931
1998-11-27 10:09:17 +00:00
Ulrich Drepper 735a0e3356 Ulrich Drepper <drepper@cygnus.com>
Ulrich Drepper  <drepper@cygnus.com>
        * Makefile.in (OBJS): Add graph.o
        (graph.o): New dependency list.
        * flags.h: Declare dump_for_graph and define graph_dump_types type.
        * print-rtl.c (dump_for_graph): Define new variable.
        (print_rtx): Rewrite to allow use in graph dumping functions.
        * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
        finish_graph_dump_file.
        Define graph_dump_format.
        (compile_file): If graph dumping is enabled also clear these files.
        Finish graph dump files.
        (rest_of_compilation): Also dump graph information if enabled.
        (main): Recognize -dv to enabled VCG based graph dumping.
        * graph.c: New file.  Graph dumping functions.

From-SVN: r23813
1998-11-23 08:41:12 -08:00
Jeff Law 3fffed0742 Forgot to commit last night.
From-SVN: r23540
1998-11-05 06:37:43 -07:00
J"orn Rennecke b707b4509b Cleanup for -fdump-unnumbered:
* flags.h (flag_dump_unnumbered): Declare.
	* toplev.c (flag_dump_unnumbered): Don't declare.
	* print-rtl.c (flags.h): Include.
	(print_rtl_single): Add return value.
	* rtl.h (print_rtl_single): Update declaration.
	* flow.c (flag_dump_unnumbered): Don't declare.
	(print_rtl_with_bb): Use return value of print_rtl_single.

From-SVN: r22865
1998-10-06 10:03:38 +01:00
Bernd Schmidt 5a0a1a6674 * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
From-SVN: r22366
1998-09-09 14:59:53 -06:00
Richard Henderson da2ec29a6c print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
�
        * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
        * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
        and NOTE_INSN_RANGE_END specially.
        (reemit_notes): Likewise.

From-SVN: r22126
1998-08-31 03:55:30 -06:00
John Carr c6b0465b28 sparc.c, [...]: New trampoline code.
Mon Jul 13 16:15:10 1998  John Carr  <jfc@mit.edu>
	* sparc.c, sparc.h, sparc.md: New trampoline code.
	Allow integer operand 1 to V8+ DImode shift instructions.
	Fix bugs in V8+ wide multiply patterns.
	In 32 bit mode, split DImode register moves and logical instructions.
	Write V9 branch prediction flag.
	Use V9 conditional move more often for scc.
	* print-rtl.c (print_rtx): Use HOST_PTR_PRINTF to print pointer.

From-SVN: r21108
1998-07-13 16:53:32 +00:00
Jeffrey A Law 5dd2add607 * print-rtl.c (print_rtx): Revert previous patch.
From-SVN: r21019
1998-07-08 17:44:15 -06:00
Jeffrey A Law 29b1f8628f * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
From-SVN: r20989
1998-07-07 03:09:31 -06:00
Richard Henderson 61632854ea print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE is a double.
* print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
        is a double.

From-SVN: r20988
1998-07-07 01:42:42 -07:00