summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
index 3f825461956..f13335f7d28 100644
--- a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
+++ b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
@@ -664,6 +664,12 @@ checkList(DLList &list)
void
RegAlloc::collectLValues(DLList &list, bool assignedOnly)
{
+ for (std::deque<ValueDef>::iterator it = func->ins.begin();
+ it != func->ins.end(); ++it) {
+ if (!assignedOnly || it->get()->reg.data.id >= 0)
+ insertOrderedTail(list, it->get());
+ }
+
for (int n = 0; n < insns.getSize(); ++n) {
Instruction *i = insnBySerial(n);