nv50/ir: only avoid spilling constrained def if a mov is added
fix spilling regression introduced by5428066f5ethis is just a minor mistake done while moving the code out into a new function. The function contained a loop which might have been terminated earlier and skipped setting noSpill to 1. After the refactoring it was always set. Fixes:5428066f5e("nv50/ir: make a copy of tex src if it's referenced multiple times") Signed-off-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
@@ -2353,6 +2353,8 @@ RegAlloc::InsertConstraintsPass::insertConstraintMove(Instruction *cst, int s)
|
||||
|
||||
cst->setSrc(s, mov->getDef(0));
|
||||
cst->bb->insertBefore(cst, mov);
|
||||
|
||||
cst->getDef(0)->asLValue()->noSpill = 1; // doesn't help
|
||||
}
|
||||
|
||||
// Insert extra moves so that, if multiple register constraints on a value are
|
||||
@@ -2397,8 +2399,6 @@ RegAlloc::InsertConstraintsPass::insertConstraintMoves()
|
||||
}
|
||||
|
||||
insertConstraintMove(cst, s);
|
||||
|
||||
cst->getDef(0)->asLValue()->noSpill = 1; // doesn't help
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user