Mesa (master): i965/vec4: Do separate copy followed by constant propagation after opt_vector_float( ).

Matt Turner mattst88 at kemper.freedesktop.org
Mon Dec 29 20:15:45 UTC 2014


Module: Mesa
Branch: master
Commit: 798c094e6266bf53b332f332e82a90c338c49915
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=798c094e6266bf53b332f332e82a90c338c49915

Author: Matt Turner <mattst88 at gmail.com>
Date:   Sat Dec 20 18:02:29 2014 -0800

i965/vec4: Do separate copy followed by constant propagation after opt_vector_float().

total instructions in shared programs: 5877012 -> 5876617 (-0.01%)
instructions in affected programs:     33140 -> 32745 (-1.19%)

>From before the commit that allows VF constant propagation (which hurt
some programs) to here, the results are:

total instructions in shared programs: 5877951 -> 5876617 (-0.02%)
instructions in affected programs:     123444 -> 122110 (-1.08%)

with no programs hurt.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/i965/brw_vec4.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 296223c..f389392 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -1800,7 +1800,8 @@ vec4_visitor::run()
 
    if (opt_vector_float()) {
       opt_cse();
-      opt_copy_propagation();
+      opt_copy_propagation(false);
+      opt_copy_propagation(true);
       dead_code_eliminate();
    }
 




More information about the mesa-commit mailing list