Lines Matching refs:last_cmp
347 struct comparison *last_cmp = NULL;
361 last_cmp = (struct comparison *) single_pred (bb)->aux;
362 if (last_cmp)
363 last_cmp_valid = last_cmp->inputs_valid;
383 if (last_cmp_valid && can_eliminate_compare (src, eh_note, last_cmp))
391 last_cmp = XCNEW (struct comparison);
392 last_cmp->insn = insn;
393 last_cmp->prev_clobber = last_clobber;
394 last_cmp->in_a = strip_not (XEXP (src, 0));
395 last_cmp->in_b = XEXP (src, 1);
396 last_cmp->not_in_a = is_not (XEXP (src, 0));
397 last_cmp->eh_note = eh_note;
398 last_cmp->orig_mode = GET_MODE (src);
399 if (last_cmp->in_b == const0_rtx
400 && last_setter[REGNO (last_cmp->in_a)])
402 rtx set = single_set (last_setter[REGNO (last_cmp->in_a)]);
403 if (set && rtx_equal_p (SET_DEST (set), last_cmp->in_a))
404 last_cmp->in_a_setter = last_setter[REGNO (last_cmp->in_a)];
406 all_compares.safe_push (last_cmp);
417 if (last_cmp)
418 find_flags_uses_in_insn (last_cmp, insn);
431 last_cmp = NULL;
443 && (DF_REF_REGNO (def) == REGNO (last_cmp->in_a)
444 || (REG_P (last_cmp->in_b)
445 && DF_REF_REGNO (def) == REGNO (last_cmp->in_b))))
453 if (last_cmp)
455 bb->aux = last_cmp;
456 last_cmp->inputs_valid = last_cmp_valid;
471 last_cmp->missing_uses = true;