Commit Graph

59 Commits

Author SHA1 Message Date
J"orn Rennecke
ce9d4c6d80 rtl.h (shallow_copy_rtx): Declare.
* rtl.h (shallow_copy_rtx): Declare.
	* rtl.c (shallow_copy_rtx): New function.
	* reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
	copy_rtx.

From-SVN: r25897
1999-03-22 13:11:31 +00:00
Kaveh R. Ghazi
8db99db275 Warning fixes:
* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
        * cppfiles.c (read_and_prescan): Likewise.
        Start a #define in column 0.
        * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
        (cpp_push_buffer): Likewise for cpp_buffer*.
        (do_include): Change the type of `fbeg' and `fend' to unsigned char*.
        (do_endif): Cast to char* when assigning to one.
        (do_assert): Likewise.
        (do_unassert): Likewise.
        (cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
        Don't do unnecessary cast to char* anymore.
        * genrecog.c (make_insn_sequence): Cast to char** when assigning
        to one.  Cast the first argument of bzero to PTR.
        * loop.c (strength_reduce): Remove unused variable `note'.
        * reload1.c (new_insn_chain): Cast to struct insn_chain* when
        assigning to one.
        * rtl.c (copy_rtx): Use memcpy instead of bcopy.

From-SVN: r25860
1999-03-19 12:43:55 +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
Mark Mitchell
a4c6502a66 cse.c (dump_class): New function.
* cse.c (dump_class): New function.
	(invalidate_memory): Fix typo in comment.
	* function.c (temp_slot): Add an alias set field.
	(assign_stack_temp): Only reuse slots if they will have the
	same alias set as before.
	(combine_temp_slots): Don't combine if -fstrict-aliasing;
	that's unsafe.
	* rtl.c (copy_rtx): Copy all the flags (in particular,
	MEM_SCALAR_P).

From-SVN: r25372
1999-02-22 13:34:33 +00:00
Richard Henderson
d6c0e1c8d0 * rtl.c (rtx_alloc): Use memset instead of inline loop.
From-SVN: r24632
1999-01-11 17:31:09 -08:00
Jeff Law
1b0c6de626 More copyright fixes. Oh what fun.
From-SVN: r24536
1999-01-06 13:51:20 -07:00
Andrew MacLeod
e6cfb550ab See ChangeLog..
Tue Dec  8 15:32:56 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
See ChangeLog.. These are the files that were changed:
	* eh-common.h (struct eh_context): Add table_index for rethrows.
	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
	* rtl.c (reg_note_name): Add strings for new reg_note enums.
	* expr.h (rethrow_libfunc): New library decl.
	* optabs.c (rethrow_libfunc): Initialize.
	* except.h (struct eh_entry): Add new field 'rethrow_label'.
	* except.c (create_rethrow_ref): New function to create a single
	* flow.c (make_edges): Add different edges for rethrow calls,
	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
	* libgcc2.c (find_exception_handler): Generalize to enable it to
        * cp/except.c
        * cp/exception.cc

From-SVN: r24194
1998-12-08 14:04:03 +00:00
Richard Earnshaw
abef87891c machmode.h (mode_mask_array): No longer const.
* machmode.h (mode_mask_array): No longer const.
* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.

From-SVN: r23245
1998-10-23 04:09:58 +00:00
Kaveh R. Ghazi
bf94d1ecc7 Add ATTRIBUTE_NORETURN in a bunch of places:
* cppalloc.c (memory_full): Mark function prototype with
	ATTRIBUTE_NORETURN.
	* demangle.h (collect_exit): Likewise.
	* fix-header.c (v_fatal, fatal): Likewise.
	* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
	Likewise.
	* gcov.c (print_usage): Likewise.
	* genattr.c (fatal, fancy_abort): Likewise.
	* genattrtab.c (fatal, fancy_abort): Likewise.
	* gencodes.c (fatal, fancy_abort): Likewise.
	* genconfig.c (fatal, fancy_abort): Likewise.
	* genemit.c (fatal, fancy_abort): Likewise.
	* genextract.c (fatal, fancy_abort): Likewise.
	* genflags.c (fatal, fancy_abort): Likewise.
	* genopinit.c (fatal, fancy_abort): Likewise.
	* genoutput.c (fatal, fancy_abort): Likewise.
	* genpeep.c (fatal, fancy_abort): Likewise.
	* genrecog.c (fatal, fancy_abort): Likewise.
	* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
	__sjpopnthrow, __throw): Likewise.
	* objc/objc-act.c (objc_fatal): Likewise.
	* protoize.c (usage, aux_info_corrupted,
	declare_source_confusing): Likewise.
	* rtl.c (dump_and_abort): Likewise.
	* rtl.h (sets_cc0_p): Likewise.
	* toplev.c (float_signal, pipe_closed): Likewise.

From-SVN: r23084
1998-10-14 10:37:09 +00:00
John Carr
913f68c116 dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work with more than three size ranges.
* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
	with more than three size ranges.
	* flow.c (sbitmap_copy): Use bcopy to copy bitmap.
	* rtl.c (mode_name): Add a null string at the end of the array.
	(mode_wider_mode): Change type to unsigned char.
	(mode_mask_array): New variable.
 	(init_rtl): Update for mode_wider_mode type change.
	* rtl.h (mode_wider_mode): Change type to unsigned char.
	(mode_mask_array): Declare.
	(GET_MODE_MASK): Use mode_mask_array.

From-SVN: r22717
1998-10-01 16:47:41 +00:00
Richard Henderson
07ebc9309d rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
        * rtl.c (reg_note_name): Likewise.
        * rtl.texi (REG_NOTES): Likewise.
        * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
        without an offset.

From-SVN: r22273
1998-09-05 14:57:56 -07:00
Michael Meissner
0dfa18604b Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
        (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
        ($(HOST_PREFIX_1)rtl.o): Likewise.
        ($(HOST_PREFIX_1)bitmap.o): New host object.
        * emit-rtl.c (toplevel): Include bitmap.h.
        (gen_rtx): Handle 't' and 'b' nodes.
        * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
        Print block number for block begin/end notes.  Print 't' type
        nodes as a pointer.  Know that the 3rd argument of live range
        start/stop notes is really a range_info rtx.  If type is 'b', print
        out argument as a bitmap.
        * rtl.c: Include bitmap.c.
        (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
        (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
        * rtl.def (RANGE_LIVE): New node to hold live information while we
        recalculate the basic blocks.
        (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
        (RANGE_VAR): New node, to hold information saved in symbol node for New
        communicating live range information to the debug output functions.
        * rtl.h (rtunion_def): Add rttree and rtbit fields.
        (XBITMAP, XTREE): New accessor macros.
        (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
        (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
        (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
        (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
        (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
        (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
        (RANGE_INFO_*): Likewise.
        * sched.c (sched_analyze): Keep live range start/stop notes.
        (unlink_other_notes): Likewise.
        * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
        (unlink_other_notes): Likewise.
        * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
        (BLOCK_LIVE_RANGE_FLAG): Likewise.
        (DECL_LIVE_RANGE_RTL): Likewise.
        (struct tree_block): Add live_range_flag, live_range_var_flag,
        live_range_start and live_range_end.
        (struct tree_decl): Add live_range_rtl field.
        * gengenrtl.c (type_from_format): Handle 'b' and 't'.
        (accessor_from_format): Likewise.

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

From-SVN: r19727
1998-05-13 15:13:47 -06:00
Kaveh R. Ghazi
e9a780ecec c-common.c: Convert to using ctype macros defined in system.h.
* c-common.c: Convert to using ctype macros defined in system.h.
        * c-lex.c: Likewise.
        * cccp.c: Likewise.
        * collect2.c: Likewise.
        * rs6000.c: Likewise.
        * cpplib.c: Likewise.
        * fix-header.c: Likewise.
        * gcc.c: Likewise.
        * gen-protos.c: Likewise.
        * pexecute.c: Likewise.
        * protoize.c: Likewise.
        * rtl.c: Likewise.
        * scan.c: Likewise.
        * stmt.c: Likewise.
        * tlink.c: Likewise.
        * toplev.c: Likewise.

From-SVN: r19579
1998-05-06 12:56:58 +00:00
Kaveh R. Ghazi
8f81384fec The isascii check is needed by system.h.
* configure.in (AC_CHECK_FUNCS): Add isascii.
        (GCC_NEED_DECLARATIONS): Add atof.
        * system.h: Provide prototypes for abort, atof, atol and sbrk here.
        * rtl.c, rtl.h, toplev.c, tree.h: Not here.

From-SVN: r19572
1998-05-06 08:36:04 +00:00
Nick Clifton
29cb1e1f17 Prevent going into an infinite loop upon encountering an enuterminated comment.
From-SVN: r19082
1998-04-10 13:41:28 +00: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
Richard Henderson
cbe3672526 rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT is large...
* rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
        is large, and the system doesn't provide atoll or atoq.
        (atoll): New.
        * alpha/xm-vms.h (HAVE_ATOLL): Define.
        Reported by Klaus Kaempf <kkaempf@progis.de>.

From-SVN: r18657
1998-03-18 01:55:53 -08:00
Jeff Law
c5afbb4907 Forgot to commit these...
From-SVN: r17555
1998-01-30 01:04:59 -07:00
Jeff Law
76d31c6373 rtl.c (read_rtx): Use atol/atoq based upon disposition of HOST_WIDE_INT.
* rtl.c (read_rtx): Use atol/atoq based upon disposition of
        HOST_WIDE_INT.
        * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
        as needed.
        * genemit.c (gen_exp): Likewise.
        * genpeep.c (match_rtx): Likewise.
        * genrecog.c (write_tree_1): Likewise.
        * c-lex.c (yyprint): Use proper format string based upon
        disposition of HOST_BITS_PER_WIDE_INT.
        (yylex): Put casts in right place for args to build_int_2.
        * combine.c: Fix typos in Jan27 changes.

From-SVN: r17544
1998-01-28 16:25:15 -07:00
Jeffrey A Law
aef28d1d1e acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.
* acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.
        * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.

From-SVN: r17404
1998-01-17 16:00:46 -07:00
Jeffrey A Law
4399e7a324 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
From-SVN: r17400
1998-01-17 15:00:51 -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
Teemu Torma
154bba13a4 [multiple changes]
Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>

	Thread-safe EH support for pthreads, DCE threads and Solaris threads.

	* integrate.c (expand_inline_function): If the inline fn uses eh
	context, make sure that the current fn has one.
	* toplev.c (rest_of_compilation): Call emit_eh_context.
	* except.c (use_eh_context): New fn.
	(get_eh_context_once): New fn.
	(call_get_eh_context): New fn.
	(emit_eh_context): New fn.
	(get_eh_context): Call either get_eh_context_once or
	call_get_eh_context, depending on what we have.
	(get_dynamic_handler_chain): Call get_eh_context_once.
	* except.h: Prototypes for fns above.
	* optabs.c (get_eh_context_libfunc): Removed.
	(init_optabs): Don't initialize it.
	* expr.h (get_eh_context_libfunc): Removed.
	* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
	* config/pa/pa.h (CPP_SPEC): Support for -threads.
	* config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
	* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
	New multilib for -threads.
	* config/sparc/t-sol2: Added multilibs for -threads and
	made -pthreads alias to it.
	* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
	Added -threads and -pthreads options.
	* libgcc-thr.h: New file.
	* libgcc2.c: (__get_cpp_eh_context): Removed.
	(struct cpp_eh_context): Removed.
	(struct eh_context): Replaced cpp_eh_context with generic language
	specific pointer.
	(__get_eh_info): New function.
	(__throw): Check eh_context::info.
	(__sjthrow): Ditto.
	* libgcc2.c: Include libgcc-thr.h.
	(new_eh_context, __get_eh_context,
	eh_pthread_initialize, eh_context_initialize, eh_context_static,
	eh_context_specific, eh_context_free): New functions.
	(get_eh_context, eh_context_key): New variables.
	(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
	get_eh_context to get the context.
	(longjmp): Move the declaration inside
	#ifdef DONT_USE_BUILTIN_SETJMP.
	* frame.c: Include libgcc-thr.h.
	(object_mutex): Mutex to protect the object list.
	(find_fde, __register_frame, __register_frame_table,
	__deregister_frame): Hold the lock while accessing objects.
	* except.h (get_eh_context): Declare.
	* except.c (current_function_ehc): Define.
	(current_function_dhc, current_function_dcc): Removed.
	(get_eh_context): New function.
	(get_dynamic_handler_chain): Use get_eh_context.
	(get_saved_pc_ref): Ditto.
	(get_dynamic_cleanup_chain): Removed references to
	current_function_dcc.
	(save_eh_status, restore_eh_status): Save and restore
	current_function_ehc instead.
	* optabs.c (get_eh_context_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_eh_context_libfunc.
	* function.h (struct function): Replaced dhc and dcc with ehc.
	* except.c (get_saved_pc_ref): New functions.
	(eh_saved_pc_rtx, eh_saved_pc): Deleted.
	(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
	of eh_saved_pc.
	(end_eh_unwinder): Likewise.
	(init_eh): Remove initialization of eh_saved_pc.
	* optabs.c (get_saved_pc_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_saved_pc_libfunc.
	* except.h (eh_saved_pc_rtx): Deleted.
	(get_saved_pc_ref): Declared.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
	* libgcc2.c (__get_saved_pc): New.
	(__eh_type, __eh_pc): Deleted.
	(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
	(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
	this fcn.

cp/:
Thu Dec 11 20:43:33 1997  Teemu Torma  <tot@trema.com>

	* decl.c (ptr_ptr_type_node): Define.
	(init_decl_processing): Initialize it.
	* cp-tree.h: Declare it.
	* exception.cc (__cp_exception_info): Use __get_eh_info.
	(__cp_push_exception): Ditto.
	(__cp_pop_exception): Ditto.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
        * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
	saved_pc.
	(init_exception_processing): Removed saved_pc initialization.

From-SVN: r17052
1997-12-11 23:53:20 -05:00
Jeff Law
956d69504d Merge from gcc-2.8
From-SVN: r16987
1997-12-06 17:31:01 -07:00
Jeff Law
e9a25f70a0 Update mainline egcs to gcc2 snapshot 971021.
From-SVN: r16278
1997-11-02 14:19:36 -07:00
David S. Miller
c107334d5c reorg.c (dbr_schedule): At end of this pass...
* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
        note holding get_jump_flags() calculation to all JUMP_INSNs.
        * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
        * rtl.c (reg_note_name): Add new note types.

From-SVN: r15670
1997-09-23 01:14:07 -06:00
Jeffrey A Law
9ae8ffe751 * Integrate alias analysis changes from jfc@mit.edu
* Makefile.in (OBJS): Add alias.o
        (alias.o): Add dependencies.
        * alias.c: New file.
        * sched.c: Remove alias analysis code.  It lives in alias.c now.
        (reg_last_uses_size): Declare.
        (sched_analyze_2): Add new arguments to true_dependence.
        (sched_analyze_insn): Use reg_last_uses_size instead of max_reg.
        (schedule_block): Initialize reg_last_uses_size.
        (schedule_insns): Always call init_alias_analysis.
        * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
        mark return value from such functions as a pointer and keep track of
        them for alias analysis.  If a return value from a function is a
        pointer, mark it as such.
        * combine.c (distribute_notes): Handle REG_NOALIAS.
        * cse.c (struct write_data): Delete.  No longer needed.
        (invalidate): Don't call set_nonvarying_address_components anymore.
        Use true_dependence to decide if an entry should be removed from
        the hash table.
        (invalidate_memory): Remove WRITES argument, simplify appropriately.
        Fix all callers.
        (note_mem_written): Similarly for WRITE_PTR argument.
        (invalidate_from_clobbers): Similarly for W argument.
        (invalidate_for_call): Remove memory elements from the hash table.
        (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
        (cse_rtx_varies_p): New function.  Derived from old
        cse_rtx_addr_varies_p.
        (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
        Don't call note_mem_written anymore.  Stack pushes invalidate the stack
        pointer if PUSH_ROUNDING is defined.  No longer need to call
        cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
        (skipped_writes_memory): Remove variable.
        (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
        (invalidate_skipped_block): Simplify for new alias analysis code.
        (cse_set_around_loop): Likewise.
        (cse_main): Call init_alias_analysis.
        * flags.h (flag_alias_check, flag_argument_noalias): Declare.
        * toplev.c (flag_alias_check, flag_argument_noalias): Define.
        (f_options): Add new alias checking arguments.
        (main): Set flag_alias_check when optimizing.
        * local_alloc (validate_equiv_mem_from_store): Add new arguments
        to true_dependence.
        (memref_referenced_p): Likewise.
        * loop.c (NUM_STORES): Increase to 30.
        (prescan_loop): Only non-constant calls set unknown_address_altered.
        (invariant_p): Add new arguments to true_dependence.
        (record_giv): Initialize unrolled and shared fields.
        (emit_iv_add_mult): Call record_base_value as needed.
        * loop.h (struct induction): Add unrolled and shared fields.
        * unroll.c  (unroll_loop): Call record_base_value as needed.
        (copy_loop_body): Likewise.
        (final_biv_value): Likewise.
        (final_giv_value): Likewise.
        (find_splittable_regs): Likewise.  Only create one new pseudo
        if we have multiple address GIVs that were combined with the same
        dst_reg GIV.  Note when a new register is created due to unrolling.
        * rtl.c (reg_note_name): Add REG_NOALIAS.
        * rtl.h (enum reg_note): Similarly.
        (rtx_varies_p, may_trap_p, side_effects_p): Declare.
        (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
        (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
        (true_dependence, read_dependence, anti_dependence): Likewise.
        (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
        (mark_user_reg, mark_reg_pointer): Likewise.
jfc's alias analysis code.

From-SVN: r14768
1997-08-11 14:07:24 -06:00
Doug Evans
f6e3c1bb7e rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
* rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
	(reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT.

From-SVN: r13821
1997-03-28 22:39:20 +00:00
Richard Kenner
395d53bb1e (rtvec_alloc): Clear rtwint instead of rtvec.
From-SVN: r13172
1996-11-15 14:13:13 -05:00
Mike Stump
3d1953912d install EH code
From-SVN: r12548
1996-07-23 19:58:32 +00:00
Mike Stump
0f41302f47 formatting tweaks
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Richard Kenner
e99215a3b5 Update FSF address.
From-SVN: r9964
1995-06-15 08:04:37 -04:00
Richard Kenner
0df564e54c (read_rtx): Remove decl of unused variable STRINGBUFSIZE.
From-SVN: r6891
1994-03-25 14:17:23 -05:00
Ian Lance Taylor
d3d63026f5 Move initialization of byte_mode and word_mode to emit-rtl.c
From-SVN: r5661
1993-10-07 21:05:34 +00:00
Richard Stallman
9b404774e7 (rtx_free): New function.
From-SVN: r5366
1993-09-19 19:07:16 +00:00
Richard Stallman
262555e288 (init_rtl): Correct number of 'w's in CONST_DOUBLE format.
From-SVN: r4490
1993-05-17 20:07:45 +00:00
Doug Evans
a31efb86f6 (NOTE_INSN_FUNCTION_BEG): Make non-zero.
From-SVN: r4226
1993-04-26 00:18:16 +00:00
Richard Stallman
a19a1b5d5c Include real.h to get the definition of REAL_VALUE_TYPE.
From-SVN: r3940
1993-03-31 05:50:32 +00:00
Jim Wilson
cc81e6253b (copy_rtx): A MEM with constant address is not sharable.
Undo Dec 27 change.

From-SVN: r3231
1993-01-14 10:33:41 -08:00
Richard Kenner
2151a093e3 (rtx_alloc): Clear common area of rtx in a portable manner.
From-SVN: r3074
1993-01-03 18:59:45 -05:00
Richard Kenner
cf526dcc5c (copy_rtx): A CONST can be shared if it contains a SYMBOL_REF.
A SCRATCH must be shared.
A MEM may be shared if it is at a constant address.

From-SVN: r2924
1992-12-27 06:53:32 -05:00
Richard Kenner
8cfef35ae2 (note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
From-SVN: r2183
1992-09-19 15:54:05 -04:00
Richard Stallman
69c3f3434a (ftell): Declaration deleted.
From-SVN: r2122
1992-09-15 04:09:42 +00:00
Charles Hannum
c166a31116 entered into RCS
From-SVN: r1476
1992-07-06 20:15:06 +00:00
Richard Stallman
196cedd028 *** empty log message ***
From-SVN: r1438
1992-07-05 03:31:52 +00:00
Tom Wood
bdac5f5848 *** empty log message ***
From-SVN: r1336
1992-06-29 16:04:35 +00:00
Richard Kenner
4b980e20ad *** empty log message ***
From-SVN: r1318
1992-06-28 06:10:54 -04:00
Richard Kenner
f1027406fe *** empty log message ***
From-SVN: r1310
1992-06-27 07:20:07 -04:00
Richard Stallman
b96806f679 *** empty log message ***
From-SVN: r971
1992-05-13 22:27:52 +00:00
Richard Stallman
81dd58a68e *** empty log message ***
From-SVN: r946
1992-05-09 15:47:31 +00:00