瀏覽代碼

nir: Allocate nir_phi_src values out of the nir_phi_instr.

Phi sources are part of the phi instruction and should have the same
lifetime.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
tags/10.6-branchpoint
Kenneth Graunke 10 年之前
父節點
當前提交
900498bd11
共有 3 個檔案被更改,包括 3 行新增3 行删除
  1. 1
    1
      src/glsl/nir/nir_lower_phis_to_scalar.c
  2. 1
    1
      src/glsl/nir/nir_lower_vars_to_ssa.c
  3. 1
    1
      src/glsl/nir/nir_to_ssa.c

+ 1
- 1
src/glsl/nir/nir_lower_phis_to_scalar.c 查看文件

@@ -223,7 +223,7 @@ lower_phis_to_scalar_block(nir_block *block, void *void_state)
else
nir_instr_insert_after_block(src->pred, &mov->instr);

nir_phi_src *new_src = ralloc(state->mem_ctx, nir_phi_src);
nir_phi_src *new_src = ralloc(new_phi, nir_phi_src);
new_src->pred = src->pred;
new_src->src = nir_src_for_ssa(&mov->dest.dest.ssa);


+ 1
- 1
src/glsl/nir/nir_lower_vars_to_ssa.c 查看文件

@@ -642,7 +642,7 @@ add_phi_sources(nir_block *block, nir_block *pred,

struct deref_node *node = entry->data;

nir_phi_src *src = ralloc(state->mem_ctx, nir_phi_src);
nir_phi_src *src = ralloc(phi, nir_phi_src);
src->pred = pred;
src->src.is_ssa = true;
src->src.ssa = get_ssa_def_for_block(node, pred, state);

+ 1
- 1
src/glsl/nir/nir_to_ssa.c 查看文件

@@ -47,7 +47,7 @@ insert_trivial_phi(nir_register *reg, nir_block *block, void *mem_ctx)
set_foreach(block->predecessors, entry) {
nir_block *pred = (nir_block *) entry->key;

nir_phi_src *src = ralloc(mem_ctx, nir_phi_src);
nir_phi_src *src = ralloc(instr, nir_phi_src);
src->pred = pred;
src->src.is_ssa = false;
src->src.reg.base_offset = 0;

Loading…
取消
儲存