nv50/ir/ra: Allocate registers for function arguments.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 15 Nov 2011 16:24:18 +0000 (17:24 +0100)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sat, 14 Apr 2012 19:54:02 +0000 (21:54 +0200)
src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp

index 3f8254619569f6b9d08ab0aadae4263d3a0f45ce..f13335f7d28d3b8faeb7d98146096f8ae3f588a3 100644 (file)
@@ -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);