Lines Matching defs:tied

782  * also is implicitly true for tied destinations whose source is live-through.
789 return (reg->flags & IR3_REG_EARLY_CLOBBER) || reg->tied;
1008 /* Treat tied destinations as-if they are live-through sources, and normal
1057 unsigned dst_size = reg->tied ? 0 : reg_size(reg);
1096 /* dst intervals with a tied killed source are considered attached to
1098 * update them below if their tied source moves.
1100 if (other_dst->tied) {
1102 &ctx->intervals[other_dst->tied->def->name];
1126 * sources overlap non-tied destinations. Also check that we have enough
1275 /* If we shuffled around a tied source that is killed, we may have to update
1282 struct ir3_register *tied = dst->tied;
1283 if (!tied)
1286 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1366 * sources. This must be used for tied registers, because we're actually
1367 * allocating the destination and the tied source at the same time.
1507 /* If a tied destination interferes with its source register, we have to insert
1510 * happen in parallel with any shuffling around of the tied source, so we have
1519 struct ir3_register *tied = dst->tied;
1521 if (!tied)
1524 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1544 struct ir3_register *tied = dst->tied;
1545 if (tied) {
1546 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1569 struct ir3_register *tied = src->tied;
1571 if (tied) {
1572 struct ra_interval *tied_interval = &ctx->intervals[tied->name];
1632 /* Pre-insert tied dst copies. */
2450 if (dst->tied && !(dst->tied->flags & IR3_REG_KILL))