Lines Matching refs:pcopy
661 /* If spilling an immed/const pcopy src, we need to actually materialize it
1029 * only used as part of the pcopy accounting. See below.
1050 is_last_pcopy_src(struct ir3_instruction *pcopy, unsigned src_n)
1052 struct ir3_register *src = pcopy->srcs[src_n];
1055 for (unsigned j = src_n + 1; j < pcopy->srcs_count; j++) {
1056 if (pcopy->srcs[j]->def == src->def)
1103 handle_pcopy(struct ra_spill_ctx *ctx, struct ir3_instruction *pcopy)
1105 foreach_dst (dst, pcopy) {
1110 foreach_src_n (src, i, pcopy) {
1112 struct ir3_register *dst = pcopy->dsts[i];
1125 if (is_last_pcopy_src(pcopy, i))
1129 limit(ctx, pcopy);
1140 limit(ctx, pcopy);
1141 reload_src(ctx, pcopy, src);
1143 if (is_last_pcopy_src(pcopy, i))
1144 remove_src(ctx, pcopy, src);
1151 limit(ctx, pcopy);
1159 d("done with pcopy srcs");
1161 foreach_src_n (src, i, pcopy) {
1162 struct ir3_register *dst = pcopy->dsts[i];
1174 limit(ctx, pcopy);
1189 limit(ctx, pcopy);
1190 reload_src(ctx, pcopy, src);
1191 remove_src(ctx, pcopy, src);
1198 pcopy->flags |= IR3_INSTR_UNUSED;
1874 /* Simple pass to remove now-dead phi nodes and pcopy instructions. We mark