1. 05 Dec, 2001 1 commit
    • rtl.h (initialize_uninitialized_subregs): New prototype. · 0626ef8a
      2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
      
      	* rtl.h (initialize_uninitialized_subregs): New prototype.
      	* toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
      	when optimization is on.
      	* flow.c (find_regno_partial): Find subregs within an expression.
      	(initialize_uninitialized_subregs): Initialize live on entry registers
      	which are used in subreg expressions.
      
      From-SVN: r47644
      Andrew MacLeod committed
  2. 02 Dec, 2001 1 commit
    • rtl.h (mem_attrs): Rename decl to expr; adjust all users. · 998d7deb
              * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
              (MEM_EXPR): Rename from MEM_DECL; adjust all users.
              * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
              * expr.h, final.c, reload1.c: Adjust users.
      
              * alias.c (nonoverlapping_component_refs_p): New.
              (decl_for_component_ref, adjust_offset_for_component_ref): New.
              (nonoverlapping_memrefs_p): Use them.
              * emit-rtl.c (component_ref_for_mem_expr): New.
              (set_mem_attributes): Use it.
              (set_mem_offset): New.
              * expr.c (expand_assignment): Call set_mem_attributes for
              inner references; adjust the memory offset as needed.
              * print-rtl.c (print_mem_expr): New.
              (print_rtx): Use it.
      
      From-SVN: r47534
      Richard Henderson committed
  3. 21 Nov, 2001 1 commit
    • function.c (keep_stack_depressed): Major rework. · 3258e996
      	* function.c (keep_stack_depressed): Major rework.
      	(handle_epilogue_set, emit_equiv_load): New functions.
      	(thread_prologue_and_epilogue_insns): keep_stack_depressed now
      	has return value.
      	* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
      	* rtl.h (SET_IS_RETURN_P): New macro.
      
      From-SVN: r47250
      Richard Kenner committed
  4. 15 Nov, 2001 2 commits
    • alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P. · a06ef755
      	* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
      	* emit-rtl.c (change_address): Fix typo in default alignment.
      	(adjust_address_1): Use mode of NEW, not MODE, when setting size.
      	* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
      	* rtl.h (REGNO_PTR_FRAME_P): New macro.
      
      	* expr.c (store_field): Pass tree instead of max size; callers changed.
      	Change handling of alignment.
      	Only copy to_rtx if is TARGET.
      	(expand_expr_unaligned): Delete; callers now use expand_expr.
      	(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
      	(expand_assignment): Change handling of alignment.
      	Only copy to_rtx if was original.
      	(get_inner_reference): No longer return alginment; callers changed.
      	(expand_expr, case COMPONENT_REF): Change handling of alignment.
      	(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
      	(compare_from_rtx): Delete ALIGN parm; all callers changed.
      	(do_compare_rtx_and_jump): Likewise.
      	* expr.h: Reflect above changes.
      	* tree.h: Likewise.
      	* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
      	to get_inner_reference.
      	* except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns.
      	* explow.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	(prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
      	(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
      	* fold-const.c: Remove PALIGN in calls to get_inner_reference.
      	* function.c (assign_stack_temp_for_type): No longer static.
      	* optabs.h (emit_cmp_insn): Remove ALIGN parm.
      	(prepare_cmp_insn): Delete declaration.
      	* rtl.h (assign_stack_temp_for_type): Add declaration.
      	* config/d30v/d30v.c: Reflect above changes.
      	* config/i860/i860.c, config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
      	* ada/trans.c, ada/utils2.c: Remove PALIGN parameter to
      	get_inner_reference.
      
      From-SVN: r47075
      Richard Kenner committed
    • jump.c (squeeze_notes): Return true if no real insns were found. · 2b7d71b2
      	* jump.c (squeeze_notes): Return true if no real insns were found.
      	* rtl.h (squeeze_notes): Adjust prototype.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
      	squeeze_notes finds no real instructions, abort.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	* loop.c (find_and_verify_loops): Likewise.
      	* stmt.c (expand_end_case): Likewise.
      	* ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
      	find any real instructions.
      
      	* gcc.c-torture/compile/20011114-4.c: New test.
      
      From-SVN: r47048
      Jakub Jelinek committed
  5. 06 Nov, 2001 1 commit
    • rtl.h (mem_for_const_double): New declaration. · 03f54026
      	* rtl.h (mem_for_const_double): New declaration.
      	* varasm.c (mem_for_const_double): New function.
      	* config/convex/convex.md (movdf): Use it.
      	* config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
      	* config/m68k/linux.h, config/m68k/m68k.h: Likewise.
      	* config/m68k/m68kv4.h: Likewise.
      
      From-SVN: r46808
      Richard Kenner committed
  6. 03 Nov, 2001 1 commit
    • cselib.c (cselib_subst_to_values, [...]): Remove reference to CONST_DOUBLE_MEM in comment. · a79e3a45
      	* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
       	reference to CONST_DOUBLE_MEM in comment.
      	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
      	(gen_rtx, case CONST_DOUBLE): Call it with one less operand.
      	(init_emit_once): Don't clear CONST_DOUBLE_MEM.
      	* function.c (pop_function_context_from): Don't call
      	restore_varasm_status.
      	* function.h (restore_varasm_status): Delete declaration.
      	* gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
      	* rtl.c: Likewise.
      	* rtl.def (CONST_DOUBLE): Update comment.
      	* rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
      	(CONST_DOUBLE_CHAIN): Likewise.
      	(CONST_DOUBLE_MEM): Delete.
      	(gen_rtx_CONST_DOUBLE): Update parameters.
      	* varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
      	Remove reference to CONST_DOUBLE_MEM.
      	(const_alias_set): New variable.
      	(immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
      	(immed_real_const_1): Adjust tests for 0, 1, and 2.
      	Don't set CONST_DOUBLE_MEM.
      	(clear_const_double_mem): Don't do anything with const_tiny_rtx.
      	(output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
      	Put constant in const_alias_set.
      	(struct pool_constant): ALIGN now unsigned.
      	OFFSET now HOST_WIDE_INT.
      	Delete LABEL.
      	(restore_varasm_status): Deleted.
      	(mark_pool_constant): Mark desc->rtl.
      	(force_const_mem): Rework to store rtl in hash table,
      	not CONST_DOUBLE_MEM.
      	Put constant in const_alias_set.
      	(find_pool_constant): Check desc->rtl.
      	(mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
      	(init_varasm_once): Initialize const_alias_set.
      
      From-SVN: r46736
      Richard Kenner committed
  7. 30 Oct, 2001 1 commit
    • emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or REG_EQUIV notes for ASM_OPERANDS. · 3d238248
      	* emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
      	REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
      	* rtl.h (set_unique_reg_note): Change return value.
      	* gcse.c (try_replace_reg): Use set_unique_reg_note.
      	* cse.c (cse_insn): Likewise.
      	* expr.c (emit_move_insn): Likewise.
      	* explow.c (force_reg): Likewise.
      	* local-alloc (update_equiv_regs): Likewise.
      	* loop.c (move_moveables, load_mems): Likewise.
      	* reload (find_reloads): Likewise.
      
      	* gcc.dg/20011029-2.c: New test.
      
      From-SVN: r46636
      Jakub Jelinek committed
  8. 25 Oct, 2001 1 commit
    • alias.c (can_address_p): No longer static. · 10b76d73
      	* alias.c (can_address_p): No longer static.
      	* emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
      	Return 0 if all parameters are default values.
      	(set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
      	(adjust_address_1): Try harder to compute a size.
      	* expr.c (expand_assignment, store_constructor): If can't address,
      	set MEM_KEEP_ALIAS_SET_P.
      	(store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
      	(store_field): Likewise.
      	(store_constructor): Simplify call to store_constructor_field.
      	* expr.h (can_address_p): New declaration.
      	* gensupport.c (gen_rtx_CONST_INT): New function.
      	* rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
      	(MEM_SIZE): Get size from mode, if not set and not BLKmode.
      	(MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
      
      From-SVN: r46487
      Richard Kenner committed
  9. 23 Oct, 2001 1 commit
    • alias.c (can_address_p): Compnonents are not addressable if the containing type has alias set 0. · 8ac61af7
      	* alias.c (can_address_p): Compnonents are not addressable if
      	the containing type has alias set 0.
      	(get_alias_set): Rework to use STRIP_NOPS.
      	Only call front-end routine on object, type, or object with
      	NOPs stripped, not inner values.
      	Use language hook to call front-end routine.
      	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
      	(expand_builtin_apply): Call set_mem_align on MEMs we make.
      	Don't pass alignment to emit_block_move.
      	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
      	(expand_builtin_memset): Likewise, but for clear_storage.
      	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
      	and remove C++ specific parts.
      	* c-common.h (c_common_get_alias_set): Add declaration.
      	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
      	(save_fixed_argument_area): Call set_mem_align.
      	Remove alignment in call to emit_block_move.
      	(emit_library_call_value_1, store_one_arg): Likewise.
      	(target_for_arg): Remove; disabled long ago.
      	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
      	once and similar cleanups.
      	(offset_address): Use proper introductory comment.
      	* expr.c (emit_block_move): Use alignment from that of MEM args, not
      	from explicit operand; all callers changed.
      	(clear_storage): Likewise.
      	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
      	(store_field): Remove kludge on alias set used for to_rtx.
      	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
      	(expand_expr_unaligned): Call set_mem_attributes instead of
      	set_mem_alias_set.
      	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
      	* function.c (assign_stack_temp_for_type): Set MEM alignment.
      	(expand_function_end): Track MEM attributes of trampolines.
      	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
      	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
      	attributes from original.
      	* langhooks.c (lang_hook_default_get_alias_set): New function.
      	(hook_get_alias_set_0): New function.
      	* langhooks.h (hook_get_alias_set_0): New declaration.
      	(lang_hook_default_get_alias_set): Likewise.
      	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
      	* reload1.c (alter_reg): Use adjust_address_nv.
      	* rtl.c (get_mode_alignment): Moved to here.
      	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
      	change default if unknown from 1 to BITS_PER_UNIT.
      	* stor-layout.c (get_mode_alignment): Remove from here.
      	* toplev.h (struct lang_hoks): Add get_alias_set field.
      	* tree.h (lang_get_alias_set): Delete declaration.
      	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
      	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
      	(ix86_va_arg): Likewise.
      	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
      	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
      	* config/sparc/sparc.c (sparc_va_arg): Likewise.
      	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
      	(expand_block_move_mem): Remove dead code.
      	* cp/cp-lang.c (cxx_get_alias_set): New function.
      	Point LANG_HOOKS_GET_ALIAS_SET to it.
      	* f/com.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	(lang_get_alias_set): Delete.
      	* java/lang.c (lang_get_alias_set): Deleted.
      
      From-SVN: r46440
      Richard Kenner committed
  10. 20 Oct, 2001 2 commits
    • emit-rtl.c (set_mem_attributes): Alignment is in bits. · d022d93e
      	* emit-rtl.c (set_mem_attributes): Alignment is in bits.
      	(adjust_address_1, offset_address): Likewise.
      
      From-SVN: r46378
      Richard Kenner committed
    • basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. · b932f770
      	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
      	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
      	Break out from ...
      	(find_sub_basic_blocks): ... here;
      	(find_many_sub_basic_blocks): New.
      	* recog.c (split_all_insns): Update find_sub_basic_blocks call.
      
      	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
      
      	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
      
      	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.
      
      	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
      	* flow.c (update_life_info): Measure time.
      	* c-decl.c: Include timevar.h
      	(c_expand_body): Measure time.
      	* toplev.c (rest_of_compilation): Measure time of mode switching
      	separately.
      	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependancy.
      
      	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
      	(lang_independent_options): Add asynchronous-unwind-tables
      	(toplev_main): flag_asynchronous_unwind_tables implies
      	flag_unwind_tables.
      	* flags.h (flag_asynchronous_unwind_tables): Declare.
      	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
      	flag_asynchronous_unwind_tables.
      	(output_call_frame_info): Likewise.
      	* invoke.texi (-fasynchronous-unwind-tables): Document.
      	* i386.c (optimization_options): Enable
      	flag_asynchronous_unwind_tables.
      
      	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
      	* i386.md (s* expanders): Destination is QImode.
      
      	* toplev.c (rest_of_compilation): Do not call clear_log_links.
      	* rtl.h (clear_log_links): Kill.
      	* flow.c (clear_log_links): Make static; accept blocks parameter;
      	do no clear life info.
      	(update_life_info): Call clear_log_links.
      
      	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
      
      From-SVN: r46374
      Jan Hubicka committed
  11. 11 Oct, 2001 3 commits
    • rtl.h (REG_VTABLE_REF): New. · 4a8d0c9c
              * rtl.h (REG_VTABLE_REF): New.
              * rtl.c (reg_note_name): Add it.
              * combine.c (distribute_notes): Handle it.
              * final.c (final_scan_insn): Handle it.
              * tree.def (VTABLE_REF): New.
              * expr.c (expand_expr): Handle it.
              * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
              * output.h: Declare them.
      cp/
              * class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
              of an asm statement.
              (build_vtbl_ref_1): Split out from build_vtbl_ref.
              (build_vfn_ref): Use it to handle vtable descriptors before
              calling build_vtable_entry_ref.
              * decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
      testsuite/
              * g++.old-deja/g++.other/crash18.C: Add -S to options.
      
      From-SVN: r46195
      Richard Henderson committed
    • calls.c: Fix formatting. · eebedaa5
      	* calls.c: Fix formatting.
      	* c-decl.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* ggc-page.c: Likewise.
      	* integrate.c: Likewise.
      	* libgcc2.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sdbout.c: Likewise.
      	* stmt.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r46182
      Kazu Hirata committed
    • * rtl.h (can_reverse_comparison_p): Remove. · ba3c4fbb
      From-SVN: r46170
      Richard Henderson committed
  12. 09 Oct, 2001 1 commit
    • c-common.c: Fix comment typos. · 4fe9b91c
      	* c-common.c: Fix comment typos.
      	* cfgrtl.c: Likewise.
      	* collect2.c: Likewise.
      	* cpplex.c: Likewise.
      	* doloop.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* global.c: Likewise.
      	* ifcvt.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* protoize.c: Likewise.
      	* regclass.c: Likewise.
      	* reorg.c: Likewise.
      	* rtl.h: Likewise.
      	* stmt.c: Likewise.
      	* tree.h: Likewise.
      	* doc/cpp.texi: Likewise.
      	* doc/c-tree.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/objc.texi: Likewise.
      	* doc/tm.texi: Likewise.
      
      From-SVN: r46114
      Kazu Hirata committed
  13. 01 Oct, 2001 1 commit
    • function.c (keep_stack_depressed): Don't use delete_insn. · 173b24b9
      	* function.c (keep_stack_depressed): Don't use delete_insn.
      
      	* expr.h (set_mem_alias_set): Move decl to here.
      	* rtl.h (mem_attrs): New typedef and struct.
      	(union rtunion_def): Add field for mem_attrs.
      	(X0MEMATTR, MEM_ATTRS): New macros.
      	(MEM_ALIAS_SET): Use MEM_ATTRS.
      	(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
      	(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
      	(set_mem_alias_set): Delete decl from here.
      
      	* alias.c (set_mem_alias_set): Delete from here.
      	* emit-rtl.c (mem_attrs_htab): New variable.
      	(rtx_htab_mark, rtx_htab_mark_1): Deleted.
      	(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
      	(mem_attrs_mark, get_mem_attrs): Likewise.
      	(gen_rtx_MEM): Clear MEM_ATTRS.
      	(set_mem_attributes): Move to here.
      	(set_mem_alias_set): Likewise, and call get_mem_attrs.
      	(init_emit_once): const_int_htab now deletable htab.
      	Initialize mem_attrs_htab.
      	* explow.c (set_mem_attributes): Delete from here.
      	* function.c (put_var_into_stack): Clear MEM_ATTRS.
      	(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
      	* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
      	* reload1.c (reload): Rework changing REG to MEM.
      
      From-SVN: r45922
      Richard Kenner committed
  14. 21 Sep, 2001 2 commits
    • rtl.h (LCT_RETURNS_TWICE): New. · 9defc9b7
              * rtl.h (LCT_RETURNS_TWICE): New.
              * calls.c (emit_call_1): Set current_function_calls_setjmp for
              ECF_RETURNS_TWICE.
              (emit_library_call_value_1): Map LCT_RETURNS_TWICE
              to ECF_RETURNS_TWICE.
              * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
              call to setjmp.
      
              * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
      
              * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
              (JMP_BUF_SIZE): New.
      
      From-SVN: r45736
      Richard Henderson committed
    • basic-block.h (flow_delete_insn, [...]): Kill. · 53c17031
      	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
      	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
      	remove some labels.
      	(flow_delete_insn): This one.
      	(delete_insn_chain): Rename from ...; do not care labels.
      	(flow_delete_insn_chain): ... this one.
      	(flow_delete_block): Remove the insns one BB has been expunged.
      	(merge_blocks_nomove): Likewise.
      	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	* cfgbuild.c (find_basic_block): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_optimize_cfg): Likewise.
      	* cse.c (delete_trivially_dead_insns): Likewise.
      	* df.c (df_insn_delete): Likewise.
      	* doloop.c (doloop_modify): Use delete_related_insns.
      	* emit-rtl.c (try_split): Likewise.
      	(remove_insn): Update BB boundaries.
      	* expect.c (connect_post_landing_pads): Use delete_related_insns.
      	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(propagate_block_delete_insn): Likewise.
      	(propagate_block_delete_libcall): Likewise.
      	* function.c (delete_handlers): Use delete_related_insns.
      	(thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
      	* genpeep.c (gen_peephole): Use delete_related_insns.
      	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
      	BB boundaries.
      	(find_cond_trap): Likewise.
      	* integrate.c (save_for_inline): Use delete_related_insns.
      	(copy_insn_list): Likewise.
      	* jump.c (pruge_linie_number_notes): Likewise.
      	(duplicate_loop_exit_test): Likewise.
      	(delete_computation): Likewise.
      	(delete_related_insn): Rename from ...; use delete_insn
      	(delete_insn): ... this one.
      	(redirect_jump): Use delete_related_insns.
      	* loop.c (scan_loop): Likewise.
      	(move_movables): Likewise.
      	(find_and_verify_loops): Likewise.
      	(check_dbra_loop): Likewise.
      	* recog.c (peephole2_optimize): Likewise.
      	* reg-stack.c (delete_insn_for_stacker): Remove.
      	(move_for_stack_reg): Use delete_insn.
      	* regmove.c (combine_stack_adjustments_for_block): Likewise.
      	* reload1.c (delete_address_reloads): Use delete_related_insns.
      	(fixup_abnormal_edges): Use delete_insn.
      	* recog.c (emit_delay_sequence): Use delete_related_insns.
      	(delete_from-delay_slot): Likewise.
      	(delete_scheduled_jump): likewise.
      	(optimize_skip): Likewise.
      	(try_merge_delay_insns): Likewise.
      	(full_simple_delay_slots): Likewise.
      	(fill_slots_from_thread): Likewise.
      	(relax_delay_slots): Likewise.
      	(make_return_insns): Likewise.
      	(dbr_schedule): Likewise.
      	* rtl.h (delete_insn): Rename to delete_related_insns.
      	(delete_insn, delete_insn_chain): New prototypes.
      	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
      	by df_insn_delete already.
      	* ssa-dce.c (delete_insn_bb): Use delete_insn.
      	* ssa.c (convert_from_ssa): Use delete_related_insns.
      	* unroll.c (unroll_loop): Likewise.
      	(calculate_giv_inc): Likewise.
      	(copy_loop_body): Likewise.
      
      	* i386-protos.h (ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): Declare.
      	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
      	new static valurables.
      	(x86_64_reg_class): New enum
      	(x86_64_reg_class_name): New array.
      	(classify_argument, examine_argument, construct_container,
      	 merge_classes): New static functions.
      	(optimization_options): Enable flag_omit_frame_pointer and disable
      	flag_pcc_struct_return on 64bit.
      	(ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): New global functions.
      	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
      	(function_arg_advance): Handle x86_64 passing conventions.
      	(function_arg): Likewise.
      	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
      	(RETURN_IN_MEMORY): Move offline.
      	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
      	(FUNCTION_VALUE_REGNO_P): New macro.
      	(FUNCTION_ARG_REGNO_P): Move offline.
      	(struct ix86_args): Add maybe_vaarg.
      	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
      	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
      
      From-SVN: r45726
      Jan Hubicka committed
  15. 16 Sep, 2001 1 commit
    • basic-block.h (free_bb_for_insn): Declare. · 3c030e88
      	* basic-block.h (free_bb_for_insn): Declare.
      	* bb-reorder.c (label_for_bb): Use block_label.
      	(emit_jump_to_block_after): Remove.
      	(insert_intra_1): Do not update block_for_insn.
      	(insert_inter_bb_scope_notes): Likewise; update bb->end
      	* cfg.c (free_bb_for_insn): New.
      	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
      	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
      	(commit_one_edge_insertion): Likewise.
      	(commit_one_edge_insertion): Do not update BB boundary.
      	(commit_edge_insertions): Do not call compute_bb_for_insn.
      	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
      	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(try_crossjump_to_edge): Do not update block_for_insn.
      	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
      	* df.c (df_pattern_emit_later): Do not update BB boundary.
      	(df_jump_pattern_emit_after): Likewise.
      	(df_insn_move_before): Use emit_insn_before.
      	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
      	 properly.
      	(add_insn_after, add_insn_before, emit_insns_after): Update BB
      	boundaries and basic_block_for_insn.
      	(reorder_insns_nobb): Rename from reorder_insns.
      	(reorder_insns): New.
      	(emit_block_insn_before, emit_block_insn_after): Kill.
      	* flow.c (check_function_return_warnings): Do not call
      	compute_bb_for_insn; Do not free basic_block_for_insn.
      	(attempt_auto_inc): Do not update basic_block_for_insn.
      	* function.c (emit_return_into_block): Likewise;
      	do not update BB boundaries.
      	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
      	(insert_insn_end_bb): Use emit_insn_before; Likewise.
      	(pre_insert_copy_insn): Likewise.
      	(update_ld_motion_notes): Likewise.
      	(insert_insn_start_bb): Likewise.
      	(replace_store_insn): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(if_convert): Do not call compute_bb_for_insn.
      	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
      	Use emit_insn_before and emit_insn_after.
      	* recog.c (split_all_insns): Do not update BB boundaries;
      	Do not call compute_bb_for_insn.
      	(peephole2_optimize): Do not update BB boundaries.
      	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
      	emit_insn_before.
      	(emit_swap_insn): Likewise.
      	(convert_regs_1): Likewise.
      	* reload1.c (reload): Call compute_bb_for_insn.
      	* rtl.h (reorder_insns_nobb): Declare.
      	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
      	* toplev.c (rest_of_compilation): Call free_bb_for_insn
      	at places CFG is invalidated; do not call compute_bb_for_insn.
      
      	* cfg.c (expunge_block): Invalidate BB structure.
      
      	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
      	array.
      
      	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
      
      From-SVN: r45647
      Jan Hubicka committed
  16. 14 Sep, 2001 1 commit
  17. 07 Sep, 2001 2 commits
    • re PR rtl-optimization/3783 (gcc3.0/ia64 ICE on linux kernel file fs/ufs/super.c) · 43fe47ca
      Fix for PR 3783.
      	* alias.c (clear_reg_alias_info): New.
      	* flow.c (attempt_auto_inc): Call clear_reg_alias_info.
      	* rtl.h (clear_reg_alias_info): Declare.
      
      From-SVN: r45482
      Jim Wilson committed
    • loop.c (record_giv): Avoid simplifying MULT to ASHIFT. · 9b3bd424
              * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
              (express_from_1): Wrap lines.
              * rtlanal.c (commutative_operand_precedence): Rename from
              operand_preference; export.
              * rtl.h: Declare it.
              * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
              (simplify_binary_operation): Invoke simplify_plus_minus on
              (CONST (PLUS ...)) as well.
              (struct simplify_plus_minus_op_data): New.
              (simplify_plus_minus_op_data_cmp): New.
              (simplify_plus_minus): Use them.  Avoid infinite recursion with
              simplify_binary_operation wrt CONST.
      
      From-SVN: r45473
      Richard Henderson committed
  18. 30 Aug, 2001 1 commit
    • rtl.def: Undo my patch commited 2001-08-27. · b8ec5764
      2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* rtl.def: Undo my patch commited 2001-08-27.
      
      	* genattrtab.c: Ditto.
      
      	* rtl.h: Ditto.
      
      	* sched-int.h: Ditto.
      
      	* target-def.h: Ditto.
      
      	* target.h: Ditto.
      
      	* haifa-sched.c: Ditto.
      
      	* sched-rgn.c: Ditto.
      
      	* sched-vis.c: Ditto.
      
      	* Makefile.in: Ditto.
      
      	* doc/md.texi: Ditto.
      
      	* doc/tm.texi: Ditto.
      
      	* doc/contrib.texi: Ditto.
      
      	* doc/gcc.texi: Ditto.
      
      	* genattrtab.h: Remove it.
      
      	* genautomata.c: Remove it.
      
      	* genattr.c: Undo my patch and Richard Henderson's patch commited
      	2001-08-27.
      
      From-SVN: r45297
      Vladimir Makarov committed
  19. 27 Aug, 2001 1 commit
    • rtl.def (DEFINE_CPU_UNIT, [...]): New RTL constructions. · acd7baf7
      2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
      
              * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
      	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
      	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
      	RTL constructions.
      
      	* genattr.c (main): New variable num_insn_reservations.  Increase
      	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
      	pipeline hazard recognizer interface.
      
      	* genattrtab.h: New file.
      
      	* genattrtab.c: Include genattrtab.h.
      	(attr_printf, check_attr_test, make_internal_attr,
      	make_numeric_value): Move protypes into genattrtab.h.  Define them
      	as external.
      	(num_dfa_decls): New global variable.
      	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
      	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
      	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
      	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
      
      	* genautomata.c: New file.
      
      	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
      
              * sched-int.h: (curr_state): Add the external definition for
      	automaton pipeline interface.
      	(haifa_insn_data): Add comments for members blockage and units.
      
      	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
      	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
      	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
      	macros.
      	(TARGET_SCHED): Use the new macros.
      
      	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
      	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
      	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
      	dfa_bubble): New members in gcc_target.sched.
      
              * haifa-sched.c (insert_schedule_bubbles_p): New variable.
      	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
      	(insn_queue): Redefine it as pointer to array.
      	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
      	INSN_QUEUE_SIZE.
      	(max_insn_queue_index_macro_value): New variable.
      	(curr_state, dfa_state_size, ready_try): New varaibles for
      	automaton interface.
      	(ready_element, ready_remove, max_issue): New function prototypes
      	for automaton interface.
      	(choose_ready): New function prototype.
      	(insn_unit, blockage_range): Add comments.
      	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
      	FUNCTION_UNITS_SIZE == 0.
      	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
      	actual_hazard, potential_hazard): Add comments.
      	(insn_cost): Use cost -1 as undefined value.  Remove
      	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
      	pipeline interface.
      	(ready_element, ready_remove): New functions for automaton
      	interface.
      	(schedule_insn): Add new code for automaton pipeline interface.
      	(queue_to_ready): Add new code for automaton pipeline interface.
      	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
      	(debug_ready_list): Print newline when the queue is empty.
      	(max_issue): New function for automaton pipeline interface.
      	(choose_ready): New function.
      	(schedule_block): Add new code for automaton pipeline interface.
      	Print ready list before scheduling each insn.
      	(sched_init): Add new code for automaton pipeline interface.
      	Initiate insn cost by -1.
      	(sched_finish): Free the current automaton state and finalize
      	automaton pipeline interface.
      
      	* sched-rgn.c: Include target.h.
      	(init_ready_list, new_ready, debug_dependencies): Add new code for
      	automaton pipeline interface.
      
      	* sched-vis.c: Include target.h.
      	(get_visual_tbl_length): Add code for automaton interface.
      	(target_units, print_block_visualization):  Add comments.
      
              * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
      	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
      	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
      	(getruntime.o, genautomata.o): New entries.
      	(genattrtab.o): Add new dependency file genattrtab.h.
      	(genattrtab): Add new dependencies.  Link it with `libm.a'.
      	(getruntime.o, hashtab.o): New entries for canadian cross.
      
      	* doc/md.texi: Description of automaton based model.
      
      	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
      	Add comments.
      	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
      	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
      	TARGET_SCHED_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
      	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
      	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
      	hook descriptions.
      	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
      	MAX_DFA_ISSUE_RATE): New macro descriptions.
      
      	* doc/contrib.texi: Add dfa based scheduler contribution.
      
      	* doc/gcc.texi: Add more information about genattrtab.
      
      From-SVN: r45202
      Vladimir Makarov committed
  20. 25 Aug, 2001 1 commit
    • predict.c (expensive_function_p): New. · 6ab16dd9
      	* predict.c (expensive_function_p): New.
      	* rtl.h (expensive_function_p): Declare.
      	* i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
      	(use_fast_prologue_epilogue): New static variable.
      	(expand_prologue): Set it; emit short prologues if unset.
      	(expand_epilogue): Likewise.
      
      From-SVN: r45176
      Jan Hubicka committed
  21. 22 Aug, 2001 2 commits
    • jump.c (squeeze_notes): Take parms by reference. · 2270623a
              * jump.c (squeeze_notes): Take parms by reference.  Handle END being
              a squeezable note.
              * rtl.h: Adjust.
              * ifcvt.c (dead_or_predicable): Adjust.
              * loop.c (find_and_verify_loops): Adjust.
              * stmt.c (expand_end_case): Adjust.
              * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
              head and end insn pointers in the basic block, not just local copies.
              (merge_blocks_move_predecessor_nojumps): Likewise.
      
      From-SVN: r45107
      Jason Merrill committed
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  22. 17 Aug, 2001 1 commit
    • system.h: Forward-declare struct rtx_def, struct rtvec_def, and union tree_node. · 2f78c311
      	* system.h: Forward-declare struct rtx_def, struct rtvec_def,
      	and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
      	* rtl.h: Don't forward-declare union tree_node here.  Don't
      	typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
      	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
      	and tree respectively.
      	* tree.h: Don't forward-declare struct rtx_def here.  Don't
      	typedef tree here.  Change all uses of struct rtx_def *,
      	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
      	and tree respectively.
      
      From-SVN: r44980
      Zack Weinberg committed
  23. 15 Aug, 2001 1 commit
    • rtl.h (only_sets_cc0_p): New prototype. · 44ce0063
      	* rtl.h (only_sets_cc0_p): New prototype.
      	* jump.c (sets_cc0_p): Handle INSN.
      	(only_sets_cc0_p): New function.
      	* flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
      	(tidy_fallthru_edge): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* unroll.c (unroll_loop): Likewise.
      	(copy_loop_body): Likewise.
      
      From-SVN: r44927
      John Wehle committed
  24. 13 Aug, 2001 1 commit
  25. 11 Aug, 2001 1 commit
  26. 08 Aug, 2001 1 commit
    • calls.c (ECF_ALWAYS_RETURN): New constant. · 9d98f8f9
      	* calls.c (ECF_ALWAYS_RETURN): New constant.
      	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
      	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
      	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
      	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
      	* rtl.c (reg_note_name): New name.
      	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
      
      From-SVN: r44722
      Jan Hubicka committed
  27. 07 Aug, 2001 2 commits
    • calls.c (expand_call): Do not emit INSN_SETJMP note. · 570a98eb
      	* calls.c (expand_call): Do not emit INSN_SETJMP note.
      	(emit_library_call_value_1): Likewise.
      	(emit_call_1): Emit REG_SETJMP note.
      	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
      	of INSN_SETJMP
      	* cselib.c (cselib_process_insn): Likewise.
      	* flow.c (propagate_block): Likewise.
      	* loop.c (find_and_verify_loops): Likewise.
      	* reload.c (find_equiv_regs): Likewise.
      	* reload1.c (reload): Likewise.
      	* resource.c (mark_referenced_resources,
      	mark_set_resources): Likewise.
      	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
      	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
      	* haifa-sched.c (unlink_other_notes): Likewise.
      	(reemit_notes): Likewise.
      	* sched-ebb.c (sched_ebb): Likewise.
      	* sched-rgc.c (sched_region): Likewise.
      	* rtl.c (note_insn_name): Likewise.
      	(reg_note_name): Add REG_SETJMP
      	* rtl.h (reg_note): Add REG_SETJMP.
      	(insn_note): Remove NOTE_INSN_SETJMP.
      
      	* profile.c (branch_prob): Add fake edges for setjmp.
      
      From-SVN: r44700
      Jan Hubicka committed
    • alias.c (nonlocal_mentioned_p): Rename CONST_CALL_P to CONST_OR_PURE_CALL_P · 24a28584
      	* alias.c (nonlocal_mentioned_p):
      	Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
      	* calls.c (emit_call_1): Likewise.
      	* cse.c (cse_insn, invalidate_skipped_block): Likewise.
      	* cselib.c (cselib_process_insn): Likewise.
      	* df.c (df_insns_modify): Likewise.
      	* flow.c (need_fake_edge_p): Likewise.
      	(propagate_one_insn): Likewise.
      	* haifa-sched.c (reemit_notes): Likewise.
      	* integrate.c (copy_insn_list): Likewise.
      	* jump.c (delete_prior_computation): Likewise.
      	* local-alloc.c (validate_equiv_mem): Likewise.
      	* loop.c (scan_loop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* reload.c (reload): Likewise.
      	* sched-deps (sched_analyze): Likewise.
      	* rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
      	* gcse.c (compute_hash_table): Likewise.
      	(mark_call): Likewise.
      	(store_killed_in_insn): Likewise.
      
      From-SVN: r44688
      Jan Hubicka committed
  28. 29 Jul, 2001 2 commits
  29. 26 Jul, 2001 2 commits
  30. 24 Jul, 2001 1 commit
    • recog.c (split_all_insns_noflow): New. · 6f862f2f
      	* recog.c (split_all_insns_noflow): New.
      	* rtl.h (split_all_insns_noflow): Declare.
      	* ia64.c (ia64_reorg): Use split_all_insns_noflow.
      	* m68hc11.c (m68hc11_reorg): Likewise.
      	* sh.c (machine_dependent_reorg): Likewise.
      	* toplev.c (rest_of_compilation): Likewise for last split_all_insns
      	call.
      
      From-SVN: r44312
      Jan Hubicka committed