diff options
author | Ilia Mirkin <[email protected]> | 2016-01-30 22:08:06 -0500 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2016-05-21 18:32:46 +0200 |
commit | be4caaf247d8a9908d50e31037421d22bed7a2d6 (patch) | |
tree | 76177451a985e0e3926704edf3519608d91b4fb5 /src/gallium | |
parent | 879bd2ea0c7809ffc4b316f50652dc9cf7291004 (diff) |
nv50/ir: use moveSources to condense sources
This makes sure that rIndirectSrc and other things stay updated.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp index 30772e6363e..65d11f8237a 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp @@ -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); |