diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-21 12:55:18 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-21 12:55:18 +0000 |
commit | e4bf866d3b6dcde0717eea60e420ff147a7b0304 (patch) | |
tree | 270b09662a6e53b3a40319fd6d71ba88ad553f13 /gcc/unroll.c | |
parent | 369293ed9c65de0c519c829159ead40bd141af1d (diff) | |
download | gcc-e4bf866d3b6dcde0717eea60e420ff147a7b0304.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45726 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index bf0c607dffc..f3f565681d8 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -355,7 +355,7 @@ unroll_loop (loop, insn_count, strength_reduce_p) rtx ujump = ujump_to_loop_cont (loop->start, loop->cont); if (ujump) - delete_insn (ujump); + delete_related_insns (ujump); /* If number of iterations is exactly 1, then eliminate the compare and branch at the end of the loop since they will never be taken. @@ -367,31 +367,31 @@ unroll_loop (loop, insn_count, strength_reduce_p) if (GET_CODE (last_loop_insn) == BARRIER) { /* Delete the jump insn. This will delete the barrier also. */ - delete_insn (PREV_INSN (last_loop_insn)); + delete_related_insns (PREV_INSN (last_loop_insn)); } else if (GET_CODE (last_loop_insn) == JUMP_INSN) { #ifdef HAVE_cc0 rtx prev = PREV_INSN (last_loop_insn); #endif - delete_insn (last_loop_insn); + delete_related_insns (last_loop_insn); #ifdef HAVE_cc0 /* The immediately preceding insn may be a compare which must be deleted. */ if (only_sets_cc0_p (prev)) - delete_insn (prev); + delete_related_insns (prev); #endif } /* Remove the loop notes since this is no longer a loop. */ if (loop->vtop) - delete_insn (loop->vtop); + delete_related_insns (loop->vtop); if (loop->cont) - delete_insn (loop->cont); + delete_related_insns (loop->cont); if (loop_start) - delete_insn (loop_start); + delete_related_insns (loop_start); if (loop_end) - delete_insn (loop_end); + delete_related_insns (loop_end); return; } @@ -1291,16 +1291,16 @@ unroll_loop (loop, insn_count, strength_reduce_p) && ! (GET_CODE (insn) == CODE_LABEL && LABEL_NAME (insn)) && ! (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL)) - insn = delete_insn (insn); + insn = delete_related_insns (insn); else insn = NEXT_INSN (insn); } /* Can now delete the 'safety' label emitted to protect us from runaway - delete_insn calls. */ + delete_related_insns calls. */ if (INSN_DELETED_P (safety_label)) abort (); - delete_insn (safety_label); + delete_related_insns (safety_label); /* If exit_label exists, emit it after the loop. Doing the emit here forces it to have a higher INSN_UID than any insn in the unrolled loop. @@ -1315,13 +1315,13 @@ unroll_loop (loop, insn_count, strength_reduce_p) { /* Remove the loop notes since this is no longer a loop. */ if (loop->vtop) - delete_insn (loop->vtop); + delete_related_insns (loop->vtop); if (loop->cont) - delete_insn (loop->cont); + delete_related_insns (loop->cont); if (loop_start) - delete_insn (loop_start); + delete_related_insns (loop_start); if (loop_end) - delete_insn (loop_end); + delete_related_insns (loop_end); } if (map->const_equiv_varray) @@ -1562,7 +1562,7 @@ calculate_giv_inc (pattern, src_insn, regno) /* The last insn emitted is not needed, so delete it to avoid confusing the second cse pass. This insn sets the giv unnecessarily. */ - delete_insn (get_last_insn ()); + delete_related_insns (get_last_insn ()); } /* Verify that we have a constant as the second operand of the plus. */ @@ -1601,7 +1601,7 @@ calculate_giv_inc (pattern, src_insn, regno) src_insn = PREV_INSN (src_insn); increment = SET_SRC (PATTERN (src_insn)); /* Don't need the last insn anymore. */ - delete_insn (get_last_insn ()); + delete_related_insns (get_last_insn ()); if (GET_CODE (second_part) != CONST_INT || GET_CODE (increment) != CONST_INT) @@ -1620,7 +1620,7 @@ calculate_giv_inc (pattern, src_insn, regno) /* The insn loading the constant into a register is no longer needed, so delete it. */ - delete_insn (get_last_insn ()); + delete_related_insns (get_last_insn ()); } if (increment_total) @@ -1644,7 +1644,7 @@ calculate_giv_inc (pattern, src_insn, regno) src_insn = PREV_INSN (src_insn); pattern = PATTERN (src_insn); - delete_insn (get_last_insn ()); + delete_related_insns (get_last_insn ()); goto retry; } @@ -2148,7 +2148,7 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration, #ifdef HAVE_cc0 /* If the previous insn set cc0 for us, delete it. */ if (only_sets_cc0_p (PREV_INSN (copy))) - delete_insn (PREV_INSN (copy)); + delete_related_insns (PREV_INSN (copy)); #endif /* If this is now a no-op, delete it. */ @@ -2159,7 +2159,7 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration, instruction in the loop. */ if (JUMP_LABEL (copy)) LABEL_NUSES (JUMP_LABEL (copy))++; - delete_insn (copy); + delete_related_insns (copy); if (JUMP_LABEL (copy)) LABEL_NUSES (JUMP_LABEL (copy))--; copy = 0; @@ -2954,7 +2954,7 @@ find_splittable_givs (loop, bl, unroll_type, increment, unroll_number) /* We can't use bl->initial_value to compute the initial value, because the loop may have been preconditioned. We must calculate it from NEW_REG. */ - delete_insn (PREV_INSN (loop->start)); + delete_related_insns (PREV_INSN (loop->start)); start_sequence (); ret = force_operand (v->new_reg, tem); |