Lines Matching defs:use_insn
195 /* Prepare to replace FROM with TO in USE_INSN. */
197 fwprop_propagation::fwprop_propagation (insn_info *use_insn,
199 : insn_propagation (use_insn->rtl (), from, to),
201 single_ebb_p (use_insn->ebb () == def->ebb ())
358 USE_INSN. Return the number of substitutions on success, otherwise return
359 -1 and leave USE_INSN unchanged.
368 try_fwprop_subst_note (insn_info *use_insn, set_info *def,
371 rtx_insn *use_rtl = use_insn->rtl ();
375 fwprop_propagation prop (use_insn, def, dest, src);
381 use_insn->uid (), prop.failure_reason);
395 use_insn->uid (), "wouldn't fold to constants");
406 use_insn->uid (), "would increase complexity of node");
427 USE_INSN's pattern. Return true on success, otherwise leave USE_INSN
434 insn_info *use_insn = use_change.insn ();
435 rtx_insn *use_rtl = use_insn->rtl ();
439 fwprop_propagation prop (use_insn, def, dest, src);
444 " insn %d: %s\n", def_insn->uid (), use_insn->uid (),
456 " insn %d: %s\n", def_insn->uid (), use_insn->uid (),
464 def_insn->uid (), use_insn->uid ());
474 if (ok && !prop.changed_mem_p () && !use_insn->is_asm ())
529 && try_fwprop_subst_note (use_insn, def, note, dest, src, false) < 0)
544 /* Try to substitute (set DEST SRC), which defines DEF, into USE_INSN's notes,
545 given that it was not possible to do this for USE_INSN's main pattern.
546 Return true on success, otherwise leave USE_INSN unchanged. */
549 try_fwprop_subst_notes (insn_info *use_insn, set_info *def,
552 rtx_insn *use_rtl = use_insn->rtl ();
556 && try_fwprop_subst_note (use_insn, def, note, dest, src, true) > 0)
570 Return true on success, otherwise leave USE_INSN unchanged. */
576 insn_info *use_insn = use->insn ();
591 to make the uses available at use_insn->ebb ()->first_bb (). */
592 if (def_insn->bb () != use_insn->bb ())
595 use_insn->bb (),
596 use_insn->is_debug_insn ());
601 insn_change use_change (use_insn);
609 use_change.move_range = use_insn->ebb ()->insn_range (); */
614 || try_fwprop_subst_notes (use_insn, def, dest, src));
761 insn_info *use_insn = use->insn ();
762 rtx_insn *use_rtl = use_insn->rtl ();
768 bool need_single_set = (!use_insn->is_asm () && !use_insn->is_debug_insn ());
782 if (use_insn->is_asm () && def_insn->uses ().size () > 1)
866 insn_info *use_insn = use->insn ();
867 rtx_insn *use_rtl = use_insn->rtl ();