Re: [Mesa-dev] [PATCH 1/2] glsl: slim the kill_entry struct used in const propagation

2018-07-10 Thread Thomas Helland
2018-07-09 20:59 GMT+02:00 Caio Marcelo de Oliveira Filho
:
> Since 4654439fdd7 "glsl: Use hash tables for
> opt_constant_propagation() kill sets." uses a hash_table for storing
> kill_entries, so the structs can be simplified.
>
> Remove the exec_node from kill_entry since it is not used in an
> exec_list anymore.
>
> Remove the 'var' from kill_entry since it is now redundant with the
> key of the hash table.
>
> Suggested by Eric Anholt.

These are both:

Reviewed-by: Thomas Helland

> ---
>  src/compiler/glsl/opt_constant_propagation.cpp | 13 +
>  1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/src/compiler/glsl/opt_constant_propagation.cpp 
> b/src/compiler/glsl/opt_constant_propagation.cpp
> index 05dc71efb72..f91498b45cd 100644
> --- a/src/compiler/glsl/opt_constant_propagation.cpp
> +++ b/src/compiler/glsl/opt_constant_propagation.cpp
> @@ -77,20 +77,17 @@ public:
>  };
>
>
> -class kill_entry : public exec_node
> +class kill_entry
>  {
>  public:
> /* override operator new from exec_node */
> DECLARE_LINEAR_ZALLOC_CXX_OPERATORS(kill_entry)
>
> -   kill_entry(ir_variable *var, unsigned write_mask)
> +   explicit kill_entry(unsigned write_mask)
> {
> -  assert(var);
> -  this->var = var;
>this->write_mask = write_mask;
> }
>
> -   ir_variable *var;
> unsigned write_mask;
>  };
>
> @@ -386,7 +383,7 @@ 
> ir_constant_propagation_visitor::handle_if_block(exec_list *instructions)
> hash_entry *htk;
> hash_table_foreach(new_kills, htk) {
>kill_entry *k = (kill_entry *) htk->data;
> -  kill(k->var, k->write_mask);
> +  kill((ir_variable *) htk->key, k->write_mask);
> }
>  }
>
> @@ -433,7 +430,7 @@ ir_constant_propagation_visitor::visit_enter(ir_loop *ir)
> hash_entry *htk;
> hash_table_foreach(new_kills, htk) {
>kill_entry *k = (kill_entry *) htk->data;
> -  kill(k->var, k->write_mask);
> +  kill((ir_variable *) htk->key, k->write_mask);
> }
>
> /* already descended into the children. */
> @@ -469,7 +466,7 @@ ir_constant_propagation_visitor::kill(ir_variable *var, 
> unsigned write_mask)
> }
> /* Not already in the hash table.  Make new entry. */
> _mesa_hash_table_insert(this->kills, var,
> -   new(this->lin_ctx) kill_entry(var, write_mask));
> +   new(this->lin_ctx) kill_entry(write_mask));
>  }
>
>  /**
> --
> 2.18.0
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/2] glsl: slim the kill_entry struct used in const propagation

2018-07-09 Thread Eric Anholt
Caio Marcelo de Oliveira Filho  writes:

> Since 4654439fdd7 "glsl: Use hash tables for
> opt_constant_propagation() kill sets." uses a hash_table for storing
> kill_entries, so the structs can be simplified.
>
> Remove the exec_node from kill_entry since it is not used in an
> exec_list anymore.
>
> Remove the 'var' from kill_entry since it is now redundant with the
> key of the hash table.
>
> Suggested by Eric Anholt.

These are both:

Reviewed-by: Eric Anholt 


signature.asc
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/2] glsl: slim the kill_entry struct used in const propagation

2018-07-09 Thread Caio Marcelo de Oliveira Filho
Since 4654439fdd7 "glsl: Use hash tables for
opt_constant_propagation() kill sets." uses a hash_table for storing
kill_entries, so the structs can be simplified.

Remove the exec_node from kill_entry since it is not used in an
exec_list anymore.

Remove the 'var' from kill_entry since it is now redundant with the
key of the hash table.

Suggested by Eric Anholt.
---
 src/compiler/glsl/opt_constant_propagation.cpp | 13 +
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/compiler/glsl/opt_constant_propagation.cpp 
b/src/compiler/glsl/opt_constant_propagation.cpp
index 05dc71efb72..f91498b45cd 100644
--- a/src/compiler/glsl/opt_constant_propagation.cpp
+++ b/src/compiler/glsl/opt_constant_propagation.cpp
@@ -77,20 +77,17 @@ public:
 };
 
 
-class kill_entry : public exec_node
+class kill_entry
 {
 public:
/* override operator new from exec_node */
DECLARE_LINEAR_ZALLOC_CXX_OPERATORS(kill_entry)
 
-   kill_entry(ir_variable *var, unsigned write_mask)
+   explicit kill_entry(unsigned write_mask)
{
-  assert(var);
-  this->var = var;
   this->write_mask = write_mask;
}
 
-   ir_variable *var;
unsigned write_mask;
 };
 
@@ -386,7 +383,7 @@ ir_constant_propagation_visitor::handle_if_block(exec_list 
*instructions)
hash_entry *htk;
hash_table_foreach(new_kills, htk) {
   kill_entry *k = (kill_entry *) htk->data;
-  kill(k->var, k->write_mask);
+  kill((ir_variable *) htk->key, k->write_mask);
}
 }
 
@@ -433,7 +430,7 @@ ir_constant_propagation_visitor::visit_enter(ir_loop *ir)
hash_entry *htk;
hash_table_foreach(new_kills, htk) {
   kill_entry *k = (kill_entry *) htk->data;
-  kill(k->var, k->write_mask);
+  kill((ir_variable *) htk->key, k->write_mask);
}
 
/* already descended into the children. */
@@ -469,7 +466,7 @@ ir_constant_propagation_visitor::kill(ir_variable *var, 
unsigned write_mask)
}
/* Not already in the hash table.  Make new entry. */
_mesa_hash_table_insert(this->kills, var,
-   new(this->lin_ctx) kill_entry(var, write_mask));
+   new(this->lin_ctx) kill_entry(write_mask));
 }
 
 /**
-- 
2.18.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev