Lines Matching defs:i2

602 combine_validate_cost (rtx i1, rtx i2, rtx i3, rtx newpat, rtx newi2pat)
609 i2_cost = INSN_UID (i2) <= last_insn_cost
610 ? uid_insn_cost[INSN_UID (i2)] : 0;
668 INSN_UID (i1), INSN_UID (i2), INSN_UID (i3));
676 INSN_UID (i2), INSN_UID (i3));
694 uid_insn_cost[INSN_UID (i2)] = new_i2_cost;
1512 i1 or i2 set the same MEM. */
1821 try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
1863 || cant_combine_insn_p (i2)
1885 if (i1 && INSN_CUID (i1) > INSN_CUID (i2))
1886 temp = i1, i1 = i2, i2 = temp;
1910 && GET_CODE (PATTERN (i2)) == PARALLEL
1920 && next_real_insn (i2) == i3)
1922 rtx p2 = PATTERN (i2);
1950 subst_low_cuid = INSN_CUID (i2);
1954 i2dest_killed = dead_or_set_p (i2, i2dest);
1972 && (temp = single_set (i2)) != 0
2089 subst_low_cuid = INSN_CUID (i2);
2092 i2dest_killed = dead_or_set_p (i2, i2dest);
2097 newpat = PATTERN (i2);
2116 if (i1 == 0 && GET_CODE (PATTERN (i2)) == PARALLEL
2117 && XVECLEN (PATTERN (i2), 0) >= 2
2118 && GET_CODE (XVECEXP (PATTERN (i2), 0, 0)) == SET
2119 && (GET_MODE_CLASS (GET_MODE (SET_DEST (XVECEXP (PATTERN (i2), 0, 0))))
2121 && GET_CODE (SET_SRC (XVECEXP (PATTERN (i2), 0, 0))) == COMPARE
2122 && XEXP (SET_SRC (XVECEXP (PATTERN (i2), 0, 0)), 1) == const0_rtx
2123 && GET_CODE (XVECEXP (PATTERN (i2), 0, 1)) == SET
2124 && REG_P (SET_DEST (XVECEXP (PATTERN (i2), 0, 1)))
2125 && rtx_equal_p (XEXP (SET_SRC (XVECEXP (PATTERN (i2), 0, 0)), 0),
2126 SET_SRC (XVECEXP (PATTERN (i2), 0, 1))))
2128 for (i = XVECLEN (PATTERN (i2), 0) - 1; i >= 2; i--)
2129 if (GET_CODE (XVECEXP (PATTERN (i2), 0, i)) != CLOBBER)
2139 i1 = gen_rtx_INSN (VOIDmode, INSN_UID (i2), NULL_RTX, i2,
2140 BLOCK_FOR_INSN (i2), INSN_LOCATOR (i2),
2141 XVECEXP (PATTERN (i2), 0, 1), -1, NULL_RTX,
2144 SUBST (PATTERN (i2), XVECEXP (PATTERN (i2), 0, 0));
2145 SUBST (XEXP (SET_SRC (PATTERN (i2)), 0),
2152 if (! can_combine_p (i2, i3, i1, NULL_RTX, &i2dest, &i2src)
2153 || (i1 && ! can_combine_p (i1, i3, NULL_RTX, i2, &i1dest, &i1src)))
2164 i2dest_killed = dead_or_set_p (i2, i2dest);
2207 && (reg_overlap_mentioned_p (XEXP (link, 0), PATTERN (i2))
2231 : (dead_or_set_p (i3, i1dest) || dead_or_set_p (i2, i1dest)));
2242 if (GET_CODE (PATTERN (i2)) == PARALLEL)
2245 i2pat = copy_rtx (PATTERN (i2));
2361 subst_low_cuid = INSN_CUID (i2);
2372 subst_low_cuid = INSN_CUID (i2);
2377 /* Record whether i2's body now appears within i3's body. */
2391 && dead_or_set_p (i2, i1dest)
2410 if ((FIND_REG_INC_NOTE (i2, NULL_RTX) != 0
2501 i3, and one from i2. Combining then splitting the parallel results
2502 in the original i2 again plus an invalid insn (which we delete).
2649 && (next_real_insn (i2) == i3
2650 || ! use_crosses_set_p (PATTERN (m_split), INSN_CUID (i2))))
2659 i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
2666 && (next_real_insn (i2) == i3
2667 || ! reg_used_between_p (SET_DEST (i2set), i2, i3)))
2713 && (next_real_insn (i2) == i3
2714 || ! use_crosses_set_p (*split, INSN_CUID (i2)))
2835 i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
2884 INSN_CUID (i2))
2914 i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
2938 INSN_CUID (i2))
2969 i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
3034 if (p && p != i2 && NONJUMP_INSN_P (p) && newi2pat
3045 if (!combine_validate_cost (i1, i2, i3, newpat, newi2pat))
3117 i2notes = REG_NOTES (i2), i2links = LOG_LINKS (i2);
3174 for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
3175 if ((GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == SET
3176 || GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == CLOBBER)
3177 && REG_P (SET_DEST (XVECEXP (PATTERN (i2), 0, i)))
3178 && SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest
3179 && ! find_reg_note (i2, REG_UNUSED,
3180 SET_DEST (XVECEXP (PATTERN (i2), 0, i))))
3181 for (temp = NEXT_INSN (i2);
3187 if (XEXP (link, 0) == i2)
3204 LOG_LINKS (i2) = 0;
3205 REG_NOTES (i2) = 0;
3209 INSN_CODE (i2) = i2_code_number;
3210 PATTERN (i2) = newi2pat;
3213 SET_INSN_DELETED (i2);
3229 move_deaths (newi2pat, NULL_RTX, INSN_CUID (i1), i2, &midnotes);
3233 move_deaths (newpat, NULL_RTX, i1 ? INSN_CUID (i1) : INSN_CUID (i2),
3238 distribute_notes (i3notes, i3, i3, newi2pat ? i2 : NULL_RTX,
3241 distribute_notes (i2notes, i2, i3, newi2pat ? i2 : NULL_RTX,
3244 distribute_notes (i1notes, i1, i3, newi2pat ? i2 : NULL_RTX,
3247 distribute_notes (midnotes, NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
3261 distribute_notes (new_i2_notes, i2, i2, NULL_RTX, NULL_RTX, NULL_RTX);
3288 NULL_RTX, i2, NULL_RTX, elim_i2, elim_i1);
3292 NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
3303 NULL_RTX, i2, NULL_RTX, NULL_RTX, NULL_RTX);
3306 NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
3317 NULL_RTX, i2, NULL_RTX, NULL_RTX, NULL_RTX);
3320 NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
3424 && (newi2pat == 0 || INSN_CUID (added_links_insn) < INSN_CUID (i2))
3428 return newi2pat ? i2 : i3;
11931 distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2,
11961 gcc_assert (i2 && JUMP_P (i2));
11962 place = i2;
11970 else if (i2 && CALL_P (i2))
11971 place = i2;
11977 else if (i2 && may_trap_p (i2))
11978 place = i2;
11993 gcc_assert (i2 && CALL_P (i2));
11994 place = i2;
12002 Any clobbers from i2 or i1 can only exist if they were added by
12010 i2 or i1 for register which were both used and clobbered, so
12011 we keep notes from i2 or i1 if they will turn into REG_DEAD
12066 if (i2 && reg_mentioned_p (XEXP (note, 0), PATTERN (i2)))
12069 place2 = i2;
12071 place = i2;
12086 if (i2
12087 && (reg_mentioned_p (XEXP (note, 0), PATTERN (i2))
12088 || ((tem = find_reg_note (i2, REG_EQUAL, NULL_RTX))
12093 place2 = i2;
12095 place = i2;
12214 else if (i2 != 0 && next_nonnote_insn (i2) == i3
12215 && reg_referenced_p (XEXP (note, 0), PATTERN (i2)))
12216 place = i2;
12334 by i2, which now no longer dies in i3 and is used in
12335 i2 but does not die in i2, and place is between i2
12337 i2. */
12338 if (i2 && INSN_UID (place) <= max_uid_cuid
12339 && INSN_CUID (place) > INSN_CUID (i2)
12341 && INSN_CUID (from_insn) > INSN_CUID (i2)
12342 && reg_referenced_p (XEXP (note, 0), PATTERN (i2)))