Commit Graph

54 Commits

Author SHA1 Message Date
Jeffrey A Law
55a98783c8 flow.c (flow_delete_insn): If we delete a CODE_LABEL...
* flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
	it from the nonlocal_goto_handler_labels list.
	* jump.c (delete_insn): Likewise.
	(jump_optimize_1): Also recompute LABEL_NUSES when we are just
	marking labels.
	* rtl.h (remove_node_from_expr_list): Declare.
	* rtlanal.c (remove_node_from_expr_list): New function.

From-SVN: r26361
1999-04-11 20:18:55 -06:00
Kaveh R. Ghazi
3228bc05fc Warning fixes:
* recog.h (insn_outfun, insn_operand_predicate): Add prototype
        arguments.
        * rtl.h (note_stores): Likewise.
        * rtlanal.c (note_stores): Likewise.

From-SVN: r26045
1999-03-28 17:33:22 +00:00
Michael Hayes
2dfa9a87f6 rtlanal.c (auto_inc_p): New function.
* rtlanal.c (auto_inc_p): New function.
        * rtl.h (auto_inc_p): Prototype it.
	* reload1.c (add_auto_inc_notes): New function.
	(reload): Strip REG_INC notes and call add_auto_inc_notes
	for each insn to restore them correctly.

From-SVN: r25774
1999-03-15 01:52:49 +00:00
J"orn Rennecke
f38cbf0fd3 rtl.h (insn_first_p): Don't declare.
* rtl.h (insn_first_p): Don't declare.
	* rtlanal.c (insn_first_p): Delete.
	* loop.c (loop_insn_first_p): Faster implementation.

From-SVN: r25436
1999-02-25 11:16:17 +00:00
Andrew MacLeod
89d3d44249 loop.c (libcall_other_regs): Make extern.
* loop.c (libcall_other_regs): Make extern.
	* rtl.h (find_last_value): Add parameter to prototype.
	(libcall_other_reg): Add extern declaration.
	* rtlanal.c (find_last_value): Add another parameter to allow
	a definition using a hardware register to be found as well.

From-SVN: r25378
1999-02-22 14:11:58 +00:00
J"orn Rennecke
1cb1fe6699 rtlanal.c (insn_first_p): Fix return value for insn == reference.
* rtlanal.c (insn_first_p): Fix return value for insn == reference.
	* loop.c (strength_reduce, check_final_value, check_dbra_loop):
	Use loop_insn_first_p.

From-SVN: r25321
1999-02-19 14:49:59 +00:00
Mark Mitchell
ef30399b50 rtlanal.c (for_each_rtx): Fix declaration to conform to GNU coding standards.
* rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
	coding standards.

