diff options
author | Jan Hubicka <jh@suse.cz> | 2001-09-21 14:55:18 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-09-21 12:55:18 +0000 |
commit | 53c170316f895dc3dfa7173e69fc43b15b7acb1a (patch) | |
tree | 270b09662a6e53b3a40319fd6d71ba88ad553f13 /gcc/reorg.c | |
parent | f2d3c02aa02309b6bd102066f4961451fbcfc1bb (diff) | |
download | gcc-53c170316f895dc3dfa7173e69fc43b15b7acb1a.zip gcc-53c170316f895dc3dfa7173e69fc43b15b7acb1a.tar.gz gcc-53c170316f895dc3dfa7173e69fc43b15b7acb1a.tar.bz2 |
basic-block.h (flow_delete_insn, [...]): Kill.
* 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
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index 2039945..986ef671 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -455,7 +455,7 @@ emit_delay_sequence (insn, list, length) We will put the BARRIER back in later. */ if (NEXT_INSN (insn) && GET_CODE (NEXT_INSN (insn)) == BARRIER) { - delete_insn (NEXT_INSN (insn)); + delete_related_insns (NEXT_INSN (insn)); last = get_last_insn (); had_barrier = 1; } @@ -590,7 +590,7 @@ delete_from_delay_slot (insn) list, and rebuild the delay list if non-empty. */ prev = PREV_INSN (seq_insn); trial = XVECEXP (seq, 0, 0); - delete_insn (seq_insn); + delete_related_insns (seq_insn); add_insn_after (trial, prev); if (GET_CODE (trial) == JUMP_INSN @@ -651,14 +651,14 @@ delete_scheduled_jump (insn) || FIND_REG_INC_NOTE (trial, 0)) return; if (PREV_INSN (NEXT_INSN (trial)) == trial) - delete_insn (trial); + delete_related_insns (trial); else delete_from_delay_slot (trial); } } #endif - delete_insn (insn); + delete_related_insns (insn); } /* Counters for delay-slot filling. */ @@ -762,7 +762,7 @@ optimize_skip (insn) delay_list = add_to_delay_list (trial, NULL_RTX); next_trial = next_active_insn (trial); update_block (trial, trial); - delete_insn (trial); + delete_related_insns (trial); /* Also, if we are targeting an unconditional branch, thread our jump to the target of that branch. Don't @@ -1510,7 +1510,7 @@ try_merge_delay_insns (insn, thread) if (trial == thread) thread = next_active_insn (thread); - delete_insn (trial); + delete_related_insns (trial); INSN_FROM_TARGET_P (next_to_match) = 0; } else @@ -1603,7 +1603,7 @@ try_merge_delay_insns (insn, thread) else { update_block (XEXP (merged_insns, 0), thread); - delete_insn (XEXP (merged_insns, 0)); + delete_related_insns (XEXP (merged_insns, 0)); } } @@ -2191,7 +2191,7 @@ fill_simple_delay_slots (non_jumps_p) delay_list = gen_rtx_INSN_LIST (VOIDmode, trial, delay_list); update_block (trial, trial); - delete_insn (trial); + delete_related_insns (trial); if (slots_to_fill == ++slots_filled) break; continue; @@ -2329,7 +2329,7 @@ fill_simple_delay_slots (non_jumps_p) link_cc0_insns (trial); #endif - delete_insn (trial); + delete_related_insns (trial); if (slots_to_fill == ++slots_filled) break; continue; @@ -2488,7 +2488,7 @@ fill_simple_delay_slots (non_jumps_p) current_function_epilogue_delay_list); mark_end_of_function_resources (trial, 1); update_block (trial, trial); - delete_insn (trial); + delete_related_insns (trial); /* Clear deleted bit so final.c will output the insn. */ INSN_DELETED_P (trial) = 0; @@ -2636,7 +2636,7 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely, new_thread = thread; } - delete_insn (trial); + delete_related_insns (trial); } else { @@ -2710,7 +2710,7 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely, if (new_thread == trial) new_thread = thread; } - delete_insn (trial); + delete_related_insns (trial); } else new_thread = next_active_insn (trial); @@ -2869,7 +2869,7 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely, if (recog_memoized (ninsn) < 0 || (extract_insn (ninsn), ! constrain_operands (1))) { - delete_insn (ninsn); + delete_related_insns (ninsn); return 0; } @@ -2882,7 +2882,7 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely, if (new_thread == trial) new_thread = thread; } - delete_insn (trial); + delete_related_insns (trial); } else new_thread = next_active_insn (trial); @@ -3128,7 +3128,7 @@ relax_delay_slots (first) if (invert_jump (insn, label, 1)) { - delete_insn (next); + delete_related_insns (next); next = insn; } @@ -3136,7 +3136,7 @@ relax_delay_slots (first) --LABEL_NUSES (label); if (--LABEL_NUSES (target_label) == 0) - delete_insn (target_label); + delete_related_insns (target_label); continue; } @@ -3212,7 +3212,7 @@ relax_delay_slots (first) INSN_FROM_TARGET_P (XVECEXP (pat, 0, i)) = 0; trial = PREV_INSN (insn); - delete_insn (insn); + delete_related_insns (insn); emit_insn_after (pat, trial); delete_scheduled_jump (delay_insn); continue; @@ -3325,7 +3325,7 @@ relax_delay_slots (first) INSN_FROM_TARGET_P (XVECEXP (pat, 0, i)) = 0; trial = PREV_INSN (insn); - delete_insn (insn); + delete_related_insns (insn); emit_insn_after (pat, trial); delete_scheduled_jump (delay_insn); continue; @@ -3340,7 +3340,7 @@ relax_delay_slots (first) && XVECLEN (pat, 0) == 2 && rtx_equal_p (PATTERN (next), PATTERN (XVECEXP (pat, 0, 1)))) { - delete_insn (insn); + delete_related_insns (insn); continue; } @@ -3384,12 +3384,12 @@ relax_delay_slots (first) INSN_FROM_TARGET_P (slot) = ! INSN_FROM_TARGET_P (slot); } - delete_insn (next); + delete_related_insns (next); next = insn; } if (old_label && --LABEL_NUSES (old_label) == 0) - delete_insn (old_label); + delete_related_insns (old_label); continue; } } @@ -3508,7 +3508,7 @@ make_return_insns (first) { rtx prev = PREV_INSN (insn); - delete_insn (insn); + delete_related_insns (insn); for (i = 1; i < XVECLEN (pat, 0); i++) prev = emit_insn_after (PATTERN (XVECEXP (pat, 0, i)), prev); @@ -3527,7 +3527,7 @@ make_return_insns (first) /* Now delete REAL_RETURN_LABEL if we never used it. Then try to fill any new delay slots we have created. */ if (--LABEL_NUSES (real_return_label) == 0) - delete_insn (real_return_label); + delete_related_insns (real_return_label); fill_simple_delay_slots (1); fill_simple_delay_slots (0); @@ -3637,14 +3637,14 @@ dbr_schedule (first, file) if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == USE && INSN_P (XEXP (PATTERN (insn), 0))) - next = delete_insn (insn); + next = delete_related_insns (insn); } /* If we made an end of function label, indicate that it is now safe to delete it by undoing our prior adjustment to LABEL_NUSES. If it is now unused, delete it. */ if (end_of_function_label && --LABEL_NUSES (end_of_function_label) == 0) - delete_insn (end_of_function_label); + delete_related_insns (end_of_function_label); #ifdef HAVE_return if (HAVE_return && end_of_function_label != 0) |