summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
index 149e4e1a38e..b74faec1d4f 100644
--- a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
+++ b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp
@@ -1061,16 +1061,15 @@ GCRA::buildRIG(ArrayList& insns)
RIG_Node *cur = values.front();
for (std::list<RIG_Node *>::iterator it = active.begin();
- it != active.end();
- ++it) {
+ it != active.end();) {
RIG_Node *node = *it;
if (node->livei.end() <= cur->livei.begin()) {
it = active.erase(it);
- --it;
- } else
- if (node->f == cur->f && node->livei.overlaps(cur->livei)) {
- cur->addInterference(node);
+ } else {
+ if (node->f == cur->f && node->livei.overlaps(cur->livei))
+ cur->addInterference(node);
+ ++it;
}
}
values.pop_front();