Home | History | Annotate | Download | only in gcc

Lines Matching defs:jump_insn

277     case JUMP_INSN:
619 /* Delete INSN, a JUMP_INSN. */
677 INSN is a JUMP_INSN.
791 mostly_true_jump (rtx jump_insn)
795 rtx note = find_reg_note (jump_insn, REG_BR_PROB, 0);
1455 /* Stop for an INSN or JUMP_INSN with delayed effects and its delay
1555 /* If this is an INSN or JUMP_INSN with delayed effects, it
2194 rtx_jump_insn *jump_insn;
2195 if ((jump_insn = dyn_cast <rtx_jump_insn *> (insn))
2196 && simplejump_p (jump_insn)
2198 fill_slots_from_thread (jump_insn, const_true_rtx,
2794 rtx_jump_insn *jump_insn;
2802 || ! (jump_insn = dyn_cast <rtx_jump_insn *> (insn))
2803 || ! (condjump_p (jump_insn) || condjump_in_parallel_p (jump_insn)))
2806 slots_to_fill = num_delay_slots (jump_insn);
2822 target_label = JUMP_LABEL (jump_insn);
2823 condition = get_branch_condition (jump_insn, target_label);
2843 fallthrough_insn = next_active_insn (jump_insn);
2844 own_fallthrough = own_thread_p (NEXT_INSN (jump_insn), NULL_RTX, 1);
2845 prediction = mostly_true_jump (jump_insn);
2854 fill_slots_from_thread (jump_insn, condition, insn_at_target,
2865 target_label = JUMP_LABEL (jump_insn);
2868 fill_slots_from_thread (jump_insn, condition, fallthrough_insn,
2877 fill_slots_from_thread (jump_insn, condition, fallthrough_insn,
2882 fill_slots_from_thread (jump_insn, condition, insn_at_target,
2889 = emit_delay_sequence (jump_insn, delay_list, slots_filled);
3091 /* Look at every JUMP_INSN and see if we can improve it. */
3106 rtx_jump_insn *jump_insn = as_a <rtx_jump_insn *> (insn);
3108 = skip_consecutive_labels (follow_jumps (target_label, jump_insn,
3115 && ! condjump_in_parallel_p (jump_insn)
3116 && ! (next && switch_text_sections_between_p (jump_insn, next)))
3135 delete_jump (jump_insn);
3139 if (target_label && target_label != JUMP_LABEL (jump_insn))
3141 reorg_redirect_jump (jump_insn, target_label);
3143 CROSSING_JUMP_P (jump_insn) = 1;
3150 && any_condjump_p (jump_insn)
3154 && no_labels_between_p (jump_insn, next)
3155 && targetm.can_follow_jump (jump_insn, next))
3170 if (invert_jump (jump_insn, label, 1))
3180 next = jump_insn;
3276 /* Now look only at the cases where we have a filled JUMP_INSN. */
3496 rtx_jump_insn *jump_insn;
3556 jump_insn = as_a <rtx_jump_insn *> (pat->insn (0));
3560 if (!reorg_redirect_jump (jump_insn, kind))
3564 if (redirect_with_delay_slots_safe_p (jump_insn, real_label, insn))
3565 reorg_redirect_jump (jump_insn, real_label);
3573 flags = get_jump_flags (jump_insn, JUMP_LABEL (jump_insn));
3574 slots = num_delay_slots (jump_insn);
3580 (INSN_ANNULLED_BRANCH_P (jump_insn)
3582 ? eligible_for_annul_false (jump_insn, i - 1,
3586 (INSN_ANNULLED_BRANCH_P (jump_insn)
3588 ? eligible_for_annul_true (jump_insn, i - 1,
3591 eligible_for_delay (jump_insn, i - 1,
3605 if (ANY_RETURN_P (PATTERN (jump_insn)))
3610 insn = jump_insn;
3622 reorg_redirect_jump (jump_insn, real_label);