nv50/ir: delete MINMAX instruction that is no longer in the BB
We removed the op from the BB, but it was still listed in its sources' uses. This could trip up some logic down the line which analyzes all the uses of an l-value, e.g. spilling. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
parent
7e9fc11ff8
commit
955d943c33
|
@ -1898,7 +1898,7 @@ AlgebraicOpt::handleMINMAX(Instruction *minmax)
|
||||||
if (minmax->src(0).mod == minmax->src(1).mod) {
|
if (minmax->src(0).mod == minmax->src(1).mod) {
|
||||||
if (minmax->def(0).mayReplace(minmax->src(0))) {
|
if (minmax->def(0).mayReplace(minmax->src(0))) {
|
||||||
minmax->def(0).replace(minmax->src(0), false);
|
minmax->def(0).replace(minmax->src(0), false);
|
||||||
minmax->bb->remove(minmax);
|
delete_Instruction(prog, minmax);
|
||||||
} else {
|
} else {
|
||||||
minmax->op = OP_CVT;
|
minmax->op = OP_CVT;
|
||||||
minmax->setSrc(1, NULL);
|
minmax->setSrc(1, NULL);
|
||||||
|
|
Loading…
Reference in New Issue