Mesa (master): glsl/builtins: Clean up some ugly autogenerated code in atan .

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Nov 3 20:38:44 UTC 2010


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Oct 30 21:59:52 2010 -0700

glsl/builtins: Clean up some ugly autogenerated code in atan.

In particular, calling the abs function is silly, since there's already
an expression opcode for that.  Also, assigning to temporaries then
assigning those to the final location is rather redundant.

---

 src/glsl/builtins/ir/atan |   25 +++++--------------------
 1 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/src/glsl/builtins/ir/atan b/src/glsl/builtins/ir/atan
index 32f09d3..3f97e0d 100644
--- a/src/glsl/builtins/ir/atan
+++ b/src/glsl/builtins/ir/atan
@@ -54,30 +54,15 @@
     )
     (
       (declare () float r)
-      (declare ( ) float abs_retval)
-      (assign (constant bool (1)) (x) (var_ref abs_retval)  (call abs ((var_ref x) ))
-)
-      (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (
-        (declare ( ) float atan_retval)
-        (assign (constant bool (1)) (x) (var_ref atan_retval)  (call atan ((expression float / (var_ref y) (var_ref x) ) ))
-)
-        (assign (constant bool (1)) (x) (var_ref r)  (var_ref atan_retval) )
+      (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (
+        (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))
         (if (expression bool < (var_ref x) (constant float (0.000000)) ) (
-          (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (
-            (declare ( ) float assignment_tmp)
-            (assign (constant bool (1)) (x) (var_ref assignment_tmp)  (expression float + (var_ref r) (constant float (3.141593)) ) )
-            (assign (constant bool (1)) (x) (var_ref r)  (var_ref assignment_tmp) )
-          )
-          (
-            (declare ( ) float assignment_tmp)
-            (assign (constant bool (1)) (x) (var_ref assignment_tmp)  (expression float - (var_ref r) (constant float (3.141593)) ) )
-            (assign (constant bool (1)) (x) (var_ref r)  (var_ref assignment_tmp) )
-          ))
-
+          (if (expression bool >= (var_ref y) (constant float (0.000000)) )
+              ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))
+              ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))
         )
         (
         ))
-
       )
       (
         (declare () float sgn)




More information about the mesa-commit mailing list