summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_algebraic.py
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2019-04-13 10:32:55 -0500
committerJason Ekstrand <[email protected]>2019-04-16 16:40:15 +0000
commit0c712fd4042c91f715260fe5923e798372f38e1e (patch)
tree3b9fb48c427b9fca117d3b412813bd7e6f129835 /src/compiler/nir/nir_algebraic.py
parent4c3c417b00fd2594d8fa5ab86479fb7c448d1f09 (diff)
nir/algebraic: Move the template closer to the render function
Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_algebraic.py')
-rw-r--r--src/compiler/nir/nir_algebraic.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/compiler/nir/nir_algebraic.py b/src/compiler/nir/nir_algebraic.py
index 4772d4d123d..12d5da531d5 100644
--- a/src/compiler/nir/nir_algebraic.py
+++ b/src/compiler/nir/nir_algebraic.py
@@ -102,25 +102,6 @@ class Value(object):
elif isinstance(val, (bool, float) + integer_types):
return Constant(val, name_base)
- __template = mako.template.Template("""
-static const ${val.c_type} ${val.name} = {
- { ${val.type_enum}, ${val.c_bit_size} },
-% if isinstance(val, Constant):
- ${val.type()}, { ${val.hex()} /* ${val.value} */ },
-% elif isinstance(val, Variable):
- ${val.index}, /* ${val.var_name} */
- ${'true' if val.is_constant else 'false'},
- ${val.type() or 'nir_type_invalid' },
- ${val.cond if val.cond else 'NULL'},
-% elif isinstance(val, Expression):
- ${'true' if val.inexact else 'false'},
- ${val.comm_expr_idx}, ${val.comm_exprs},
- ${val.c_opcode()},
- { ${', '.join(src.c_ptr for src in val.sources)} },
- ${val.cond if val.cond else 'NULL'},
-% endif
-};""")
-
def __init__(self, val, name, type_str):
self.in_val = str(val)
self.name = name
@@ -190,6 +171,25 @@ static const ${val.c_type} ${val.name} = {
# We represent these cases with a 0 bit-size.
return 0
+ __template = mako.template.Template("""
+static const ${val.c_type} ${val.name} = {
+ { ${val.type_enum}, ${val.c_bit_size} },
+% if isinstance(val, Constant):
+ ${val.type()}, { ${val.hex()} /* ${val.value} */ },
+% elif isinstance(val, Variable):
+ ${val.index}, /* ${val.var_name} */
+ ${'true' if val.is_constant else 'false'},
+ ${val.type() or 'nir_type_invalid' },
+ ${val.cond if val.cond else 'NULL'},
+% elif isinstance(val, Expression):
+ ${'true' if val.inexact else 'false'},
+ ${val.comm_expr_idx}, ${val.comm_exprs},
+ ${val.c_opcode()},
+ { ${', '.join(src.c_ptr for src in val.sources)} },
+ ${val.cond if val.cond else 'NULL'},
+% endif
+};""")
+
def render(self):
return self.__template.render(val=self,
Constant=Constant,