Lines Matching refs:killed

292     * killed. This means we can allocate the dest over it, but we can't break
749 /* Returns true if the proposed spot for "dst" or a killed source overlaps a
781 * allocated over killed sources. Some destinations always require it, but it
783 * If the source is killed, then we skip allocating a register for the
883 * killed range to acheive the same effect.
885 foreach_interval (killed, file) {
886 if (!killed->is_killed)
889 if (killed->physreg_end - killed->physreg_start !=
893 if (killed->physreg_end > conflicting_file_size ||
894 conflicting->physreg_end > reg_file_size(file, killed->interval.reg))
897 /* We can't swap the killed range if it partially/fully overlaps the
902 for (unsigned i = killed->physreg_start; i < killed->physreg_end; i++) {
912 if (check_dst_overlap(ctx, file, reg, killed->physreg_start,
913 killed->physreg_end))
917 if ((!(killed->interval.reg->flags & IR3_REG_HALF) ||
919 (killed->physreg_start % 2 != 0 ||
923 for (unsigned i = killed->physreg_start; i < killed->physreg_end; i++) {
929 eviction_count += (killed->physreg_end - killed->physreg_start) * 2;
931 physreg_t killed_start = killed->physreg_start,
934 ra_pop_interval(ctx, file, killed);
964 * | live-through | destination | killed | killed | destination | live-through |
973 * the register file. Then half and full killed must stay together so that
1009 * destinations as killed sources.
1096 /* dst intervals with a tied killed source are considered attached to
1125 * space leftover to accomodate all intervals, keeping in mind that killed
1161 interval->physreg_start, interval->is_killed ? ", killed" : "");
1275 /* If we shuffled around a tied source that is killed, we may have to update
1363 * "is_source" is false, this register can overlap with killed sources
1365 * is_killed is ignored and the register returned must not overlap with killed
1548 /* The easy case: the source is killed, so we can just reuse it
1627 /* First, mark sources as going-to-be-killed while allocating the dest. */
1643 * sources with the same def and that def is killed we only remove it at
1725 * around after allocating the destination. Mark them killed so
1727 * aren't actually killed.
1745 /* Filter out cases where it actually should be killed */
1757 * destination which got marked as killed and then shuffled around to make
1889 /* Note: we purposely don't mark sources as killed, so that we can reuse
1891 * Marking it as killed would make e.g. get_reg_specified() wouldn't work