i965: Drop pointless check for variable declarations in splitting.
authorEric Anholt <eric@anholt.net>
Tue, 25 Mar 2014 19:44:01 +0000 (12:44 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 8 Apr 2014 07:59:48 +0000 (00:59 -0700)
We're walking the whole instruction stream, so we know the declaration
will be found.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp

index 78dcc3e2d84dc134e13f890bd28d6c4fe7c91cbd..a9125cad8f98cc86a1eaf21465f605b5726df345 100644 (file)
@@ -55,7 +55,6 @@ public:
    {
       this->var = var;
       this->whole_vector_access = 0;
-      this->declaration = false;
       this->mem_ctx = NULL;
    }
 
@@ -64,8 +63,6 @@ public:
    /** Number of times the variable is referenced, including assignments. */
    unsigned whole_vector_access;
 
-   bool declaration; /* If the variable had a decl in the instruction stream */
-
    ir_variable *components[4];
 
    /** ralloc_parent(this->var) -- the shader's ralloc context. */
@@ -139,10 +136,8 @@ ir_vector_reference_visitor::get_variable_entry(ir_variable *var)
 ir_visitor_status
 ir_vector_reference_visitor::visit(ir_variable *ir)
 {
-   variable_entry *entry = this->get_variable_entry(ir);
-
-   if (entry)
-      entry->declaration = true;
+   /* Make sure splitting looks at splitting this variable */
+   (void)this->get_variable_entry(ir);
 
    return visit_continue;
 }
@@ -347,12 +342,12 @@ brw_do_vector_splitting(exec_list *instructions)
       variable_entry *entry = (variable_entry *)node;
 
       if (debug) {
-        fprintf(stderr, "vector %s@%p: decl %d, whole_access %d\n",
-                 entry->var->name, (void *) entry->var, entry->declaration,
+        fprintf(stderr, "vector %s@%p: whole_access %d\n",
+                 entry->var->name, (void *) entry->var,
                  entry->whole_vector_access);
       }
 
-      if (!entry->declaration || entry->whole_vector_access) {
+      if (entry->whole_vector_access) {
         entry->remove();
       }
    }