nv50/ir: use moveSources to condense sources

This makes sure that rIndirectSrc and other things stay updated.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Ilia Mirkin 2016-01-30 22:08:06 -05:00 committed by Samuel Pitoiset
parent 879bd2ea0c
commit be4caaf247
1 changed files with 1 additions and 6 deletions

View File

@ -2073,14 +2073,9 @@ RegAlloc::InsertConstraintsPass::condenseSrcs(Instruction *insn,
merge->setDef(0, lval);
for (int s = a, i = 0; s <= b; ++s, ++i) {
merge->setSrc(i, insn->getSrc(s));
insn->setSrc(s, NULL);
}
insn->moveSources(b + 1, a - b);
insn->setSrc(a, lval);
for (int k = a + 1, s = b + 1; insn->srcExists(s); ++s, ++k) {
insn->setSrc(k, insn->getSrc(s));
insn->setSrc(s, NULL);
}
insn->bb->insertBefore(insn, merge);
insn->putExtraSources(0, save);