From-SVN: r25125
1999-02-10 09:56:36 +00:00
Richard Henderson
777b1b71a3 Missed from last commit.
From-SVN: r24987
1999-02-02 13:49:34 -08:00
Joern Rennecke
5e5c976894 Happy new year.
From-SVN: r24896
1999-01-28 15:36:05 +00:00
J"orn Rennecke
3ec2b59097 rtl.h (insn_first_p): Declare.
* rtl.h (insn_first_p): Declare.
	* rtlanal.c (insn_first_p): New function.
	* loop.h (varray.h): Include.
	(struct induction): Change combined_with to unsigned.
	New members derived, ix and last_use.
	(reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
	(REG_IV_TYPE, REG_IV_INFO): Define.
	(first_increment_giv, last_increment_giv): Declare.
	* loop.c (loop_number_loop_cont): New static variable.
	(loop_number_cont_dominator): Likewise.
	(reg_iv_type, reg_iv_info): Now varray_type.
	(first_increment_giv, last_increment_giv): New variables.
	(compute_luids, verify_dominator, find_life_end): New functions.
	(cmp_recombine_givs_stats, recombine_givs): Likewise.
	(loop_optimize): Allocate loop_number_loop_cont and
	loop_number_cont_dominator.  Use compute_luids.
	(find_and_verify_loops): Initialize loop_number_loop_cont and
	loop_number_cont_dominator.
	(strength_reduce): Try to find bivs that can be expressed as givs
	of another biv, and to convert biv increments into givs.
	Call recombine_givs.  Handle derived givs.
	(record_biv): New argument location.  All callers changed.
	(record_giv): Initialize derived and last_use fields.
	(basic_induction_var): New argument location.  All callers changed.
	(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
	Increment combined_with instead of setting to 1.
	* unroll.c (derived_regs): New static variable.
	(unroll_loop): Initialize it.
	Allocate local_regno according to max_reg_num.
	(copy_loop_body): Cope with derived givs.
	(find_splittable_givs): Check for Givs made from biv increments.
	Set derived_regs for givs.
	* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .

From-SVN: r24889
1999-01-27 15:45:50 +00:00
Nick Clifton
cae8acdde0 Fix obvious typo that produced compile time warning.
From-SVN: r24397
1998-12-22 15:17:13 +00:00
Jeff Law
5f7d3786ea rtl.h (multiple_sets): Fix prototype.
* rtl.h (multiple_sets): Fix prototype.
        * rtlanal.c (multiple_sets): Fix return type.

From-SVN: r24304
1998-12-13 17:42:39 -07:00
Jeffrey A Law
941c63ac30 rtlanal.c (multiple_sets): New function.
* rtlanal.c (multiple_sets): New function.
        * rtl.h (multiple_sets): Declare it.
        * local-alloc.c (wipe_dead_reg): Use it.
        * global.c (global_conflicts): Likewise.
Should fix the m68k bootstrap problems.

From-SVN: r24283
1998-12-12 16:03:54 -07:00
Richard Henderson
a2e1a0bf9e rtlanal.c (regs_set_between_p): New function.
* rtlanal.c (regs_set_between_p): New function.
        * rtl.h (regs_set_between_p): Prototype it.
        * jump.c (jump_optimize): Use it instead of modified_between_p
        in the Sep 2 change.

From-SVN: r23888
1998-11-25 16:21:27 -08:00
Bernd Schmidt
6764d250ec flow.c (life_analysis_1): Do not clobber regs_ever_live after reload.
* flow.c (life_analysis_1): Do not clobber regs_ever_live after
        reload.  Never perform rescans of the insn chain after reload.
        (propagate_block): Do not delete insn or create new autoinc addressing
        modes after reload.
        * jump.c (jump_optimize): Unconditionally use the code that was
        previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
        * reload1.c (reload): When reloading is finished, delete all
        REG_DEAD and REG_UNUSED notes.
        (emit_reload_insns): Delete all code that was conditional on
        PRESERVE_DEATH_INFO_REGNO_P.
        (no_longer_dead_regs): Delete variable.
        (reload_cse_delete_death_notes): Delete function.
        (reload_cse_no_longer_dead): Delete function.
        (reload_cse_regs_1): Delete all code to handle deletion of death
        notes.
        (reload_cse_noop_set_p): Likewise.
        (reload_cse_simplify_set): Likewise.
        (reload_cse_simplify_operands): Likewise.
        (reload_cse_move2add): Likewise.
        * reorg.c (used_spill_regs): Delete declaration.
        (max_label_num_after_reload): Delete declaration.
        (find_dead_or_set_registers): Don't assume that spill regs are
        dead at a CODE_LABEL.
        * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
        even after reload.
        * sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * haifa-sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
        * toplev.c (max_label_num_after_reload): Delete variable.
        (rest_of_compilation): Don't set max_label_num_after_reload.
        Call life_analysis after reload_cse_regs if optimizing.
        * config/gmicro/gmicro.h: Delete comment referring to
        PRESERVE_DEATH_INFO_REGNO_P.
        * config/i386/i386.h: Likewise.
        * config/m88k/m88k.h: Likewise.
        * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
        * config/sh/sh.h: Likewise.
Accurate REG_DEAD notes after reload.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r23120
1998-10-15 18:08:51 -06:00
Jeffrey A Law
ae0b51efbd rtl.h: Delete duplicate prototypes.
* rtl.h: Delete duplicate prototypes.  Add some missing
        prototypes.
        * rtlanal.c: (for_each_rtx): Formatting tweak.

From-SVN: r23069
1998-10-13 17:41:11 -06:00
David S. Miller
c0222c217b More multi-register structure return recognition fixes and:
* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.

From-SVN: r22396
1998-09-11 20:45:22 -07:00
David S. Miller
86465af734 flow.c (mark_set_1): Recognize multi-register structure return values in CALL insns.
* flow.c (mark_set_1): Recognize multi-register structure return
	values in CALL insns.
	(mark_used_regs): Likewise.
	(count_reg_sets_1): Likewise.
	(count_reg_references):	Likewise.
	* rtlanal.c (note_stores): Likewise.

From-SVN: r22395
1998-09-11 18:03:36 -07:00
Mark Mitchell
ccc2d6d079 * rtlanal.c (for_each_rtx): Check in the change mentioned below.
From-SVN: r21855
1998-08-19 13:44:57 +00:00
Vladimir N. Makarov
1ed0205e35 cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM.
�
	* cse.c (cse_insn): Enable subsitution inside libcall only for REG,
	SUBREG, MEM.
	* rtlanal.c (replace_rtx): Prohibit replaces in	CONST_DOUBLE.

From-SVN: r21435
1998-07-28 12:54:04 +00:00
Jeffrey A Law
b98b49ac72 rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.
* rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
        either argument is CONSTANT_P, then return zero.
        * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.

From-SVN: r21005
1998-07-07 19:58:58 -06:00
Michael Meissner
ae78d2768e rtlanal.c (find_reg_note): Ignore notes that are not on on insns of class 'i'.
* rtlanal.c (find_reg_note): Ignore notes that are not on on
        insns of class 'i'.
        (find_regno_note): Likewise.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r19733
1998-05-13 16:10:04 -06:00
Kaveh R. Ghazi
d6f4ec5199 Warning fixes:
* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
	(c-lex.o): Depend on output.h.
	(c-common.o): Likewise.
	(stmt.o): Likewise.
	(calls.o): Likewise.
	(integrate.o): Depend on toplev.h.
	(regclass.o): Depend on output.h.
	(final.o): Depend on reload.h.
	* c-common.c: Include output.h.
	(check_format_info): Remove unused variable `integral_format'.
	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
	`indent' with ATTRIBUTE_UNUSED.
	(print_lang_type): Likewise.
	(maybe_build_cleanup): Likewise for parameter `decl'.
	(copy_lang_decl): Likewise for parameter `node'.
	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
 	with ATTRIBUTE_UNUSED.
	(lookup_interface): Likewise for parameter `arg'.
	(is_class_name): Likewise.
	(maybe_objc_check_decl): Likewise for parameter `decl'.
	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
	`reflexive'.
	(maybe_objc_method_name): Likewise for parameter `decl'.
	(build_objc_string): Likewise for parameters `len' and `str'.
	* c-lex.c: Include output.h.
	* c-lex.h (position_after_white_space): Correct typo in prototype.
	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
 	c_expand_end_cond, init_iterators): Add prototypes.
	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
	with ATTRIBUTE_UNUSED.
	* calls.c: Include output.h.
	* cccp.c (pipe_closed): Mark parameter `signo' with
 	ATTRIBUTE_UNUSED.
	* combine.c: Move inclusion of expr.h to after insn-config.h.
	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
	as empty, rather define as ((void)0).
	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
	Add parentheses around assignment used as truth value.
	* cplus-dem.c (squangle_mop_up): Change return type to void.
	(internal_cplus_demangle): Remove unused parameter `options'.
	All callers changed.
	(cplus_demangle_opname): Remove function wide variable `int i' and
 	replace with `size_t i' at each location where it is used.
	(cplus_demangle_opname): change type of `i' from int to size_t.
	* cppexp.c (right_shift): Mark parameter `pfile' with
	ATTRIBUTE_UNUSED.
	* cpphash.c (cpp_lookup): Likewise.
	(cpp_hash_cleanup): Likewise.
	* cpplib.c (parse_name): Add a prototype and make it static.
	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
	(macro_cleanup): Likewise for parameter `pfile'.
	(file_cleanup): Likewise.
	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
 	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
	* cse.c (cse_check_loop_start): Mark parameter `set' with
 	ATTRIBUTE_UNUSED.
	* dbxout.c (flag_minimal_debug, have_used_extensions,
	source_label_number): Move inside macro wrapper check against
	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
	* except.h (doing_eh): Provide prototype.
	* expr.c: Move inclusion of expr.h to after insn-config.h.
	* final.c: Include reload.h.
	(shorten_branches): Cast the first argument of bzero to char *.
	* fix-header.c (cpp_print_containing_files): Mark parameter
 	`pfile' with ATTRIBUTE_UNUSED.
	(cpp_fatal): Likewise.
	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
	to char *.
	* genattrtab.c (make_length_attrs): Change the type of variable
	`i' from int to size_t.
	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
	(one_fn): Likewise.
	* genextract.c (main): When generating insn-extract.c, mark
	variable `junk' with ATTRIBUTE_UNUSED.
	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
	argument of bzero to char*.
	* integrate.c: Include toplev.h.
	* libgcc2.c: Wrap `struct exception_table' and
	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
	* objc/objc-act.c: Include toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
	with ATTRIBUTE_UNUSED.
	(finish_protocol): Likewise for parameter `protocol'.
	* output.h (declare_weak): Add prototype.
	(decode_reg_name): Don't wrap with TREE_CODE macro.
	(assemble_alias): Add prototype.
	* regclass.c: Include output.h.
	* reload.h (reloads_conflict): Add prototype.
	* rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
	output_func_start_profiler): Add prototypes.
	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
 	ATTRIBUTE_UNUSED.
	* scan-decls.c: Include scan.h.
	* scan.h (recognized_function, recognized_extern): Add prototypes.
	* stmt.c: Include output.h.
	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
	(output_lang_identify): Hide prototype and definition.
	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
	(pipe_closed): Likewise.
	* toplev.h (count_error, strip_off_ending, error_for_asm,
 	warning_for_asm): Add prototypes.

From-SVN: r19712
1998-05-13 12:40:39 +00:00
Jeff Law
0e05e8ea12 varasm.c (asm_output_bss): Add prototype.
* varasm.c (asm_output_bss): Add prototype.
        (asm_output_aligned_bss): Likewise.
        * unroll.c (verify_addresses): Add prototype.
        * toplev.c: Add many prototypes.  Too many to mention here.
        * stmt.c (check_seenlabel): Add prototype.
        * rtlanal.c (reg_set_p_1): Add prototype.
        (reg_set_last_1): Likewise.
        * reorg.c (find_dead_or_set_registers): Add prototype.
        * regmove (try_auto_increment): Add prototype.
        * regstack.c (pop_stack): Add prototype.

From-SVN: r19254
1998-04-16 18:40:39 -06:00
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Kaveh R. Ghazi
670ee92097 Major cutover to using system.h:
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
        c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
        caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
        dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
        expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
        integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
        prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
        reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
        rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
        tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
        on system.h.
        * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
        c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
        caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
        dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
        expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
        integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
        prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
        reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
        rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
        stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
        xcoffout.c: Include system.h.  Organize include ordering so
        that stdarg/varargs comes before other system headers.  Remove
        spurious casts of functions assured of a prototype in system.h.

From-SVN: r18726
1998-03-20 14:58:42 +00:00
Robert Lipe
2e6a59892b Rats. Forgot to change copyrights on the first commit.
From-SVN: r17902
1998-02-13 05:40:34 +00:00
Robert Lipe
69d4ca36f4 c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors.
* c-lang.c (finish_file): Bracket declaration of static_ctors,
	static_dtors.
	* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
	'old_stack_arg_under_construction'
	(emit_library_call): Bracket declaration of 'upper_bound',
	'lower_bound', 'i', 'reg_parm_stack_space'
	(emit_library_call_value): Likewise.
	(store_one_arg):
	* collect2.c: include <unistd.h> when appropriate.
	Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
	* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
	* explow.c (plus_constant_for_output_wide): Remove unused variable
	'code'.
	(memory_address): Remove unused variable 'orig_x'.
	* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
	(write_const_num_delay_slots): Remove unused variable 'i'.
	* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
	(gen_insn): Remove unused variable 'obstack_ptr'.
        * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
        'j', 'tmp', 'i'.
	(__bb_exit_trace_func): Remove unused variable 'e'.
	* optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
	'funexp'.
	(expand_unop): Remove unused variable 'funexp'.
	(expand_complex_abs): Remove unused variable 'funexp'.
	(init_optabs): Bracket declaration of 'j'.
	(init_complex_libfuncs): Deleted.  Dead static function.
	* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
	* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
	(reg_to_stack): 'initialized', 'before_function_beg'
	explictly type as ints instead of defaulting.
	(emit_swap_insn): Remove unused variable 'i2'.
	(compare_for_stack_reg): Remove unused variable 'src_note'.
	* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
	* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
	* stmt.c (add_case_node): Add parens for assignment used as truth.
	(all_cases_count):  Remove unused variable 'count_high'.
	(mark_seen_cases): Remove unused variable 'i'.
	(check_for_full_enumeration_handling): Remove unused variable 't'.
	Bracket declaration of  'all_values', 'l'.
	* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
	* varasm.c (assemble_string): Remove unused variable 'i'.
	(immed_double_const): Remove unused variable 'in_current_obstack'.
	(immed_real_const_1): Likewise.
	(output_constant_pool): Remove unreferenced label 'done'.
	(output_constant): Remove unused variable 'x'.
        * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
        a string.
        * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
        as truth.

From-SVN: r17901
1998-02-13 05:30:56 +00:00
Mike Stump
21ca87b81b rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload completes.
* rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
        reload completes.
        * genattrtab.c (reload_completed): Define.
        * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
        comments.

From-SVN: r17542
1998-01-28 12:21:54 -07:00
Kaveh R. Ghazi
1d300e19b6 bitmap.c (bitmap_clear): Ensure `inline' is at the beginning of the declaration.
* bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
        of the declaration.
        * c-decl.c (finish_decl): Use parentheses around && within ||.
        * rtl.c: Include stdlib.h.
        (read_skip_spaces): Add parentheses around assignments used as
        truth values.
        (read_rtx): Initialize list_rtx.
        * cppexp.c (parse_number): Use || when operands are truth values.
        * alias.c (find_base_value): Add default case.
        (memrefs_conflict): Likewise.
        * combine.c (sets_function_arg_p): Likewise.
        * genemit.c (gen_exp): Likewise.
        * local-alloc.c (contains_replace_regs): Likewise.
        * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
        * fold-const.c (fold_convert): Use "&&" for truth values.
        (fold): Add default case.
        * sdbout.c (sdbout_field_types): Fix typo in declaration.
        (sdbout_one_type): Add default case.
        * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
        (some_operand): Add default case.
        (input_operand): Likewise.
        (signed_comparison_operator): Likewise.
        (divmod_operator): Likewise.
        (alpha_set_memflags_1): Likewise.
        * reload1.c (reload_cse_simplify_operands): Ensure function
        always returns a value.
        * scan-decls.c (scan_decls): Likewise.
        * c-lex.c (skip_white_space): Fix typo in declaraion.
        * c-typeck.c (comp_target_types): Add parentheses around assignment
        used as truth value.
        (print_spelling): Likewise.
        (constructor_implicit, constructor_result): Remove unused variables.
        * collect2.c (scan_library): Protect prototype with
        #ifdef SCAN_LIBRARIES.
        * emit-rtl.c (find_line_note): Fix typo in declaration.
        * final.c (asm_insn_count): Protect prototype with
        #ifdef HAVE_ATTR_length.
        * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
        (try_pre_increment_1, try_pre_increment): Likewise.
        * regclass.c (auto_inc_dec_reg_p): Protect prototype with
        #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
        * gcov-io.h (__store_long, __write_long, __read_long): Fix
        unsigned/signed comparisons.
        * gcov.c (read_files): Remove unused "first_type" variable.
        (scan _for_source_files): Initialize s_ptr.
        (function_summary): Eliminate "%lf" formatting, use %ld for
        longs.
        (output_data): Initialize branch_probs and last_line_num.
        Eliminate "%lf" formatting, use "%ld" for longs.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r17158
1997-12-20 04:31:54 -07:00
Jeff Law
e9a25f70a0 Update mainline egcs to gcc2 snapshot 971021.
From-SVN: r16278
1997-11-02 14:19:36 -07:00
Jeffrey A Law
8d7532d94f rtlanal.c (jmp_uses_reg_or_mem): Fix typo in last change.
* rtlanal.c (jmp_uses_reg_or_mem): Fix typo in last change.
Fixes various bootstrap problems (hopefully).

From-SVN: r15667
1997-09-23 00:58:12 -06:00
Jeffrey A Law
2a1777af22 jump.c (jmp_uses_reg_or_mem): Deleted unused function.
* jump.c (jmp_uses_reg_or_mem): Deleted unused function.
        (find_basic_blocks): Use computed_jump_p to determine if a
        particular JUMP_INSN is a computed jump.
        * reg-stack.c (find_blocks): Use computed_jump_p to determine
        if a particular JUMP_INSN is a computed jump.
        * rtlanal.c (jmp_uses_reg_or_mem): New function.
        (computed_jump_p): Likewise.
        * rtl.h (computed_jump_p): Declare.
        * genattrtab.c (pc_rtx): Define and initialize.
        * loop.c (loop_optimize): Always determine if the current
        function has a computed jump.
        (indirect_jump_in_function_p): Use computed_jump_p to determine
        if a particular JUMP_INSN is a computed jump.
General (and haifa) cleanups.

From-SVN: r15615
1997-09-21 18:49:32 -06:00
Mike Stump
0f41302f47 formatting tweaks
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Richard Kenner
833c0b26ac (rtx_addr_varies_p): Scan operands of type `E'.
From-SVN: r11935
1996-05-06 09:43:48 -04:00
Richard Kenner
935ddcf539 Update comment for rtx_equal_function_value_matters.
From-SVN: r11507
1996-03-10 06:15:07 -05:00
Richard Kenner
ce9c8df26c (reg_set_last): Fix call to reg_set_between_p.
From-SVN: r10432
1995-10-06 13:14:37 -04:00
Richard Kenner
5f91c70932 (reg_set_p_1): Now static; add extra parm.
From-SVN: r10070
1995-06-28 16:08:29 -04:00
Richard Kenner
e99215a3b5 Update FSF address.
From-SVN: r9964
1995-06-15 08:04:37 -04:00
Richard Kenner
b278301b1b (may_trap_p, case EXPR_LIST): New case.
From-SVN: r7983
1994-08-25 18:48:42 -04:00
Richard Kenner
31001f7228 (volatile_insn_p): Call ourselves in recursive scan.
From-SVN: r7383
1994-05-29 15:58:14 -04:00
Richard Kenner
8f3e7a26bd (reg_used_between_p): Check usage exprs on CALL_INSNs.
(reg_referenced_between_p, reg_set_p, dead_or_set_regno_p): Likewise.
(find_reg{,no}_fusage): New functions.

From-SVN: r7235
1994-05-06 17:43:38 -04:00
Jim Wilson
3eb8f14cbc (replace_regs, case REG): Return copies of SUBREGs, to
avoid invalid sharing.

From-SVN: r6253
1993-12-21 10:25:26 -08:00
Richard Stallman
2b067faf78 (volatile_insn_p): New function.
From-SVN: r5803
1993-10-19 04:42:55 +00:00
Doug Evans
b3b6c9b3f3 rtlanal.c: (rtx_unstable_p): HARD_FRAME_POINTER_REGNUM is not an unstable register.
* rtlanal.c: (rtx_unstable_p): HARD_FRAME_POINTER_REGNUM is not
an unstable register.
(rtx_varies_p, case REG): hard_frame_pointer_rtx is invariant.
(rtx_addr_can_trap_p, case REG): hard_frame_pointer_rtx won't trap.

From-SVN: r5465
1993-09-24 19:54:09 +00:00
Richard Kenner
f8163c9219 (modified_between_p): Handle vectors.
(modified_in_p): New function.
(refers_to_regno_p): If setting AP, FP, or SP, we clobber the virtual
registers.

From-SVN: r5267
1993-09-06 13:27:22 -04:00
Richard Kenner
99309f3bcb (find_regno_note): Find note that overlaps REGNO, not just one that
mentions REGNO explicitly.

From-SVN: r3929
1993-03-30 15:36:43 -05:00
Richard Stallman
6b02c31649 Comment fix.
From-SVN: r3311
1993-01-23 23:03:57 +00:00
Richard Stallman
fb3ef382a4 (single_set): fix typo in REG_UNUSED check.
From-SVN: r2449
1992-10-14 04:02:16 +00:00
Richard Kenner
4d9d7d9d35 (reg_set_last): Allow old value to be a SUBREG.
From-SVN: r2170
1992-09-19 15:42:53 -04:00