Mesa (master): nir/lower_returns: Stop using constant initializers

Jason Ekstrand jekstrand at kemper.freedesktop.org
Tue Dec 6 00:37:40 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jul 20 10:37:43 2016 -0700

nir/lower_returns: Stop using constant initializers

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

---

 src/compiler/nir/nir_lower_returns.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/compiler/nir/nir_lower_returns.c b/src/compiler/nir/nir_lower_returns.c
index 8dbea6e..cf49d5b 100644
--- a/src/compiler/nir/nir_lower_returns.c
+++ b/src/compiler/nir/nir_lower_returns.c
@@ -147,17 +147,18 @@ lower_returns_in_block(nir_block *block, struct lower_returns_state *state)
    nir_instr_remove(&jump->instr);
 
    nir_builder *b = &state->builder;
-   b->cursor = nir_after_block(block);
 
    /* Set the return flag */
    if (state->return_flag == NULL) {
       state->return_flag =
          nir_local_variable_create(b->impl, glsl_bool_type(), "return");
 
-      /* Set a default value of false */
-      state->return_flag->constant_initializer =
-         rzalloc(state->return_flag, nir_constant);
+      /* Initialize the variable to 0 */
+      b->cursor = nir_before_cf_list(&b->impl->body);
+      nir_store_var(b, state->return_flag, nir_imm_int(b, NIR_FALSE), 1);
    }
+
+   b->cursor = nir_after_block(block);
    nir_store_var(b, state->return_flag, nir_imm_int(b, NIR_TRUE), 1);
 
    if (state->loop) {




More information about the mesa-commit mailing list