alias.c (mark_constant_function): Use INSN_P.
* alias.c (mark_constant_function): Use INSN_P. (init_alias_analysis): Likewise. * combine.c (combine_instructions): Use INSN_P. (can_combine_p): Likewise. (try_combine): Likewise. (distribute_notes): Likewise. (distribute_links): Likewise. * cse.c (cse_around_loop): Use INSN_P. (invalidate_skipped_block): Likewise. (cse_set_around_loop): Likewise. (cse_end_of_basic_block): Likewise. (delete_trivially_dead_insns): Likewise. * emit-rtl.c (unshare_all_rtl_again): Use INSN_P. (unshare_all_rtl_1): Likewise. (next_cc0_user): Likewise. (try_split make_insn_raw): Likewise. (remove_unnecessary_notes): Likewise. * final.c (shorten_branches): Use INSN_P. (leaf_renumber_regs): Likewise. (leaf_renumber_regs_insn): Likewise. * flow.c (find_label_refs): Use INSN_P. (verify_wide_reg): Likewise. (notice_stack_pointer_modification): Likewise. (count_or_remove_death_notes): Likewise. (verify_flow_info): Likewise. (clear_log_links): Likewise. * function.c (fixup_var_refs_insns): Use INSN_P. (compute_insns_for_mem): Likewise. * gcse.c (alloc_gcse_mem): Use INSN_P. (compute_sets): Likewise. (compute_hash_table): Likewise. (classic_gcse): Likewise. (cprop): Likewise. (insert_insn_end_bb): Likewise. (delete_null_pointer_checks_1): Likewise. * global.c (expand_preferences): Use INSN_P. (build_insn_chain): Likewise. * graph.c (node_data): Use INSN_P. * haifa-sched.c (priority): Use INSN_P. (rm_line_notes): Likewise. (rm_other_notes): Likewise. (find_insn_reg_weight): Likewise. (init_target_units): Likewise. (schedule_block): Likewise. (compute_block_forward_dependences): Likewise. (debug_dependencies): Likewise. (set_priorities): Likewise. * integrate.c (function_cannot_inline_p): Use INSN_P. (save_parm_insns): Likewise. (copy_insn_list): Likewise. * jump.c (mark_all_labels): Use INSN_P. (never_reached_warning): Likewise. * lcm.c (optimize_mode_switching): Use INSN_P. * local-alloc.c (validate_equiv_mem): Use INSN_P. (memref_used_between_p): Likewise. (update_equiv_regs): Likewise. (block_alloc): Likewise. (no_conflict_p): Likewise. * loop.c (scan_loop): Use INSN_P. (find_and_verify_loops): Likewise. (count_loop_regs_set): Likewise. (loop_reg_used_before_p): Likewise. (strength_reduce): Likewise. (recombine_givs): Likewise. (check_dbra_loop): Likewise. (load_mems): Likewise. (try_copy_prop): Likewise. * print-rtl.c (print_rtx): Use INSN_P. * recog.c (find_single_use): Use INSN_P. * reg-stack.c (stack_regs_mentioned): Use INSN_P. (next_flags_user): Likewise. (swap_rtx_condition): Likewise. * regmove.c (mark_flags_life_zones): Use INSN_P. (optimize_reg_copy_1): Likewise. (optimize_reg_copy_2): Likewise. (optimize_reg_copy_3): Likewise. (reg_is_remote_constant_p): Likewise. (fixup_match_2): Likewise. (regmove_optimize): Likewise. (fixup_match_1): Likewise. * regrename.c (build_def_use): Use INSN_P. (replace_reg_in_block): Likewise. (consider_use): Likewise. * reload.c (find_equiv_reg): Use INSN_P. * reload1.c (reload): Use INSN_P. (maybe_fix_stack_asms): Likewise. (calculate_needs_all_insns): Likewise. (reload_as_needed): Likewise. (emit_output_reload_insns): Likewise. (delete_address_reloads_1): Likewise. (reload_cse_regs_1): Likewise. (reload_combine): Likewise. (reload_cse_move2add): Likewise. * reorg.c (redundant_insn): Use INSN_P. (dbr_schedule): Likewise. * resource.c (find_dead_or_set_registers): Use INSN_P. (mark_target_live_regs): Likewise. * rtlanal.c (reg_used_between_p): Use INSN_P. (reg_referenced_between_p): Likewise. (reg_set_between_p): Likewise. (reg_set_p): Likewise. (single_set): Likewise. (multiple_sets): Likewise. (find_last_value): Likewise. (reg_set_last): Likewise. (find_reg_note): Likewise. (find_regno_note): Likewise. * sibcall.c (sequence_uses_addressof): Use INSN_P. * simplify-rtx.c (cselib_process_insn): Use INSN_P. * ssa.c (find_evaluations): Use INSN_P. (rename_block): Likewise. (rename_equivalent_regs): Likewise. * unroll.c (loop_find_equiv_value): Use INSN_P. (set_dominates_use): Likewise. * varasm.c (mark_constant_pool): Use INSN_P. (mark_constants): Likewise. * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P. (alphaev4_next_group): Likewise. (alphaev5_next_group): Likewise. * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P. (c4x_rptb_rpts_p): Likewise. * config/mips/mips.c (mips16_optimize_gp): Use INSN_P. * config/rs6000/rs6000.c (uses_TOC): Use INSN_P. (rs6000_adjust_priority): Likewise. * config/sh/sh.c (sh_loop_align): Use INSN_P. (machine_dependent_reorg): Likewise. (split_branches): Likewise. * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P. From-SVN: r35494
This commit is contained in:
parent
54e1d3a6a9
commit
2c3c49dec3
131
gcc/ChangeLog
131
gcc/ChangeLog
|
@ -1,3 +1,134 @@
|
||||||
|
2000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
|
||||||
|
|
||||||
|
* alias.c (mark_constant_function): Use INSN_P.
|
||||||
|
(init_alias_analysis): Likewise.
|
||||||
|
* combine.c (combine_instructions): Use INSN_P.
|
||||||
|
(can_combine_p): Likewise.
|
||||||
|
(try_combine): Likewise.
|
||||||
|
(distribute_notes): Likewise.
|
||||||
|
(distribute_links): Likewise.
|
||||||
|
* cse.c (cse_around_loop): Use INSN_P.
|
||||||
|
(invalidate_skipped_block): Likewise.
|
||||||
|
(cse_set_around_loop): Likewise.
|
||||||
|
(cse_end_of_basic_block): Likewise.
|
||||||
|
(delete_trivially_dead_insns): Likewise.
|
||||||
|
* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
|
||||||
|
(unshare_all_rtl_1): Likewise.
|
||||||
|
(next_cc0_user): Likewise.
|
||||||
|
(try_split make_insn_raw): Likewise.
|
||||||
|
(remove_unnecessary_notes): Likewise.
|
||||||
|
* final.c (shorten_branches): Use INSN_P.
|
||||||
|
(leaf_renumber_regs): Likewise.
|
||||||
|
(leaf_renumber_regs_insn): Likewise.
|
||||||
|
* flow.c (find_label_refs): Use INSN_P.
|
||||||
|
(verify_wide_reg): Likewise.
|
||||||
|
(notice_stack_pointer_modification): Likewise.
|
||||||
|
(count_or_remove_death_notes): Likewise.
|
||||||
|
(verify_flow_info): Likewise.
|
||||||
|
(clear_log_links): Likewise.
|
||||||
|
* function.c (fixup_var_refs_insns): Use INSN_P.
|
||||||
|
(compute_insns_for_mem): Likewise.
|
||||||
|
* gcse.c (alloc_gcse_mem): Use INSN_P.
|
||||||
|
(compute_sets): Likewise.
|
||||||
|
(compute_hash_table): Likewise.
|
||||||
|
(classic_gcse): Likewise.
|
||||||
|
(cprop): Likewise.
|
||||||
|
(insert_insn_end_bb): Likewise.
|
||||||
|
(delete_null_pointer_checks_1): Likewise.
|
||||||
|
* global.c (expand_preferences): Use INSN_P.
|
||||||
|
(build_insn_chain): Likewise.
|
||||||
|
* graph.c (node_data): Use INSN_P.
|
||||||
|
* haifa-sched.c (priority): Use INSN_P.
|
||||||
|
(rm_line_notes): Likewise.
|
||||||
|
(rm_other_notes): Likewise.
|
||||||
|
(find_insn_reg_weight): Likewise.
|
||||||
|
(init_target_units): Likewise.
|
||||||
|
(schedule_block): Likewise.
|
||||||
|
(compute_block_forward_dependences): Likewise.
|
||||||
|
(debug_dependencies): Likewise.
|
||||||
|
(set_priorities): Likewise.
|
||||||
|
* integrate.c (function_cannot_inline_p): Use INSN_P.
|
||||||
|
(save_parm_insns): Likewise.
|
||||||
|
(copy_insn_list): Likewise.
|
||||||
|
* jump.c (mark_all_labels): Use INSN_P.
|
||||||
|
(never_reached_warning): Likewise.
|
||||||
|
* lcm.c (optimize_mode_switching): Use INSN_P.
|
||||||
|
* local-alloc.c (validate_equiv_mem): Use INSN_P.
|
||||||
|
(memref_used_between_p): Likewise.
|
||||||
|
(update_equiv_regs): Likewise.
|
||||||
|
(block_alloc): Likewise.
|
||||||
|
(no_conflict_p): Likewise.
|
||||||
|
* loop.c (scan_loop): Use INSN_P.
|
||||||
|
(find_and_verify_loops): Likewise.
|
||||||
|
(count_loop_regs_set): Likewise.
|
||||||
|
(loop_reg_used_before_p): Likewise.
|
||||||
|
(strength_reduce): Likewise.
|
||||||
|
(recombine_givs): Likewise.
|
||||||
|
(check_dbra_loop): Likewise.
|
||||||
|
(load_mems): Likewise.
|
||||||
|
(try_copy_prop): Likewise.
|
||||||
|
* print-rtl.c (print_rtx): Use INSN_P.
|
||||||
|
* recog.c (find_single_use): Use INSN_P.
|
||||||
|
* reg-stack.c (stack_regs_mentioned): Use INSN_P.
|
||||||
|
(next_flags_user): Likewise.
|
||||||
|
(swap_rtx_condition): Likewise.
|
||||||
|
* regmove.c (mark_flags_life_zones): Use INSN_P.
|
||||||
|
(optimize_reg_copy_1): Likewise.
|
||||||
|
(optimize_reg_copy_2): Likewise.
|
||||||
|
(optimize_reg_copy_3): Likewise.
|
||||||
|
(reg_is_remote_constant_p): Likewise.
|
||||||
|
(fixup_match_2): Likewise.
|
||||||
|
(regmove_optimize): Likewise.
|
||||||
|
(fixup_match_1): Likewise.
|
||||||
|
* regrename.c (build_def_use): Use INSN_P.
|
||||||
|
(replace_reg_in_block): Likewise.
|
||||||
|
(consider_use): Likewise.
|
||||||
|
* reload.c (find_equiv_reg): Use INSN_P.
|
||||||
|
* reload1.c (reload): Use INSN_P.
|
||||||
|
(maybe_fix_stack_asms): Likewise.
|
||||||
|
(calculate_needs_all_insns): Likewise.
|
||||||
|
(reload_as_needed): Likewise.
|
||||||
|
(emit_output_reload_insns): Likewise.
|
||||||
|
(delete_address_reloads_1): Likewise.
|
||||||
|
(reload_cse_regs_1): Likewise.
|
||||||
|
(reload_combine): Likewise.
|
||||||
|
(reload_cse_move2add): Likewise.
|
||||||
|
* reorg.c (redundant_insn): Use INSN_P.
|
||||||
|
(dbr_schedule): Likewise.
|
||||||
|
* resource.c (find_dead_or_set_registers): Use INSN_P.
|
||||||
|
(mark_target_live_regs): Likewise.
|
||||||
|
* rtlanal.c (reg_used_between_p): Use INSN_P.
|
||||||
|
(reg_referenced_between_p): Likewise.
|
||||||
|
(reg_set_between_p): Likewise.
|
||||||
|
(reg_set_p): Likewise.
|
||||||
|
(single_set): Likewise.
|
||||||
|
(multiple_sets): Likewise.
|
||||||
|
(find_last_value): Likewise.
|
||||||
|
(reg_set_last): Likewise.
|
||||||
|
(find_reg_note): Likewise.
|
||||||
|
(find_regno_note): Likewise.
|
||||||
|
* sibcall.c (sequence_uses_addressof): Use INSN_P.
|
||||||
|
* simplify-rtx.c (cselib_process_insn): Use INSN_P.
|
||||||
|
* ssa.c (find_evaluations): Use INSN_P.
|
||||||
|
(rename_block): Likewise.
|
||||||
|
(rename_equivalent_regs): Likewise.
|
||||||
|
* unroll.c (loop_find_equiv_value): Use INSN_P.
|
||||||
|
(set_dominates_use): Likewise.
|
||||||
|
* varasm.c (mark_constant_pool): Use INSN_P.
|
||||||
|
(mark_constants): Likewise.
|
||||||
|
* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
|
||||||
|
(alphaev4_next_group): Likewise.
|
||||||
|
(alphaev5_next_group): Likewise.
|
||||||
|
* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
|
||||||
|
(c4x_rptb_rpts_p): Likewise.
|
||||||
|
* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
|
||||||
|
* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
|
||||||
|
(rs6000_adjust_priority): Likewise.
|
||||||
|
* config/sh/sh.c (sh_loop_align): Use INSN_P.
|
||||||
|
(machine_dependent_reorg): Likewise.
|
||||||
|
(split_branches): Likewise.
|
||||||
|
* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
|
||||||
|
|
||||||
Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com)
|
Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com)
|
||||||
|
|
||||||
* combine.c (recog_for_combine): Remove the old notes
|
* combine.c (recog_for_combine): Remove the old notes
|
||||||
|
|
|
@ -1833,8 +1833,7 @@ mark_constant_function ()
|
||||||
/* Determine if this is a constant function. */
|
/* Determine if this is a constant function. */
|
||||||
|
|
||||||
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && nonlocal_reference_p (insn))
|
||||||
&& nonlocal_reference_p (insn))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Mark the function. */
|
/* Mark the function. */
|
||||||
|
@ -1979,7 +1978,7 @@ init_alias_analysis ()
|
||||||
/* Walk the insns adding values to the new_reg_base_value array. */
|
/* Walk the insns adding values to the new_reg_base_value array. */
|
||||||
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx note, set;
|
rtx note, set;
|
||||||
|
|
||||||
|
|
|
@ -588,7 +588,7 @@ combine_instructions (f, nregs)
|
||||||
subst_low_cuid = i;
|
subst_low_cuid = i;
|
||||||
subst_insn = insn;
|
subst_insn = insn;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
note_stores (PATTERN (insn), set_nonzero_bits_and_sign_copies,
|
note_stores (PATTERN (insn), set_nonzero_bits_and_sign_copies,
|
||||||
NULL);
|
NULL);
|
||||||
|
@ -629,7 +629,7 @@ combine_instructions (f, nregs)
|
||||||
if (GET_CODE (insn) == CODE_LABEL)
|
if (GET_CODE (insn) == CODE_LABEL)
|
||||||
label_tick++;
|
label_tick++;
|
||||||
|
|
||||||
else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
else if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* See if we know about function return values before this
|
/* See if we know about function return values before this
|
||||||
insn based upon SUBREG flags. */
|
insn based upon SUBREG flags. */
|
||||||
|
@ -1166,8 +1166,7 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (p = NEXT_INSN (insn); p != i3; p = NEXT_INSN (p))
|
for (p = NEXT_INSN (insn); p != i3; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (INSN_P (p) && p != succ && volatile_refs_p (PATTERN (p)))
|
||||||
&& p != succ && volatile_refs_p (PATTERN (p)))
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1182,8 +1181,7 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc)
|
||||||
they might affect machine state. */
|
they might affect machine state. */
|
||||||
|
|
||||||
for (p = NEXT_INSN (insn); p != i3; p = NEXT_INSN (p))
|
for (p = NEXT_INSN (insn); p != i3; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (INSN_P (p) && p != succ && volatile_insn_p (PATTERN (p)))
|
||||||
&& p != succ && volatile_insn_p (PATTERN (p)))
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* If INSN or I2 contains an autoincrement or autodecrement,
|
/* If INSN or I2 contains an autoincrement or autodecrement,
|
||||||
|
@ -1518,9 +1516,7 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
||||||
REG_LIBCALL note since we don't want to disrupt the contiguity of a
|
REG_LIBCALL note since we don't want to disrupt the contiguity of a
|
||||||
libcall. */
|
libcall. */
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (i3)) != 'i'
|
if (! INSN_P (i3) || ! INSN_P (i2) || (i1 && ! INSN_P (i1))
|
||||||
|| GET_RTX_CLASS (GET_CODE (i2)) != 'i'
|
|
||||||
|| (i1 && GET_RTX_CLASS (GET_CODE (i1)) != 'i')
|
|
||||||
#if 0
|
#if 0
|
||||||
/* ??? This gives worse code, and appears to be unnecessary, since no
|
/* ??? This gives worse code, and appears to be unnecessary, since no
|
||||||
pass after flow uses REG_LIBCALL/REG_RETVAL notes. */
|
pass after flow uses REG_LIBCALL/REG_RETVAL notes. */
|
||||||
|
@ -2323,8 +2319,7 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
||||||
|| insn != BLOCK_HEAD (this_basic_block + 1));
|
|| insn != BLOCK_HEAD (this_basic_block + 1));
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && reg_referenced_p (ni2dest, PATTERN (insn)))
|
||||||
&& reg_referenced_p (ni2dest, PATTERN (insn)))
|
|
||||||
{
|
{
|
||||||
for (link = LOG_LINKS (insn); link;
|
for (link = LOG_LINKS (insn); link;
|
||||||
link = XEXP (link, 1))
|
link = XEXP (link, 1))
|
||||||
|
@ -2525,7 +2520,7 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
||||||
temp && (this_basic_block == n_basic_blocks - 1
|
temp && (this_basic_block == n_basic_blocks - 1
|
||||||
|| BLOCK_HEAD (this_basic_block) != temp);
|
|| BLOCK_HEAD (this_basic_block) != temp);
|
||||||
temp = NEXT_INSN (temp))
|
temp = NEXT_INSN (temp))
|
||||||
if (temp != i3 && GET_RTX_CLASS (GET_CODE (temp)) == 'i')
|
if (temp != i3 && INSN_P (temp))
|
||||||
for (link = LOG_LINKS (temp); link; link = XEXP (link, 1))
|
for (link = LOG_LINKS (temp); link; link = XEXP (link, 1))
|
||||||
if (XEXP (link, 0) == i2)
|
if (XEXP (link, 0) == i2)
|
||||||
XEXP (link, 0) = i3;
|
XEXP (link, 0) = i3;
|
||||||
|
@ -12213,7 +12208,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
|
||||||
|
|
||||||
for (tem = PREV_INSN (i3); place == 0; tem = PREV_INSN (tem))
|
for (tem = PREV_INSN (i3); place == 0; tem = PREV_INSN (tem))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (tem)) != 'i')
|
if (! INSN_P (tem))
|
||||||
{
|
{
|
||||||
if (tem == bb->head)
|
if (tem == bb->head)
|
||||||
break;
|
break;
|
||||||
|
@ -12554,8 +12549,7 @@ distribute_links (links)
|
||||||
(insn && (this_basic_block == n_basic_blocks - 1
|
(insn && (this_basic_block == n_basic_blocks - 1
|
||||||
|| BLOCK_HEAD (this_basic_block + 1) != insn));
|
|| BLOCK_HEAD (this_basic_block + 1) != insn));
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && reg_overlap_mentioned_p (reg, PATTERN (insn)))
|
||||||
&& reg_overlap_mentioned_p (reg, PATTERN (insn)))
|
|
||||||
{
|
{
|
||||||
if (reg_referenced_p (reg, PATTERN (insn)))
|
if (reg_referenced_p (reg, PATTERN (insn)))
|
||||||
place = insn;
|
place = insn;
|
||||||
|
|
|
@ -4174,7 +4174,7 @@ alpha_does_function_need_gp ()
|
||||||
pop_topmost_sequence ();
|
pop_topmost_sequence ();
|
||||||
|
|
||||||
for (; insn; insn = NEXT_INSN (insn))
|
for (; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& GET_CODE (PATTERN (insn)) != USE
|
&& GET_CODE (PATTERN (insn)) != USE
|
||||||
&& GET_CODE (PATTERN (insn)) != CLOBBER)
|
&& GET_CODE (PATTERN (insn)) != CLOBBER)
|
||||||
{
|
{
|
||||||
|
@ -5453,7 +5453,7 @@ alphaev4_next_group (insn, pin_use, plen)
|
||||||
|
|
||||||
len = in_use = 0;
|
len = in_use = 0;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i'
|
if (! INSN_P (insn)
|
||||||
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
||||||
|| GET_CODE (PATTERN (insn)) == USE)
|
|| GET_CODE (PATTERN (insn)) == USE)
|
||||||
goto next_and_done;
|
goto next_and_done;
|
||||||
|
@ -5518,7 +5518,7 @@ alphaev4_next_group (insn, pin_use, plen)
|
||||||
next:
|
next:
|
||||||
insn = next_nonnote_insn (insn);
|
insn = next_nonnote_insn (insn);
|
||||||
|
|
||||||
if (!insn || GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (!insn || ! INSN_P (insn))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* Let Haifa tell us where it thinks insn group boundaries are. */
|
/* Let Haifa tell us where it thinks insn group boundaries are. */
|
||||||
|
@ -5553,7 +5553,7 @@ alphaev5_next_group (insn, pin_use, plen)
|
||||||
|
|
||||||
len = in_use = 0;
|
len = in_use = 0;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i'
|
if (! INSN_P (insn)
|
||||||
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
||||||
|| GET_CODE (PATTERN (insn)) == USE)
|
|| GET_CODE (PATTERN (insn)) == USE)
|
||||||
goto next_and_done;
|
goto next_and_done;
|
||||||
|
@ -5651,7 +5651,7 @@ alphaev5_next_group (insn, pin_use, plen)
|
||||||
next:
|
next:
|
||||||
insn = next_nonnote_insn (insn);
|
insn = next_nonnote_insn (insn);
|
||||||
|
|
||||||
if (!insn || GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (!insn || ! INSN_P (insn))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* Let Haifa tell us where it thinks insn group boundaries are. */
|
/* Let Haifa tell us where it thinks insn group boundaries are. */
|
||||||
|
|
|
@ -2353,7 +2353,7 @@ c4x_process_after_reload (first)
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
/* Look for insn. */
|
/* Look for insn. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
int insn_code_number;
|
int insn_code_number;
|
||||||
rtx old;
|
rtx old;
|
||||||
|
@ -4696,13 +4696,13 @@ c4x_rptb_rpts_p (insn, op)
|
||||||
insn = next_nonnote_insn (insn);
|
insn = next_nonnote_insn (insn);
|
||||||
|
|
||||||
/* This should be our first insn in the loop. */
|
/* This should be our first insn in the loop. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Skip any notes. */
|
/* Skip any notes. */
|
||||||
insn = next_nonnote_insn (insn);
|
insn = next_nonnote_insn (insn);
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (recog_memoized (insn) != CODE_FOR_rptb_end)
|
if (recog_memoized (insn) != CODE_FOR_rptb_end)
|
||||||
|
|
|
@ -8699,7 +8699,7 @@ mips16_optimize_gp (first)
|
||||||
{
|
{
|
||||||
rtx set;
|
rtx set;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
set = PATTERN (insn);
|
set = PATTERN (insn);
|
||||||
|
@ -8798,10 +8798,10 @@ mips16_optimize_gp (first)
|
||||||
if (next == NULL_RTX)
|
if (next == NULL_RTX)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (next)) != 'i')
|
if (! INSN_P (next))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
set1 = PATTERN (insn);
|
set1 = PATTERN (insn);
|
||||||
|
@ -8854,7 +8854,7 @@ mips16_optimize_gp (first)
|
||||||
{
|
{
|
||||||
rtx set;
|
rtx set;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
set = PATTERN (insn);
|
set = PATTERN (insn);
|
||||||
|
|
|
@ -4950,7 +4950,7 @@ uses_TOC ()
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx pat = PATTERN (insn);
|
rtx pat = PATTERN (insn);
|
||||||
int i;
|
int i;
|
||||||
|
@ -6975,7 +6975,7 @@ rs6000_adjust_priority (insn, priority)
|
||||||
operationss. */
|
operationss. */
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return priority;
|
return priority;
|
||||||
|
|
||||||
if (GET_CODE (PATTERN (insn)) == USE)
|
if (GET_CODE (PATTERN (insn)) == USE)
|
||||||
|
|
|
@ -2825,7 +2825,7 @@ sh_loop_align (label)
|
||||||
while (next && GET_CODE (next) == CODE_LABEL);
|
while (next && GET_CODE (next) == CODE_LABEL);
|
||||||
|
|
||||||
if (! next
|
if (! next
|
||||||
|| GET_RTX_CLASS (GET_CODE (next)) != 'i'
|
|| ! INSN_P (next)
|
||||||
|| GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC
|
|| GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC
|
||||||
|| recog_memoized (next) == CODE_FOR_consttable_2)
|
|| recog_memoized (next) == CODE_FOR_consttable_2)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2863,7 +2863,7 @@ machine_dependent_reorg (first)
|
||||||
dependent REG_NOTE, or some other approach entirely. */
|
dependent REG_NOTE, or some other approach entirely. */
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx note;
|
rtx note;
|
||||||
|
|
||||||
|
@ -2928,7 +2928,7 @@ machine_dependent_reorg (first)
|
||||||
scan && GET_CODE (scan) != CODE_LABEL;
|
scan && GET_CODE (scan) != CODE_LABEL;
|
||||||
scan = PREV_INSN (scan))
|
scan = PREV_INSN (scan))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (scan)) != 'i')
|
if (! INSN_P (scan))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (! reg_mentioned_p (reg, scan))
|
if (! reg_mentioned_p (reg, scan))
|
||||||
|
@ -2981,7 +2981,7 @@ machine_dependent_reorg (first)
|
||||||
if (GET_CODE (scan) == CODE_LABEL && ! foundinsn)
|
if (GET_CODE (scan) == CODE_LABEL && ! foundinsn)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (scan)) != 'i')
|
if (! INSN_P (scan))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Don't try to trace forward past a JUMP. To optimize
|
/* Don't try to trace forward past a JUMP. To optimize
|
||||||
|
@ -3309,7 +3309,7 @@ split_branches (first)
|
||||||
bzero ((char *) uid_branch, max_uid * sizeof *uid_branch);
|
bzero ((char *) uid_branch, max_uid * sizeof *uid_branch);
|
||||||
|
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
else if (INSN_DELETED_P (insn))
|
else if (INSN_DELETED_P (insn))
|
||||||
{
|
{
|
||||||
|
|
|
@ -543,7 +543,7 @@ tahoe_cmp_check (insn, op, max)
|
||||||
&& (INTVAL (op) < 0 || INTVAL (op) > max))
|
&& (INTVAL (op) < 0 || INTVAL (op) > max))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (next)) == 'i')
|
if (INSN_P (next))
|
||||||
{
|
{
|
||||||
next = PATTERN (next);
|
next = PATTERN (next);
|
||||||
if (GET_CODE (next) == SET
|
if (GET_CODE (next) == SET
|
||||||
|
|
21
gcc/cse.c
21
gcc/cse.c
|
@ -6306,12 +6306,11 @@ cse_around_loop (loop_start)
|
||||||
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END);
|
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END);
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& (GET_CODE (PATTERN (insn)) == SET
|
&& (GET_CODE (PATTERN (insn)) == SET
|
||||||
|| GET_CODE (PATTERN (insn)) == CLOBBER))
|
|| GET_CODE (PATTERN (insn)) == CLOBBER))
|
||||||
cse_set_around_loop (PATTERN (insn), insn, loop_start);
|
cse_set_around_loop (PATTERN (insn), insn, loop_start);
|
||||||
else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
else if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == PARALLEL)
|
||||||
&& GET_CODE (PATTERN (insn)) == PARALLEL)
|
|
||||||
for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--)
|
for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--)
|
||||||
if (GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == SET
|
if (GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == SET
|
||||||
|| GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == CLOBBER)
|
|| GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == CLOBBER)
|
||||||
|
@ -6371,7 +6370,7 @@ invalidate_skipped_block (start)
|
||||||
for (insn = start; insn && GET_CODE (insn) != CODE_LABEL;
|
for (insn = start; insn && GET_CODE (insn) != CODE_LABEL;
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (GET_CODE (insn) == CALL_INSN)
|
if (GET_CODE (insn) == CALL_INSN)
|
||||||
|
@ -6471,7 +6470,7 @@ cse_set_around_loop (x, insn, loop_start)
|
||||||
rtx q;
|
rtx q;
|
||||||
rtx cse_check_loop_start_value = SET_SRC (x);
|
rtx cse_check_loop_start_value = SET_SRC (x);
|
||||||
for (q = p; q != loop_start; q = NEXT_INSN (q))
|
for (q = p; q != loop_start; q = NEXT_INSN (q))
|
||||||
if (GET_RTX_CLASS (GET_CODE (q)) == 'i')
|
if (INSN_P (q))
|
||||||
note_stores (PATTERN (q),
|
note_stores (PATTERN (q),
|
||||||
cse_check_loop_start,
|
cse_check_loop_start,
|
||||||
&cse_check_loop_start_value);
|
&cse_check_loop_start_value);
|
||||||
|
@ -6543,8 +6542,7 @@ cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks)
|
||||||
rtx p = insn, q;
|
rtx p = insn, q;
|
||||||
int nsets = 0;
|
int nsets = 0;
|
||||||
int low_cuid = INSN_CUID (insn), high_cuid = INSN_CUID (insn);
|
int low_cuid = INSN_CUID (insn), high_cuid = INSN_CUID (insn);
|
||||||
rtx next =
|
rtx next = INSN_P (insn) ? insn : next_real_insn (insn);
|
||||||
GET_RTX_CLASS (GET_CODE (insn)) == 'i' ? insn : next_real_insn (insn);
|
|
||||||
int path_size = data->path_size;
|
int path_size = data->path_size;
|
||||||
int path_entry = 0;
|
int path_entry = 0;
|
||||||
int i;
|
int i;
|
||||||
|
@ -6602,8 +6600,7 @@ cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks)
|
||||||
|
|
||||||
/* A PARALLEL can have lots of SETs in it,
|
/* A PARALLEL can have lots of SETs in it,
|
||||||
especially if it is really an ASM_OPERANDS. */
|
especially if it is really an ASM_OPERANDS. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (INSN_P (p) && GET_CODE (PATTERN (p)) == PARALLEL)
|
||||||
&& GET_CODE (PATTERN (p)) == PARALLEL)
|
|
||||||
nsets += XVECLEN (PATTERN (p), 0);
|
nsets += XVECLEN (PATTERN (p), 0);
|
||||||
else if (GET_CODE (p) != NOTE)
|
else if (GET_CODE (p) != NOTE)
|
||||||
nsets += 1;
|
nsets += 1;
|
||||||
|
@ -7270,7 +7267,7 @@ delete_trivially_dead_insns (insns, nreg)
|
||||||
insn in the function. We must not skip that insn or we may end
|
insn in the function. We must not skip that insn or we may end
|
||||||
up deleting code that is not really dead. */
|
up deleting code that is not really dead. */
|
||||||
insn = get_last_insn ();
|
insn = get_last_insn ();
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
insn = prev_real_insn (insn);
|
insn = prev_real_insn (insn);
|
||||||
|
|
||||||
for (; insn; insn = prev)
|
for (; insn; insn = prev)
|
||||||
|
@ -7331,7 +7328,7 @@ delete_trivially_dead_insns (insns, nreg)
|
||||||
else if (GET_CODE (SET_DEST (PATTERN (insn))) == CC0
|
else if (GET_CODE (SET_DEST (PATTERN (insn))) == CC0
|
||||||
&& ! side_effects_p (SET_SRC (PATTERN (insn)))
|
&& ! side_effects_p (SET_SRC (PATTERN (insn)))
|
||||||
&& ((tem = next_nonnote_insn (insn)) == 0
|
&& ((tem = next_nonnote_insn (insn)) == 0
|
||||||
|| GET_RTX_CLASS (GET_CODE (tem)) != 'i'
|
|| ! INSN_P (tem)
|
||||||
|| ! reg_referenced_p (cc0_rtx, PATTERN (tem))))
|
|| ! reg_referenced_p (cc0_rtx, PATTERN (tem))))
|
||||||
;
|
;
|
||||||
#endif
|
#endif
|
||||||
|
@ -7363,7 +7360,7 @@ delete_trivially_dead_insns (insns, nreg)
|
||||||
else if (GET_CODE (SET_DEST (elt)) == CC0
|
else if (GET_CODE (SET_DEST (elt)) == CC0
|
||||||
&& ! side_effects_p (SET_SRC (elt))
|
&& ! side_effects_p (SET_SRC (elt))
|
||||||
&& ((tem = next_nonnote_insn (insn)) == 0
|
&& ((tem = next_nonnote_insn (insn)) == 0
|
||||||
|| GET_RTX_CLASS (GET_CODE (tem)) != 'i'
|
|| ! INSN_P (tem)
|
||||||
|| ! reg_referenced_p (cc0_rtx, PATTERN (tem))))
|
|| ! reg_referenced_p (cc0_rtx, PATTERN (tem))))
|
||||||
;
|
;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1761,7 +1761,7 @@ unshare_all_rtl_again (insn)
|
||||||
tree decl;
|
tree decl;
|
||||||
|
|
||||||
for (p = insn; p; p = NEXT_INSN (p))
|
for (p = insn; p; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
reset_used_flags (PATTERN (p));
|
reset_used_flags (PATTERN (p));
|
||||||
reset_used_flags (REG_NOTES (p));
|
reset_used_flags (REG_NOTES (p));
|
||||||
|
@ -1788,7 +1788,7 @@ unshare_all_rtl_1 (insn)
|
||||||
rtx insn;
|
rtx insn;
|
||||||
{
|
{
|
||||||
for (; insn; insn = NEXT_INSN (insn))
|
for (; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
|
PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
|
||||||
REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
|
REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
|
||||||
|
@ -2354,8 +2354,7 @@ next_cc0_user (insn)
|
||||||
if (insn && GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == SEQUENCE)
|
if (insn && GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == SEQUENCE)
|
||||||
insn = XVECEXP (PATTERN (insn), 0, 0);
|
insn = XVECEXP (PATTERN (insn), 0, 0);
|
||||||
|
|
||||||
if (insn && GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (insn && INSN_P (insn) && reg_mentioned_p (cc0_rtx, PATTERN (insn)))
|
||||||
&& reg_mentioned_p (cc0_rtx, PATTERN (insn)))
|
|
||||||
return insn;
|
return insn;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2450,10 +2449,8 @@ try_split (pat, trial, last)
|
||||||
set LAST and continue from the insn after the one returned.
|
set LAST and continue from the insn after the one returned.
|
||||||
We can't use next_active_insn here since AFTER may be a note.
|
We can't use next_active_insn here since AFTER may be a note.
|
||||||
Ignore deleted insns, which can be occur if not optimizing. */
|
Ignore deleted insns, which can be occur if not optimizing. */
|
||||||
for (tem = NEXT_INSN (before); tem != after;
|
for (tem = NEXT_INSN (before); tem != after; tem = NEXT_INSN (tem))
|
||||||
tem = NEXT_INSN (tem))
|
if (! INSN_DELETED_P (tem) && INSN_P (tem))
|
||||||
if (! INSN_DELETED_P (tem)
|
|
||||||
&& GET_RTX_CLASS (GET_CODE (tem)) == 'i')
|
|
||||||
tem = try_split (PATTERN (tem), tem, 1);
|
tem = try_split (PATTERN (tem), tem, 1);
|
||||||
}
|
}
|
||||||
/* Avoid infinite loop if the result matches the original pattern. */
|
/* Avoid infinite loop if the result matches the original pattern. */
|
||||||
|
@ -2503,7 +2500,7 @@ make_insn_raw (pattern)
|
||||||
|
|
||||||
#ifdef ENABLE_RTL_CHECKING
|
#ifdef ENABLE_RTL_CHECKING
|
||||||
if (insn
|
if (insn
|
||||||
&& GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
&& INSN_P (insn)
|
||||||
&& (returnjump_p (insn)
|
&& (returnjump_p (insn)
|
||||||
|| (GET_CODE (insn) == SET
|
|| (GET_CODE (insn) == SET
|
||||||
&& SET_DEST (insn) == pc_rtx)))
|
&& SET_DEST (insn) == pc_rtx)))
|
||||||
|
@ -2865,7 +2862,7 @@ remove_unnecessary_notes ()
|
||||||
don't include labels; if the only thing in the block
|
don't include labels; if the only thing in the block
|
||||||
is a label, then there are still no PC values that
|
is a label, then there are still no PC values that
|
||||||
lie within the block. */
|
lie within the block. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (prev)) == 'i')
|
if (INSN_P (prev))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* We're only interested in NOTEs. */
|
/* We're only interested in NOTEs. */
|
||||||
|
|
12
gcc/final.c
12
gcc/final.c
|
@ -990,7 +990,7 @@ shorten_branches (first)
|
||||||
we must split them before we compute the address/length info. */
|
we must split them before we compute the address/length info. */
|
||||||
|
|
||||||
for (insn = NEXT_INSN (first); insn; insn = NEXT_INSN (insn))
|
for (insn = NEXT_INSN (first); insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx old = insn;
|
rtx old = insn;
|
||||||
/* Don't split the insn if it has been deleted. */
|
/* Don't split the insn if it has been deleted. */
|
||||||
|
@ -1037,7 +1037,7 @@ shorten_branches (first)
|
||||||
int log;
|
int log;
|
||||||
|
|
||||||
INSN_SHUID (insn) = i++;
|
INSN_SHUID (insn) = i++;
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* reorg might make the first insn of a loop being run once only,
|
/* reorg might make the first insn of a loop being run once only,
|
||||||
and delete the label in front of it. Then we want to apply
|
and delete the label in front of it. Then we want to apply
|
||||||
|
@ -1086,7 +1086,7 @@ shorten_branches (first)
|
||||||
{
|
{
|
||||||
rtx label;
|
rtx label;
|
||||||
|
|
||||||
for (label = insn; label && GET_RTX_CLASS (GET_CODE (label)) != 'i';
|
for (label = insn; label && ! INSN_P (label);
|
||||||
label = NEXT_INSN (label))
|
label = NEXT_INSN (label))
|
||||||
if (GET_CODE (label) == CODE_LABEL)
|
if (GET_CODE (label) == CODE_LABEL)
|
||||||
{
|
{
|
||||||
|
@ -4206,10 +4206,10 @@ leaf_renumber_regs (first)
|
||||||
The reg-notes can contain frame pointer refs,
|
The reg-notes can contain frame pointer refs,
|
||||||
and renumbering them could crash, and should not be needed. */
|
and renumbering them could crash, and should not be needed. */
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
leaf_renumber_regs_insn (PATTERN (insn));
|
leaf_renumber_regs_insn (PATTERN (insn));
|
||||||
for (insn = current_function_epilogue_delay_list; insn; insn = XEXP (insn, 1))
|
for (insn = current_function_epilogue_delay_list; insn; insn = XEXP (insn, 1))
|
||||||
if (GET_RTX_CLASS (GET_CODE (XEXP (insn, 0))) == 'i')
|
if (INSN_P (XEXP (insn, 0)))
|
||||||
leaf_renumber_regs_insn (PATTERN (XEXP (insn, 0)));
|
leaf_renumber_regs_insn (PATTERN (XEXP (insn, 0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4255,7 +4255,7 @@ leaf_renumber_regs_insn (in_rtx)
|
||||||
in_rtx->used = 1;
|
in_rtx->used = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (in_rtx)) == 'i')
|
if (INSN_P (in_rtx))
|
||||||
{
|
{
|
||||||
/* Inside a SEQUENCE, we find insns.
|
/* Inside a SEQUENCE, we find insns.
|
||||||
Renumber just the patterns of these insns,
|
Renumber just the patterns of these insns,
|
||||||
|
|
12
gcc/flow.c
12
gcc/flow.c
|
@ -570,7 +570,7 @@ find_label_refs (f, lvl)
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
for (insn = f; insn; insn = NEXT_INSN (insn))
|
for (insn = f; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx note;
|
rtx note;
|
||||||
|
|
||||||
|
@ -2708,7 +2708,7 @@ verify_wide_reg (regno, head, end)
|
||||||
{
|
{
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (head)) == 'i'
|
if (INSN_P (head)
|
||||||
&& for_each_rtx (&PATTERN (head), verify_wide_reg_1, ®no))
|
&& for_each_rtx (&PATTERN (head), verify_wide_reg_1, ®no))
|
||||||
return;
|
return;
|
||||||
if (head == end)
|
if (head == end)
|
||||||
|
@ -2990,7 +2990,7 @@ notice_stack_pointer_modification (f)
|
||||||
|
|
||||||
for (insn = f; insn; insn = NEXT_INSN (insn))
|
for (insn = f; insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* Check if insn modifies the stack pointer. */
|
/* Check if insn modifies the stack pointer. */
|
||||||
note_stores (PATTERN (insn), notice_stack_pointer_modification_1,
|
note_stores (PATTERN (insn), notice_stack_pointer_modification_1,
|
||||||
|
@ -6330,7 +6330,7 @@ count_or_remove_death_notes (blocks, kill)
|
||||||
|
|
||||||
for (insn = bb->head; ; insn = NEXT_INSN (insn))
|
for (insn = bb->head; ; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx *pprev = ®_NOTES (insn);
|
rtx *pprev = ®_NOTES (insn);
|
||||||
rtx link = *pprev;
|
rtx link = *pprev;
|
||||||
|
@ -6642,7 +6642,7 @@ verify_flow_info ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (x)) == 'i'
|
if (INSN_P (x)
|
||||||
&& GET_CODE (x) == JUMP_INSN
|
&& GET_CODE (x) == JUMP_INSN
|
||||||
&& returnjump_p (x) && ! condjump_p (x)
|
&& returnjump_p (x) && ! condjump_p (x)
|
||||||
&& ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIER))
|
&& ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIER))
|
||||||
|
@ -7938,7 +7938,7 @@ clear_log_links (insns)
|
||||||
int b;
|
int b;
|
||||||
|
|
||||||
for (i = insns; i; i = NEXT_INSN (i))
|
for (i = insns; i; i = NEXT_INSN (i))
|
||||||
if (GET_RTX_CLASS (GET_CODE (i)) == 'i')
|
if (INSN_P (i))
|
||||||
LOG_LINKS (i) = 0;
|
LOG_LINKS (i) = 0;
|
||||||
|
|
||||||
for (b = 0; b < n_basic_blocks; b++)
|
for (b = 0; b < n_basic_blocks; b++)
|
||||||
|
|
|
@ -1647,7 +1647,7 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel, ht)
|
||||||
rtx set, prev, prev_set;
|
rtx set, prev, prev_set;
|
||||||
rtx note;
|
rtx note;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* Remember the notes in case we delete the insn. */
|
/* Remember the notes in case we delete the insn. */
|
||||||
note = REG_NOTES (insn);
|
note = REG_NOTES (insn);
|
||||||
|
@ -3248,7 +3248,7 @@ compute_insns_for_mem (insns, last_insn, ht)
|
||||||
|
|
||||||
for (ifmwi.pass = 0; ifmwi.pass < 2; ++ifmwi.pass)
|
for (ifmwi.pass = 0; ifmwi.pass < 2; ++ifmwi.pass)
|
||||||
for (insn = insns; insn != last_insn; insn = NEXT_INSN (insn))
|
for (insn = insns; insn != last_insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
ifmwi.insn = insn;
|
ifmwi.insn = insn;
|
||||||
for_each_rtx (&insn, insns_for_mem_walk, &ifmwi);
|
for_each_rtx (&insn, insns_for_mem_walk, &ifmwi);
|
||||||
|
|
20
gcc/gcse.c
20
gcc/gcse.c
|
@ -892,7 +892,7 @@ alloc_gcse_mem (f)
|
||||||
bzero ((char *) uid_cuid, n);
|
bzero ((char *) uid_cuid, n);
|
||||||
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
|
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
uid_cuid[INSN_UID (insn)] = i++;
|
uid_cuid[INSN_UID (insn)] = i++;
|
||||||
else
|
else
|
||||||
uid_cuid[INSN_UID (insn)] = i;
|
uid_cuid[INSN_UID (insn)] = i;
|
||||||
|
@ -905,7 +905,7 @@ alloc_gcse_mem (f)
|
||||||
cuid_insn = (rtx *) gmalloc (n);
|
cuid_insn = (rtx *) gmalloc (n);
|
||||||
bzero ((char *) cuid_insn, n);
|
bzero ((char *) cuid_insn, n);
|
||||||
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
|
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
CUID_INSN (i++) = insn;
|
CUID_INSN (i++) = insn;
|
||||||
|
|
||||||
/* Allocate vars to track sets of regs. */
|
/* Allocate vars to track sets of regs. */
|
||||||
|
@ -1164,7 +1164,7 @@ compute_sets (f)
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
for (insn = f; insn != 0; insn = NEXT_INSN (insn))
|
for (insn = f; insn != 0; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
note_stores (PATTERN (insn), record_set_info, insn);
|
note_stores (PATTERN (insn), record_set_info, insn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2132,7 +2132,7 @@ compute_hash_table (set_p)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (GET_CODE (insn) == CALL_INSN)
|
if (GET_CODE (insn) == CALL_INSN)
|
||||||
|
@ -2166,7 +2166,7 @@ compute_hash_table (set_p)
|
||||||
for (insn = BLOCK_HEAD (bb), in_libcall_block = 0;
|
for (insn = BLOCK_HEAD (bb), in_libcall_block = 0;
|
||||||
insn && insn != NEXT_INSN (BLOCK_END (bb));
|
insn && insn != NEXT_INSN (BLOCK_END (bb));
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
if (find_reg_note (insn, REG_LIBCALL, NULL_RTX))
|
if (find_reg_note (insn, REG_LIBCALL, NULL_RTX))
|
||||||
in_libcall_block = 1;
|
in_libcall_block = 1;
|
||||||
|
@ -3226,7 +3226,7 @@ classic_gcse ()
|
||||||
|
|
||||||
/* Keep track of everything modified by this insn. */
|
/* Keep track of everything modified by this insn. */
|
||||||
/* ??? Need to be careful w.r.t. mods done to INSN. */
|
/* ??? Need to be careful w.r.t. mods done to INSN. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
mark_oprs_set (insn);
|
mark_oprs_set (insn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3939,7 +3939,7 @@ cprop (alter_jumps)
|
||||||
insn != NULL && insn != NEXT_INSN (BLOCK_END (bb));
|
insn != NULL && insn != NEXT_INSN (BLOCK_END (bb));
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
changed |= cprop_insn (insn, alter_jumps);
|
changed |= cprop_insn (insn, alter_jumps);
|
||||||
|
|
||||||
|
@ -4265,7 +4265,7 @@ insert_insn_end_bb (expr, bb, pre)
|
||||||
{
|
{
|
||||||
rtx maybe_cc0_setter = prev_nonnote_insn (insn);
|
rtx maybe_cc0_setter = prev_nonnote_insn (insn);
|
||||||
if (maybe_cc0_setter
|
if (maybe_cc0_setter
|
||||||
&& GET_RTX_CLASS (GET_CODE (maybe_cc0_setter)) == 'i'
|
&& INSN_P (maybe_cc0_setter)
|
||||||
&& sets_cc0_p (PATTERN (maybe_cc0_setter)))
|
&& sets_cc0_p (PATTERN (maybe_cc0_setter)))
|
||||||
insn = maybe_cc0_setter;
|
insn = maybe_cc0_setter;
|
||||||
}
|
}
|
||||||
|
@ -4356,7 +4356,7 @@ insert_insn_end_bb (expr, bb, pre)
|
||||||
rtx insn = XVECEXP (pat, 0, i);
|
rtx insn = XVECEXP (pat, 0, i);
|
||||||
|
|
||||||
set_block_num (insn, bb);
|
set_block_num (insn, bb);
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
add_label_notes (PATTERN (insn), new_insn);
|
add_label_notes (PATTERN (insn), new_insn);
|
||||||
|
|
||||||
note_stores (PATTERN (insn), record_set_info, insn);
|
note_stores (PATTERN (insn), record_set_info, insn);
|
||||||
|
@ -4908,7 +4908,7 @@ delete_null_pointer_checks_1 (block_reg, nonnull_avin, nonnull_avout, npi)
|
||||||
rtx reg;
|
rtx reg;
|
||||||
|
|
||||||
/* Ignore anything that is not a normal insn. */
|
/* Ignore anything that is not a normal insn. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Basically ignore anything that is not a simple SET. We do have
|
/* Basically ignore anything that is not a simple SET. We do have
|
||||||
|
|
|
@ -835,7 +835,7 @@ expand_preferences ()
|
||||||
where this wins are reg-reg copies. */
|
where this wins are reg-reg copies. */
|
||||||
|
|
||||||
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& (set = single_set (insn)) != 0
|
&& (set = single_set (insn)) != 0
|
||||||
&& GET_CODE (SET_DEST (set)) == REG
|
&& GET_CODE (SET_DEST (set)) == REG
|
||||||
&& reg_allocno[REGNO (SET_DEST (set))] >= 0)
|
&& reg_allocno[REGNO (SET_DEST (set))] >= 0)
|
||||||
|
@ -1798,7 +1798,7 @@ build_insn_chain (first)
|
||||||
c->insn = first;
|
c->insn = first;
|
||||||
c->block = b;
|
c->block = b;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (first)) == 'i')
|
if (INSN_P (first))
|
||||||
{
|
{
|
||||||
rtx link;
|
rtx link;
|
||||||
|
|
||||||
|
@ -1820,7 +1820,7 @@ build_insn_chain (first)
|
||||||
else
|
else
|
||||||
COPY_REG_SET (&c->live_throughout, live_relevant_regs);
|
COPY_REG_SET (&c->live_throughout, live_relevant_regs);
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (first)) == 'i')
|
if (INSN_P (first))
|
||||||
{
|
{
|
||||||
rtx link;
|
rtx link;
|
||||||
|
|
||||||
|
@ -1845,8 +1845,7 @@ build_insn_chain (first)
|
||||||
if (b == n_basic_blocks)
|
if (b == n_basic_blocks)
|
||||||
{
|
{
|
||||||
for (first = NEXT_INSN (first) ; first; first = NEXT_INSN (first))
|
for (first = NEXT_INSN (first) ; first; first = NEXT_INSN (first))
|
||||||
if (GET_RTX_CLASS (GET_CODE (first)) == 'i'
|
if (INSN_P (first) && GET_CODE (PATTERN (first)) != USE)
|
||||||
&& GET_CODE (PATTERN (first)) != USE)
|
|
||||||
abort ();
|
abort ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ darkgrey\n shape: ellipse" : "white",
|
||||||
name = GET_NOTE_INSN_NAME (NOTE_LINE_NUMBER (tmp_rtx));
|
name = GET_NOTE_INSN_NAME (NOTE_LINE_NUMBER (tmp_rtx));
|
||||||
fprintf (fp, " %s", name);
|
fprintf (fp, " %s", name);
|
||||||
}
|
}
|
||||||
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
|
else if (INSN_P (tmp_rtx))
|
||||||
print_rtl_single (fp, PATTERN (tmp_rtx));
|
print_rtl_single (fp, PATTERN (tmp_rtx));
|
||||||
else
|
else
|
||||||
print_rtl_single (fp, tmp_rtx);
|
print_rtl_single (fp, tmp_rtx);
|
||||||
|
|
|
@ -3132,7 +3132,7 @@ priority (insn)
|
||||||
int this_priority;
|
int this_priority;
|
||||||
rtx link;
|
rtx link;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ((this_priority = INSN_PRIORITY (insn)) == 0)
|
if ((this_priority = INSN_PRIORITY (insn)) == 0)
|
||||||
|
@ -4415,8 +4415,7 @@ rm_line_notes (bb)
|
||||||
|
|
||||||
get_bb_head_tail (bb, &head, &tail);
|
get_bb_head_tail (bb, &head, &tail);
|
||||||
|
|
||||||
if (head == tail
|
if (head == tail && (! INSN_P (head)))
|
||||||
&& (GET_RTX_CLASS (GET_CODE (head)) != 'i'))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
next_tail = NEXT_INSN (tail);
|
next_tail = NEXT_INSN (tail);
|
||||||
|
@ -4597,8 +4596,7 @@ rm_other_notes (head, tail)
|
||||||
rtx next_tail;
|
rtx next_tail;
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
if (head == tail
|
if (head == tail && (! INSN_P (head)))
|
||||||
&& (GET_RTX_CLASS (GET_CODE (head)) != 'i'))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
next_tail = NEXT_INSN (tail);
|
next_tail = NEXT_INSN (tail);
|
||||||
|
@ -4644,7 +4642,7 @@ find_insn_reg_weight (b)
|
||||||
rtx x;
|
rtx x;
|
||||||
|
|
||||||
/* Handle register life information. */
|
/* Handle register life information. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Increment weight for each register born here. */
|
/* Increment weight for each register born here. */
|
||||||
|
@ -4819,7 +4817,7 @@ init_target_units ()
|
||||||
|
|
||||||
for (insn = get_last_insn (); insn; insn = PREV_INSN (insn))
|
for (insn = get_last_insn (); insn; insn = PREV_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
unit = insn_unit (insn);
|
unit = insn_unit (insn);
|
||||||
|
@ -5811,7 +5809,7 @@ schedule_block (bb, rgn_n_insns)
|
||||||
|
|
||||||
FIXME: Probably the same thing should be done with REG_SAVE_NOTEs
|
FIXME: Probably the same thing should be done with REG_SAVE_NOTEs
|
||||||
referencing NOTE_INSN_SETJMP at the end of the block. */
|
referencing NOTE_INSN_SETJMP at the end of the block. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (head)) == 'i')
|
if (INSN_P (head))
|
||||||
{
|
{
|
||||||
rtx note;
|
rtx note;
|
||||||
|
|
||||||
|
@ -5834,8 +5832,7 @@ schedule_block (bb, rgn_n_insns)
|
||||||
|
|
||||||
/* If the only insn left is a NOTE or a CODE_LABEL, then there is no need
|
/* If the only insn left is a NOTE or a CODE_LABEL, then there is no need
|
||||||
to schedule this block. */
|
to schedule this block. */
|
||||||
if (head == tail
|
if (head == tail && (! INSN_P (head)))
|
||||||
&& (GET_RTX_CLASS (GET_CODE (head)) != 'i'))
|
|
||||||
return (sched_n_insns);
|
return (sched_n_insns);
|
||||||
|
|
||||||
/* Debug info. */
|
/* Debug info. */
|
||||||
|
@ -5900,12 +5897,12 @@ schedule_block (bb, rgn_n_insns)
|
||||||
{
|
{
|
||||||
rtx next;
|
rtx next;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
next = NEXT_INSN (insn);
|
next = NEXT_INSN (insn);
|
||||||
|
|
||||||
if (INSN_DEP_COUNT (insn) == 0
|
if (INSN_DEP_COUNT (insn) == 0
|
||||||
&& (SCHED_GROUP_P (next) == 0 || GET_RTX_CLASS (GET_CODE (next)) != 'i'))
|
&& (SCHED_GROUP_P (next) == 0 || ! INSN_P (next)))
|
||||||
ready[n_ready++] = insn;
|
ready[n_ready++] = insn;
|
||||||
if (!(SCHED_GROUP_P (insn)))
|
if (!(SCHED_GROUP_P (insn)))
|
||||||
target_n_insns++;
|
target_n_insns++;
|
||||||
|
@ -5925,13 +5922,12 @@ schedule_block (bb, rgn_n_insns)
|
||||||
src_next_tail = NEXT_INSN (tail);
|
src_next_tail = NEXT_INSN (tail);
|
||||||
src_head = head;
|
src_head = head;
|
||||||
|
|
||||||
if (head == tail
|
if (head == tail && (! INSN_P (head)))
|
||||||
&& (GET_RTX_CLASS (GET_CODE (head)) != 'i'))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (insn = src_head; insn != src_next_tail; insn = NEXT_INSN (insn))
|
for (insn = src_head; insn != src_next_tail; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!CANT_MOVE (insn)
|
if (!CANT_MOVE (insn)
|
||||||
|
@ -5949,7 +5945,7 @@ schedule_block (bb, rgn_n_insns)
|
||||||
if (INSN_DEP_COUNT (insn) == 0
|
if (INSN_DEP_COUNT (insn) == 0
|
||||||
&& (! next
|
&& (! next
|
||||||
|| SCHED_GROUP_P (next) == 0
|
|| SCHED_GROUP_P (next) == 0
|
||||||
|| GET_RTX_CLASS (GET_CODE (next)) != 'i'))
|
|| ! INSN_P (next)))
|
||||||
ready[n_ready++] = insn;
|
ready[n_ready++] = insn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6213,7 +6209,7 @@ compute_block_forward_dependences (bb)
|
||||||
next_tail = NEXT_INSN (tail);
|
next_tail = NEXT_INSN (tail);
|
||||||
for (insn = head; insn != next_tail; insn = NEXT_INSN (insn))
|
for (insn = head; insn != next_tail; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
insn = group_leader (insn);
|
insn = group_leader (insn);
|
||||||
|
@ -6599,7 +6595,7 @@ debug_dependencies ()
|
||||||
rtx link;
|
rtx link;
|
||||||
int unit, range;
|
int unit, range;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
fprintf (dump, ";; %6d ", INSN_UID (insn));
|
fprintf (dump, ";; %6d ", INSN_UID (insn));
|
||||||
|
@ -6659,8 +6655,7 @@ set_priorities (bb)
|
||||||
get_bb_head_tail (bb, &head, &tail);
|
get_bb_head_tail (bb, &head, &tail);
|
||||||
prev_head = PREV_INSN (head);
|
prev_head = PREV_INSN (head);
|
||||||
|
|
||||||
if (head == tail
|
if (head == tail && (! INSN_P (head)))
|
||||||
&& (GET_RTX_CLASS (GET_CODE (head)) != 'i'))
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
n_insn = 0;
|
n_insn = 0;
|
||||||
|
|
|
@ -211,7 +211,7 @@ function_cannot_inline_p (fndecl)
|
||||||
for (ninsns = 0, insn = get_first_nonparm_insn ();
|
for (ninsns = 0, insn = get_first_nonparm_insn ();
|
||||||
insn && ninsns < max_insns;
|
insn && ninsns < max_insns;
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
ninsns++;
|
ninsns++;
|
||||||
|
|
||||||
if (ninsns >= max_insns)
|
if (ninsns >= max_insns)
|
||||||
|
@ -480,7 +480,7 @@ save_parm_insns (insn, first_nonparm_insn)
|
||||||
if (insn == first_nonparm_insn)
|
if (insn == first_nonparm_insn)
|
||||||
in_nonparm_insns = 1;
|
in_nonparm_insns = 1;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* Record what interesting things happen to our parameters. */
|
/* Record what interesting things happen to our parameters. */
|
||||||
note_stores (PATTERN (insn), note_modified_parmregs, NULL);
|
note_stores (PATTERN (insn), note_modified_parmregs, NULL);
|
||||||
|
@ -1577,7 +1577,7 @@ copy_insn_list (insns, map, static_chain_value)
|
||||||
are valid across the entire function. */
|
are valid across the entire function. */
|
||||||
map->const_age++;
|
map->const_age++;
|
||||||
for (insn = insns; insn; insn = NEXT_INSN (insn))
|
for (insn = insns; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& map->insn_map[INSN_UID (insn)]
|
&& map->insn_map[INSN_UID (insn)]
|
||||||
&& REG_NOTES (insn))
|
&& REG_NOTES (insn))
|
||||||
{
|
{
|
||||||
|
|
|
@ -855,7 +855,7 @@ mark_all_labels (f, cross_jump)
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
for (insn = f; insn; insn = NEXT_INSN (insn))
|
for (insn = f; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
if (GET_CODE (insn) == CALL_INSN
|
if (GET_CODE (insn) == CALL_INSN
|
||||||
&& GET_CODE (PATTERN (insn)) == CALL_PLACEHOLDER)
|
&& GET_CODE (PATTERN (insn)) == CALL_PLACEHOLDER)
|
||||||
|
@ -3095,7 +3095,7 @@ never_reached_warning (avoided_insn)
|
||||||
two_avoided_lines |= (NOTE_LINE_NUMBER (a_line_note)
|
two_avoided_lines |= (NOTE_LINE_NUMBER (a_line_note)
|
||||||
!= NOTE_LINE_NUMBER (insn));
|
!= NOTE_LINE_NUMBER (insn));
|
||||||
}
|
}
|
||||||
else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
else if (INSN_P (insn))
|
||||||
contains_insn = 1;
|
contains_insn = 1;
|
||||||
}
|
}
|
||||||
if (two_avoided_lines && contains_insn)
|
if (two_avoided_lines && contains_insn)
|
||||||
|
|
|
@ -1061,7 +1061,7 @@ optimize_mode_switching (file)
|
||||||
insn != NULL && insn != NEXT_INSN (BLOCK_END (bb));
|
insn != NULL && insn != NEXT_INSN (BLOCK_END (bb));
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
int mode = MODE_NEEDED (e, insn);
|
int mode = MODE_NEEDED (e, insn);
|
||||||
rtx link;
|
rtx link;
|
||||||
|
|
|
@ -472,7 +472,7 @@ validate_equiv_mem (start, reg, memref)
|
||||||
|
|
||||||
for (insn = start; insn && ! equiv_mem_modified; insn = NEXT_INSN (insn))
|
for (insn = start; insn && ! equiv_mem_modified; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (find_reg_note (insn, REG_DEAD, reg))
|
if (find_reg_note (insn, REG_DEAD, reg))
|
||||||
|
@ -632,8 +632,7 @@ memref_used_between_p (memref, start, end)
|
||||||
|
|
||||||
for (insn = NEXT_INSN (start); insn != NEXT_INSN (end);
|
for (insn = NEXT_INSN (start); insn != NEXT_INSN (end);
|
||||||
insn = NEXT_INSN (insn))
|
insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && memref_referenced_p (memref, PATTERN (insn)))
|
||||||
&& memref_referenced_p (memref, PATTERN (insn)))
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -698,7 +697,7 @@ update_equiv_regs ()
|
||||||
loop_depth--;
|
loop_depth--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (note = REG_NOTES (insn); note; note = XEXP (note, 1))
|
for (note = REG_NOTES (insn); note; note = XEXP (note, 1))
|
||||||
|
@ -909,7 +908,7 @@ update_equiv_regs ()
|
||||||
&& BLOCK_HEAD (block + 1) == insn)
|
&& BLOCK_HEAD (block + 1) == insn)
|
||||||
++block;
|
++block;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
{
|
{
|
||||||
if (GET_CODE (insn) == NOTE)
|
if (GET_CODE (insn) == NOTE)
|
||||||
{
|
{
|
||||||
|
@ -1076,7 +1075,7 @@ block_alloc (b)
|
||||||
if (GET_CODE (insn) != NOTE)
|
if (GET_CODE (insn) != NOTE)
|
||||||
insn_number++;
|
insn_number++;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
register rtx link, set;
|
register rtx link, set;
|
||||||
register int win = 0;
|
register int win = 0;
|
||||||
|
@ -2168,7 +2167,7 @@ no_conflict_p (insn, r0, r1)
|
||||||
last = XEXP (note, 0);
|
last = XEXP (note, 0);
|
||||||
|
|
||||||
for (p = NEXT_INSN (insn); p && p != last; p = NEXT_INSN (p))
|
for (p = NEXT_INSN (insn); p && p != last; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
if (find_reg_note (p, REG_DEAD, r1))
|
if (find_reg_note (p, REG_DEAD, r1))
|
||||||
ok = 1;
|
ok = 1;
|
||||||
|
|
34
gcc/loop.c
34
gcc/loop.c
|
@ -637,7 +637,7 @@ scan_loop (loop, flags)
|
||||||
|
|
||||||
for (p = NEXT_INSN (loop_start);
|
for (p = NEXT_INSN (loop_start);
|
||||||
p != loop_end
|
p != loop_end
|
||||||
&& GET_CODE (p) != CODE_LABEL && GET_RTX_CLASS (GET_CODE (p)) != 'i'
|
&& GET_CODE (p) != CODE_LABEL && ! INSN_P (p)
|
||||||
&& (GET_CODE (p) != NOTE
|
&& (GET_CODE (p) != NOTE
|
||||||
|| (NOTE_LINE_NUMBER (p) != NOTE_INSN_LOOP_BEG
|
|| (NOTE_LINE_NUMBER (p) != NOTE_INSN_LOOP_BEG
|
||||||
&& NOTE_LINE_NUMBER (p) != NOTE_INSN_LOOP_END));
|
&& NOTE_LINE_NUMBER (p) != NOTE_INSN_LOOP_END));
|
||||||
|
@ -753,11 +753,9 @@ scan_loop (loop, flags)
|
||||||
p != NULL_RTX;
|
p != NULL_RTX;
|
||||||
p = next_insn_in_loop (loop, p))
|
p = next_insn_in_loop (loop, p))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (INSN_P (p) && find_reg_note (p, REG_LIBCALL, NULL_RTX))
|
||||||
&& find_reg_note (p, REG_LIBCALL, NULL_RTX))
|
|
||||||
in_libcall = 1;
|
in_libcall = 1;
|
||||||
else if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
else if (INSN_P (p) && find_reg_note (p, REG_RETVAL, NULL_RTX))
|
||||||
&& find_reg_note (p, REG_RETVAL, NULL_RTX))
|
|
||||||
in_libcall = 0;
|
in_libcall = 0;
|
||||||
|
|
||||||
if (GET_CODE (p) == INSN
|
if (GET_CODE (p) == INSN
|
||||||
|
@ -2736,7 +2734,7 @@ find_and_verify_loops (f, loops)
|
||||||
possible second cse pass. */
|
possible second cse pass. */
|
||||||
|
|
||||||
for (insn = f; insn; insn = NEXT_INSN (insn))
|
for (insn = f; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
struct loop *this_loop = uid_loop[INSN_UID (insn)];
|
struct loop *this_loop = uid_loop[INSN_UID (insn)];
|
||||||
|
|
||||||
|
@ -3556,7 +3554,7 @@ count_loop_regs_set (from, to, may_not_move, single_usage, count_ptr, nregs)
|
||||||
|
|
||||||
for (insn = from; insn != to; insn = NEXT_INSN (insn))
|
for (insn = from; insn != to; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
++count;
|
++count;
|
||||||
|
|
||||||
|
@ -3609,8 +3607,7 @@ loop_reg_used_before_p (loop, set, insn)
|
||||||
are done. Otherwise, if we hit LOOP->END, wrap around to LOOP->START. */
|
are done. Otherwise, if we hit LOOP->END, wrap around to LOOP->START. */
|
||||||
for (p = loop->scan_start; p != insn; p = NEXT_INSN (p))
|
for (p = loop->scan_start; p != insn; p = NEXT_INSN (p))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (INSN_P (p) && reg_overlap_mentioned_p (reg, PATTERN (p)))
|
||||||
&& reg_overlap_mentioned_p (reg, PATTERN (p)))
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (p == loop->end)
|
if (p == loop->end)
|
||||||
|
@ -4107,8 +4104,7 @@ strength_reduce (loop, insn_count, flags)
|
||||||
&& insn_dependent_p (giv_insn, next)))
|
&& insn_dependent_p (giv_insn, next)))
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_cc0
|
#ifdef HAVE_cc0
|
||||||
if (! INSN_P (next)
|
if (! INSN_P (next) || ! sets_cc0_p (PATTERN (next)))
|
||||||
|| ! sets_cc0_p (PATTERN (next)))
|
|
||||||
#endif
|
#endif
|
||||||
dominator = next;
|
dominator = next;
|
||||||
}
|
}
|
||||||
|
@ -4352,7 +4348,7 @@ strength_reduce (loop, insn_count, flags)
|
||||||
{
|
{
|
||||||
rtx note;
|
rtx note;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
if (reg_mentioned_p (old_reg, PATTERN (p)))
|
if (reg_mentioned_p (old_reg, PATTERN (p)))
|
||||||
{
|
{
|
||||||
|
@ -4747,7 +4743,7 @@ strength_reduce (loop, insn_count, flags)
|
||||||
if ((auto_inc_opt == 1 && sets_cc0_p (PATTERN (v->insn)))
|
if ((auto_inc_opt == 1 && sets_cc0_p (PATTERN (v->insn)))
|
||||||
|| (auto_inc_opt == -1
|
|| (auto_inc_opt == -1
|
||||||
&& (prev = prev_nonnote_insn (v->insn)) != 0
|
&& (prev = prev_nonnote_insn (v->insn)) != 0
|
||||||
&& GET_RTX_CLASS (GET_CODE (prev)) == 'i'
|
&& INSN_P (prev)
|
||||||
&& sets_cc0_p (PATTERN (prev))))
|
&& sets_cc0_p (PATTERN (prev))))
|
||||||
auto_inc_opt = 0;
|
auto_inc_opt = 0;
|
||||||
}
|
}
|
||||||
|
@ -7474,7 +7470,7 @@ recombine_givs (loop, bl, unroll_p)
|
||||||
if (p == loop->start)
|
if (p == loop->start)
|
||||||
p = loop->end;
|
p = loop->end;
|
||||||
p = PREV_INSN (p);
|
p = PREV_INSN (p);
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
ends_need_computing -= find_life_end (PATTERN (p), stats, p, biv);
|
ends_need_computing -= find_life_end (PATTERN (p), stats, p, biv);
|
||||||
}
|
}
|
||||||
|
@ -7913,7 +7909,7 @@ check_dbra_loop (loop, insn_count)
|
||||||
see if perhaps there are no uses except to count. */
|
see if perhaps there are no uses except to count. */
|
||||||
no_use_except_counting = 1;
|
no_use_except_counting = 1;
|
||||||
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
rtx set = single_set (p);
|
rtx set = single_set (p);
|
||||||
|
|
||||||
|
@ -7951,7 +7947,7 @@ check_dbra_loop (loop, insn_count)
|
||||||
else if (num_mem_sets <= 1)
|
else if (num_mem_sets <= 1)
|
||||||
{
|
{
|
||||||
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
num_nonfixed_reads += count_nonfixed_reads (loop, PATTERN (p));
|
num_nonfixed_reads += count_nonfixed_reads (loop, PATTERN (p));
|
||||||
|
|
||||||
/* If the loop has a single store, and the destination address is
|
/* If the loop has a single store, and the destination address is
|
||||||
|
@ -8292,7 +8288,7 @@ check_dbra_loop (loop, insn_count)
|
||||||
remove all REG_EQUAL notes based on the reversed biv
|
remove all REG_EQUAL notes based on the reversed biv
|
||||||
here. */
|
here. */
|
||||||
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
rtx *pnote;
|
rtx *pnote;
|
||||||
rtx set = single_set (p);
|
rtx set = single_set (p);
|
||||||
|
@ -9552,7 +9548,7 @@ load_mems (loop)
|
||||||
rtx_and_int ri;
|
rtx_and_int ri;
|
||||||
rtx set;
|
rtx set;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
/* See if this copies the mem into a register that isn't
|
/* See if this copies the mem into a register that isn't
|
||||||
modified afterwards. We'll try to do copy propagation
|
modified afterwards. We'll try to do copy propagation
|
||||||
|
@ -9745,7 +9741,7 @@ try_copy_prop (loop, replacement, regno)
|
||||||
if (GET_CODE (insn) == CODE_LABEL && init_insn)
|
if (GET_CODE (insn) == CODE_LABEL && init_insn)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Is this the initializing insn? */
|
/* Is this the initializing insn? */
|
||||||
|
|
|
@ -89,7 +89,7 @@ print_rtx (in_rtx)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
is_insn = (GET_RTX_CLASS (GET_CODE (in_rtx)) == 'i');
|
is_insn = (INSN_P (in_rtx));
|
||||||
|
|
||||||
/* When printing in VCG format we write INSNs, NOTE, LABEL, and BARRIER
|
/* When printing in VCG format we write INSNs, NOTE, LABEL, and BARRIER
|
||||||
in separate nodes and therefore have to handle them special here. */
|
in separate nodes and therefore have to handle them special here. */
|
||||||
|
|
|
@ -856,7 +856,7 @@ find_single_use (dest, insn, ploc)
|
||||||
for (next = next_nonnote_insn (insn);
|
for (next = next_nonnote_insn (insn);
|
||||||
next != 0 && GET_CODE (next) != CODE_LABEL;
|
next != 0 && GET_CODE (next) != CODE_LABEL;
|
||||||
next = next_nonnote_insn (next))
|
next = next_nonnote_insn (next))
|
||||||
if (GET_RTX_CLASS (GET_CODE (next)) == 'i' && dead_or_set_p (next, dest))
|
if (INSN_P (next) && dead_or_set_p (next, dest))
|
||||||
{
|
{
|
||||||
for (link = LOG_LINKS (next); link; link = XEXP (link, 1))
|
for (link = LOG_LINKS (next); link; link = XEXP (link, 1))
|
||||||
if (XEXP (link, 0) == insn)
|
if (XEXP (link, 0) == insn)
|
||||||
|
|
|
@ -302,7 +302,7 @@ stack_regs_mentioned (insn)
|
||||||
unsigned int uid, max;
|
unsigned int uid, max;
|
||||||
int test;
|
int test;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
uid = INSN_UID (insn);
|
uid = INSN_UID (insn);
|
||||||
|
@ -342,8 +342,7 @@ next_flags_user (insn)
|
||||||
if (!insn)
|
if (!insn)
|
||||||
return NULL_RTX;
|
return NULL_RTX;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && reg_mentioned_p (ix86_flags_rtx, PATTERN (insn)))
|
||||||
&& reg_mentioned_p (ix86_flags_rtx, PATTERN (insn)))
|
|
||||||
return insn;
|
return insn;
|
||||||
|
|
||||||
if (GET_CODE (insn) == JUMP_INSN
|
if (GET_CODE (insn) == JUMP_INSN
|
||||||
|
@ -1237,8 +1236,7 @@ swap_rtx_condition (insn)
|
||||||
insn = NEXT_INSN (insn);
|
insn = NEXT_INSN (insn);
|
||||||
if (insn == NULL_RTX)
|
if (insn == NULL_RTX)
|
||||||
return 0;
|
return 0;
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && reg_mentioned_p (dest, insn))
|
||||||
&& reg_mentioned_p (dest, insn))
|
|
||||||
break;
|
break;
|
||||||
if (GET_CODE (insn) == JUMP_INSN)
|
if (GET_CODE (insn) == JUMP_INSN)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -284,7 +284,7 @@ mark_flags_life_zones (flags)
|
||||||
alive, death, birth. This lets more important info
|
alive, death, birth. This lets more important info
|
||||||
overwrite the mode of lesser info. */
|
overwrite the mode of lesser info. */
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
#ifdef HAVE_cc0
|
#ifdef HAVE_cc0
|
||||||
/* In the cc0 case, death is not marked in reg notes,
|
/* In the cc0 case, death is not marked in reg notes,
|
||||||
|
@ -414,7 +414,7 @@ optimize_reg_copy_1 (insn, dest, src)
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (reg_set_p (src, p) || reg_set_p (dest, p)
|
if (reg_set_p (src, p) || reg_set_p (dest, p)
|
||||||
|
@ -599,7 +599,7 @@ optimize_reg_copy_2 (insn, dest, src)
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
set = single_set (p);
|
set = single_set (p);
|
||||||
|
@ -611,7 +611,7 @@ optimize_reg_copy_2 (insn, dest, src)
|
||||||
|
|
||||||
/* Set to stop at next insn. */
|
/* Set to stop at next insn. */
|
||||||
for (q = insn; q != NEXT_INSN (p); q = NEXT_INSN (q))
|
for (q = insn; q != NEXT_INSN (p); q = NEXT_INSN (q))
|
||||||
if (GET_RTX_CLASS (GET_CODE (q)) == 'i')
|
if (INSN_P (q))
|
||||||
{
|
{
|
||||||
if (reg_mentioned_p (dest, PATTERN (q)))
|
if (reg_mentioned_p (dest, PATTERN (q)))
|
||||||
PATTERN (q) = replace_rtx (PATTERN (q), dest, src);
|
PATTERN (q) = replace_rtx (PATTERN (q), dest, src);
|
||||||
|
@ -673,7 +673,7 @@ optimize_reg_copy_3 (insn, dest, src)
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (! p)
|
if (! p)
|
||||||
|
@ -709,7 +709,7 @@ optimize_reg_copy_3 (insn, dest, src)
|
||||||
subreg = gen_rtx_SUBREG (old_mode, src_reg, 0);
|
subreg = gen_rtx_SUBREG (old_mode, src_reg, 0);
|
||||||
while (p = NEXT_INSN (p), p != insn)
|
while (p = NEXT_INSN (p), p != insn)
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Make a tenative change. */
|
/* Make a tenative change. */
|
||||||
|
@ -884,7 +884,7 @@ reg_is_remote_constant_p (reg, insn, first)
|
||||||
{
|
{
|
||||||
rtx s;
|
rtx s;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
s = single_set (p);
|
s = single_set (p);
|
||||||
if (s != 0
|
if (s != 0
|
||||||
|
@ -952,7 +952,7 @@ fixup_match_2 (insn, dst, src, offset, regmove_dump_file)
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (find_regno_note (p, REG_DEAD, REGNO (dst)))
|
if (find_regno_note (p, REG_DEAD, REGNO (dst)))
|
||||||
|
@ -991,7 +991,7 @@ fixup_match_2 (insn, dst, src, offset, regmove_dump_file)
|
||||||
if (GET_CODE (p) == CODE_LABEL
|
if (GET_CODE (p) == CODE_LABEL
|
||||||
|| GET_CODE (p) == JUMP_INSN)
|
|| GET_CODE (p) == JUMP_INSN)
|
||||||
break;
|
break;
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
if (reg_overlap_mentioned_p (dst, PATTERN (p)))
|
if (reg_overlap_mentioned_p (dst, PATTERN (p)))
|
||||||
{
|
{
|
||||||
|
@ -1005,7 +1005,7 @@ fixup_match_2 (insn, dst, src, offset, regmove_dump_file)
|
||||||
if (GET_CODE (p) == CODE_LABEL
|
if (GET_CODE (p) == CODE_LABEL
|
||||||
|| GET_CODE (p) == JUMP_INSN)
|
|| GET_CODE (p) == JUMP_INSN)
|
||||||
break;
|
break;
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
if (reg_overlap_mentioned_p (dst, PATTERN (p)))
|
if (reg_overlap_mentioned_p (dst, PATTERN (p)))
|
||||||
{
|
{
|
||||||
|
@ -1225,7 +1225,7 @@ regmove_optimize (f, nregs, regmove_dump_file)
|
||||||
|
|
||||||
for (insn = get_last_insn (); insn; insn = PREV_INSN (insn))
|
for (insn = get_last_insn (); insn; insn = PREV_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
int op_no, match_no;
|
int op_no, match_no;
|
||||||
int success = 0;
|
int success = 0;
|
||||||
|
@ -1384,7 +1384,7 @@ regmove_optimize (f, nregs, regmove_dump_file)
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
length++;
|
length++;
|
||||||
|
@ -1669,7 +1669,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
|
||||||
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (p) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
|
if (! INSN_P (p))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
length++;
|
length++;
|
||||||
|
@ -1723,7 +1723,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (q)) != 'i')
|
if (! INSN_P (q))
|
||||||
continue;
|
continue;
|
||||||
if (reg_overlap_mentioned_p (src, PATTERN (q))
|
if (reg_overlap_mentioned_p (src, PATTERN (q))
|
||||||
|| reg_set_p (src, q))
|
|| reg_set_p (src, q))
|
||||||
|
@ -1859,8 +1859,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
|
||||||
/* emit_insn_after_with_line_notes has no
|
/* emit_insn_after_with_line_notes has no
|
||||||
return value, so search for the new insn. */
|
return value, so search for the new insn. */
|
||||||
insn = p;
|
insn = p;
|
||||||
while (GET_RTX_CLASS (GET_CODE (insn)) != 'i'
|
while (! INSN_P (insn) || PATTERN (insn) != pat)
|
||||||
|| PATTERN (insn) != pat)
|
|
||||||
insn = PREV_INSN (insn);
|
insn = PREV_INSN (insn);
|
||||||
|
|
||||||
REG_NOTES (insn) = notes;
|
REG_NOTES (insn) = notes;
|
||||||
|
@ -1899,7 +1898,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (q)) != 'i')
|
if (! INSN_P (q))
|
||||||
continue;
|
continue;
|
||||||
s_length2++;
|
s_length2++;
|
||||||
if (reg_set_p (src, q))
|
if (reg_set_p (src, q))
|
||||||
|
@ -1964,7 +1963,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
|
||||||
if (flag_exceptions && GET_CODE (q) == CALL_INSN)
|
if (flag_exceptions && GET_CODE (q) == CALL_INSN)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (q)) != 'i')
|
if (! INSN_P (q))
|
||||||
continue;
|
continue;
|
||||||
if (src != inc_dest && (reg_overlap_mentioned_p (src, PATTERN (q))
|
if (src != inc_dest && (reg_overlap_mentioned_p (src, PATTERN (q))
|
||||||
|| reg_set_p (src, q)))
|
|| reg_set_p (src, q)))
|
||||||
|
|
|
@ -465,7 +465,7 @@ build_def_use (b, ebb, regs_used, du, defs_live_exit)
|
||||||
struct resources insn_res;
|
struct resources insn_res;
|
||||||
struct resources insn_sets;
|
struct resources insn_sets;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CLEAR_RESOURCE (&insn_sets);
|
CLEAR_RESOURCE (&insn_sets);
|
||||||
|
@ -559,7 +559,7 @@ replace_reg_in_block (du, uid_ruid, def, reg_def, avail_reg)
|
||||||
/* Now replace in the uses. */
|
/* Now replace in the uses. */
|
||||||
for (du_idx = def + 1; du_idx < du->high_bound; du_idx++)
|
for (du_idx = def + 1; du_idx < du->high_bound; du_idx++)
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (VARRAY_RTX (*uid_ruid, du_idx))) != 'i')
|
if (! INSN_P (VARRAY_RTX (*uid_ruid, du_idx)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
reg_use = regno_use_in (r, PATTERN (VARRAY_RTX (*uid_ruid, du_idx)));
|
reg_use = regno_use_in (r, PATTERN (VARRAY_RTX (*uid_ruid, du_idx)));
|
||||||
|
@ -802,7 +802,7 @@ consider_use (insn, regno, def_block, use_block)
|
||||||
edge e;
|
edge e;
|
||||||
basic_block ub = BASIC_BLOCK (use_block);
|
basic_block ub = BASIC_BLOCK (use_block);
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* If a use's basic block is different than the def's basic block,
|
/* If a use's basic block is different than the def's basic block,
|
||||||
|
|
|
@ -6309,7 +6309,7 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
pat = PATTERN (p);
|
pat = PATTERN (p);
|
||||||
|
|
||||||
|
|
|
@ -773,7 +773,7 @@ reload (first, global, dumpfile)
|
||||||
= gen_rtx_INSN_LIST (VOIDmode, insn,
|
= gen_rtx_INSN_LIST (VOIDmode, insn,
|
||||||
reg_equiv_init[REGNO (SET_SRC (set))]);
|
reg_equiv_init[REGNO (SET_SRC (set))]);
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
scan_paradoxical_subregs (PATTERN (insn));
|
scan_paradoxical_subregs (PATTERN (insn));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1113,7 +1113,7 @@ reload (first, global, dumpfile)
|
||||||
and regenerate REG_INC notes that may have been moved around. */
|
and regenerate REG_INC notes that may have been moved around. */
|
||||||
|
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx *pnote;
|
rtx *pnote;
|
||||||
|
|
||||||
|
@ -1225,7 +1225,7 @@ maybe_fix_stack_asms ()
|
||||||
HARD_REG_SET clobbered, allowed;
|
HARD_REG_SET clobbered, allowed;
|
||||||
rtx pat;
|
rtx pat;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (chain->insn)) != 'i'
|
if (! INSN_P (chain->insn)
|
||||||
|| (noperands = asm_noperands (PATTERN (chain->insn))) < 0)
|
|| (noperands = asm_noperands (PATTERN (chain->insn))) < 0)
|
||||||
continue;
|
continue;
|
||||||
pat = PATTERN (chain->insn);
|
pat = PATTERN (chain->insn);
|
||||||
|
@ -1360,11 +1360,10 @@ calculate_needs_all_insns (global)
|
||||||
known offsets at labels. */
|
known offsets at labels. */
|
||||||
|
|
||||||
if (GET_CODE (insn) == CODE_LABEL || GET_CODE (insn) == JUMP_INSN
|
if (GET_CODE (insn) == CODE_LABEL || GET_CODE (insn) == JUMP_INSN
|
||||||
|| (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
|| (INSN_P (insn) && REG_NOTES (insn) != 0))
|
||||||
&& REG_NOTES (insn) != 0))
|
|
||||||
set_label_offsets (insn, insn, 0);
|
set_label_offsets (insn, insn, 0);
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx old_body = PATTERN (insn);
|
rtx old_body = PATTERN (insn);
|
||||||
int old_code = INSN_CODE (insn);
|
int old_code = INSN_CODE (insn);
|
||||||
|
@ -3746,7 +3745,7 @@ reload_as_needed (live_known)
|
||||||
if (GET_CODE (insn) == CODE_LABEL)
|
if (GET_CODE (insn) == CODE_LABEL)
|
||||||
set_offsets_for_label (insn);
|
set_offsets_for_label (insn);
|
||||||
|
|
||||||
else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
else if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
rtx oldpat = PATTERN (insn);
|
rtx oldpat = PATTERN (insn);
|
||||||
|
|
||||||
|
@ -3834,7 +3833,7 @@ reload_as_needed (live_known)
|
||||||
|
|
||||||
if (asm_noperands (PATTERN (insn)) >= 0)
|
if (asm_noperands (PATTERN (insn)) >= 0)
|
||||||
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
|
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
|
||||||
if (p != insn && GET_RTX_CLASS (GET_CODE (p)) == 'i'
|
if (p != insn && INSN_P (p)
|
||||||
&& (recog_memoized (p) < 0
|
&& (recog_memoized (p) < 0
|
||||||
|| (extract_insn (p), ! constrain_operands (1))))
|
|| (extract_insn (p), ! constrain_operands (1))))
|
||||||
{
|
{
|
||||||
|
@ -6560,7 +6559,7 @@ emit_output_reload_insns (chain, rl, j)
|
||||||
|
|
||||||
/* Look at all insns we emitted, just to be safe. */
|
/* Look at all insns we emitted, just to be safe. */
|
||||||
for (p = get_insns (); p; p = NEXT_INSN (p))
|
for (p = get_insns (); p; p = NEXT_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
rtx pat = PATTERN (p);
|
rtx pat = PATTERN (p);
|
||||||
|
|
||||||
|
@ -7635,7 +7634,7 @@ delete_address_reloads_1 (dead_insn, x, current_insn)
|
||||||
{
|
{
|
||||||
if (GET_CODE (i2) == CODE_LABEL)
|
if (GET_CODE (i2) == CODE_LABEL)
|
||||||
break;
|
break;
|
||||||
if (GET_RTX_CLASS (GET_CODE (i2)) != 'i')
|
if (! INSN_P (i2))
|
||||||
continue;
|
continue;
|
||||||
if (reg_referenced_p (dst, PATTERN (i2)))
|
if (reg_referenced_p (dst, PATTERN (i2)))
|
||||||
{
|
{
|
||||||
|
@ -7969,7 +7968,7 @@ reload_cse_regs_1 (first)
|
||||||
|
|
||||||
for (insn = first; insn; insn = NEXT_INSN (insn))
|
for (insn = first; insn; insn = NEXT_INSN (insn))
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
reload_cse_simplify (insn);
|
reload_cse_simplify (insn);
|
||||||
|
|
||||||
cselib_process_insn (insn);
|
cselib_process_insn (insn);
|
||||||
|
@ -8424,7 +8423,7 @@ reload_combine ()
|
||||||
if (! fixed_regs[r])
|
if (! fixed_regs[r])
|
||||||
reg_state[r].use_index = RELOAD_COMBINE_MAX_USES;
|
reg_state[r].use_index = RELOAD_COMBINE_MAX_USES;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
reload_combine_ruid++;
|
reload_combine_ruid++;
|
||||||
|
@ -8855,7 +8854,7 @@ reload_cse_move2add (first)
|
||||||
|
|
||||||
if (GET_CODE (insn) == CODE_LABEL)
|
if (GET_CODE (insn) == CODE_LABEL)
|
||||||
last_label_luid = move2add_luid;
|
last_label_luid = move2add_luid;
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
continue;
|
continue;
|
||||||
pat = PATTERN (insn);
|
pat = PATTERN (insn);
|
||||||
/* For simplicity, we only perform this optimization on
|
/* For simplicity, we only perform this optimization on
|
||||||
|
|
|
@ -1631,7 +1631,7 @@ redundant_insn (insn, target, delay_list)
|
||||||
if (GET_CODE (trial) == CODE_LABEL)
|
if (GET_CODE (trial) == CODE_LABEL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (trial)) != 'i')
|
if (! INSN_P (trial))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
pat = PATTERN (trial);
|
pat = PATTERN (trial);
|
||||||
|
@ -3594,7 +3594,7 @@ dbr_schedule (first, file)
|
||||||
next = NEXT_INSN (insn);
|
next = NEXT_INSN (insn);
|
||||||
|
|
||||||
if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == USE
|
if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == USE
|
||||||
&& GET_RTX_CLASS (GET_CODE (XEXP (PATTERN (insn), 0))) == 'i')
|
&& INSN_P (XEXP (PATTERN (insn), 0)))
|
||||||
next = delete_insn (insn);
|
next = delete_insn (insn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -452,7 +452,7 @@ find_dead_or_set_registers (target, res, jump_target, jump_count, set, needed)
|
||||||
/* If INSN is a USE made by update_block, we care about the
|
/* If INSN is a USE made by update_block, we care about the
|
||||||
underlying insn. Any registers set by the underlying insn
|
underlying insn. Any registers set by the underlying insn
|
||||||
are live since the insn is being done somewhere else. */
|
are live since the insn is being done somewhere else. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (XEXP (PATTERN (insn), 0))) == 'i')
|
if (INSN_P (XEXP (PATTERN (insn), 0)))
|
||||||
mark_set_resources (XEXP (PATTERN (insn), 0), res, 0,
|
mark_set_resources (XEXP (PATTERN (insn), 0), res, 0,
|
||||||
MARK_SRC_DEST_CALL);
|
MARK_SRC_DEST_CALL);
|
||||||
|
|
||||||
|
@ -991,7 +991,7 @@ mark_target_live_regs (insns, target, res)
|
||||||
/* If this insn is a USE made by update_block, we care about the
|
/* If this insn is a USE made by update_block, we care about the
|
||||||
underlying insn. */
|
underlying insn. */
|
||||||
if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == USE
|
if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == USE
|
||||||
&& GET_RTX_CLASS (GET_CODE (XEXP (PATTERN (insn), 0))) == 'i')
|
&& INSN_P (XEXP (PATTERN (insn), 0)))
|
||||||
real_insn = XEXP (PATTERN (insn), 0);
|
real_insn = XEXP (PATTERN (insn), 0);
|
||||||
|
|
||||||
if (GET_CODE (real_insn) == CALL_INSN)
|
if (GET_CODE (real_insn) == CALL_INSN)
|
||||||
|
|
|
@ -418,7 +418,7 @@ reg_used_between_p (reg, from_insn, to_insn)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& (reg_overlap_mentioned_p (reg, PATTERN (insn))
|
&& (reg_overlap_mentioned_p (reg, PATTERN (insn))
|
||||||
|| (GET_CODE (insn) == CALL_INSN
|
|| (GET_CODE (insn) == CALL_INSN
|
||||||
&& (find_reg_fusage (insn, USE, reg)
|
&& (find_reg_fusage (insn, USE, reg)
|
||||||
|
@ -517,7 +517,7 @@ reg_referenced_between_p (reg, from_insn, to_insn)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn)
|
||||||
&& (reg_referenced_p (reg, PATTERN (insn))
|
&& (reg_referenced_p (reg, PATTERN (insn))
|
||||||
|| (GET_CODE (insn) == CALL_INSN
|
|| (GET_CODE (insn) == CALL_INSN
|
||||||
&& find_reg_fusage (insn, USE, reg))))
|
&& find_reg_fusage (insn, USE, reg))))
|
||||||
|
@ -538,8 +538,7 @@ reg_set_between_p (reg, from_insn, to_insn)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
for (insn = NEXT_INSN (from_insn); insn != to_insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
if (INSN_P (insn) && reg_set_p (reg, insn))
|
||||||
&& reg_set_p (reg, insn))
|
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -571,7 +570,7 @@ reg_set_p (reg, insn)
|
||||||
|
|
||||||
/* We can be passed an insn or part of one. If we are passed an insn,
|
/* We can be passed an insn or part of one. If we are passed an insn,
|
||||||
check if a side-effect of the insn clobbers REG. */
|
check if a side-effect of the insn clobbers REG. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
if (FIND_REG_INC_NOTE (insn, reg)
|
if (FIND_REG_INC_NOTE (insn, reg)
|
||||||
|| (GET_CODE (insn) == CALL_INSN
|
|| (GET_CODE (insn) == CALL_INSN
|
||||||
|
@ -802,7 +801,7 @@ single_set (insn)
|
||||||
rtx set;
|
rtx set;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (GET_CODE (PATTERN (insn)) == SET)
|
if (GET_CODE (PATTERN (insn)) == SET)
|
||||||
|
@ -852,7 +851,7 @@ multiple_sets (insn)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* INSN must be an insn. */
|
/* INSN must be an insn. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Only a PARALLEL can have multiple SETs. */
|
/* Only a PARALLEL can have multiple SETs. */
|
||||||
|
@ -891,7 +890,7 @@ find_last_value (x, pinsn, valid_to, allow_hwreg)
|
||||||
|
|
||||||
for (p = PREV_INSN (*pinsn); p && GET_CODE (p) != CODE_LABEL;
|
for (p = PREV_INSN (*pinsn); p && GET_CODE (p) != CODE_LABEL;
|
||||||
p = PREV_INSN (p))
|
p = PREV_INSN (p))
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
{
|
{
|
||||||
rtx set = single_set (p);
|
rtx set = single_set (p);
|
||||||
rtx note = find_reg_note (p, REG_EQUAL, NULL_RTX);
|
rtx note = find_reg_note (p, REG_EQUAL, NULL_RTX);
|
||||||
|
@ -1194,7 +1193,7 @@ reg_set_last (x, insn)
|
||||||
&& ! (GET_CODE (insn) == CALL_INSN
|
&& ! (GET_CODE (insn) == CALL_INSN
|
||||||
&& reg_set_last_last_regno <= FIRST_PSEUDO_REGISTER);
|
&& reg_set_last_last_regno <= FIRST_PSEUDO_REGISTER);
|
||||||
insn = PREV_INSN (insn))
|
insn = PREV_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
note_stores (PATTERN (insn), reg_set_last_1, NULL);
|
note_stores (PATTERN (insn), reg_set_last_1, NULL);
|
||||||
if (reg_set_last_unknown)
|
if (reg_set_last_unknown)
|
||||||
|
@ -1427,7 +1426,7 @@ find_reg_note (insn, kind, datum)
|
||||||
register rtx link;
|
register rtx link;
|
||||||
|
|
||||||
/* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN. */
|
/* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
||||||
|
@ -1451,7 +1450,7 @@ find_regno_note (insn, kind, regno)
|
||||||
register rtx link;
|
register rtx link;
|
||||||
|
|
||||||
/* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN. */
|
/* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
||||||
|
|
|
@ -301,7 +301,7 @@ sequence_uses_addressof (seq)
|
||||||
rtx insn;
|
rtx insn;
|
||||||
|
|
||||||
for (insn = seq; insn; insn = NEXT_INSN (insn))
|
for (insn = seq; insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
/* If this is a CALL_PLACEHOLDER, then recursively call ourselves
|
/* If this is a CALL_PLACEHOLDER, then recursively call ourselves
|
||||||
with each nonempty sequence attached to the CALL_PLACEHOLDER. */
|
with each nonempty sequence attached to the CALL_PLACEHOLDER. */
|
||||||
|
|
|
@ -3189,7 +3189,7 @@ cselib_process_insn (insn)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
|
if (! INSN_P (insn))
|
||||||
{
|
{
|
||||||
cselib_current_insn = 0;
|
cselib_current_insn = 0;
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -491,7 +491,7 @@ find_evaluations (evals, nregs)
|
||||||
last = BLOCK_END (bb);
|
last = BLOCK_END (bb);
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
|
if (INSN_P (p))
|
||||||
note_stores (PATTERN (p), find_evaluations_1, NULL);
|
note_stores (PATTERN (p), find_evaluations_1, NULL);
|
||||||
|
|
||||||
if (p == last)
|
if (p == last)
|
||||||
|
@ -999,7 +999,7 @@ rename_block (bb, idom)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
insn = next;
|
insn = next;
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
struct rename_context context;
|
struct rename_context context;
|
||||||
context.done_renames = set_data;
|
context.done_renames = set_data;
|
||||||
|
@ -2122,7 +2122,7 @@ rename_equivalent_regs (reg_partition)
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
insn = next;
|
insn = next;
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
{
|
{
|
||||||
for_each_rtx (&PATTERN (insn),
|
for_each_rtx (&PATTERN (insn),
|
||||||
rename_equivalent_regs_in_insn,
|
rename_equivalent_regs_in_insn,
|
||||||
|
|
|
@ -3522,8 +3522,7 @@ loop_find_equiv_value (loop, reg)
|
||||||
if (GET_CODE (insn) == CODE_LABEL)
|
if (GET_CODE (insn) == CODE_LABEL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
else if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
|
else if (INSN_P (insn) && reg_set_p (reg, insn))
|
||||||
&& reg_set_p (reg, insn))
|
|
||||||
{
|
{
|
||||||
/* We found the last insn before the loop that sets the register.
|
/* We found the last insn before the loop that sets the register.
|
||||||
If it sets the entire register, and has a REG_EQUAL note,
|
If it sets the entire register, and has a REG_EQUAL note,
|
||||||
|
@ -4125,8 +4124,7 @@ set_dominates_use (regno, first_uid, last_uid, copy_start, copy_end)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Verify that FIRST_UID is an insn that entirely sets REGNO. */
|
/* Verify that FIRST_UID is an insn that entirely sets REGNO. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (p)) != 'i'
|
if (! INSN_P (p) || ! dead_or_set_regno_p (p, regno))
|
||||||
|| ! dead_or_set_regno_p (p, regno))
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* FIRST_UID is always executed. */
|
/* FIRST_UID is always executed. */
|
||||||
|
|
|
@ -3889,13 +3889,13 @@ mark_constant_pool ()
|
||||||
pool->mark = 0;
|
pool->mark = 0;
|
||||||
|
|
||||||
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
mark_constants (PATTERN (insn));
|
mark_constants (PATTERN (insn));
|
||||||
|
|
||||||
for (insn = current_function_epilogue_delay_list;
|
for (insn = current_function_epilogue_delay_list;
|
||||||
insn;
|
insn;
|
||||||
insn = XEXP (insn, 1))
|
insn = XEXP (insn, 1))
|
||||||
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
|
if (INSN_P (insn))
|
||||||
mark_constants (PATTERN (insn));
|
mark_constants (PATTERN (insn));
|
||||||
|
|
||||||
/* It's possible that the only reference to a symbol is in a symbol
|
/* It's possible that the only reference to a symbol is in a symbol
|
||||||
|
@ -3953,7 +3953,7 @@ mark_constants (x)
|
||||||
/* Insns may appear inside a SEQUENCE. Only check the patterns of
|
/* Insns may appear inside a SEQUENCE. Only check the patterns of
|
||||||
insns, not any notes that may be attached. We don't want to mark
|
insns, not any notes that may be attached. We don't want to mark
|
||||||
a constant just because it happens to appear in a REG_EQUIV note. */
|
a constant just because it happens to appear in a REG_EQUIV note. */
|
||||||
if (GET_RTX_CLASS (GET_CODE (x)) == 'i')
|
if (INSN_P (x))
|
||||||
{
|
{
|
||||||
mark_constants (PATTERN (x));
|
mark_constants (PATTERN (x));
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue