From: Alyssa Rosenzweig Date: Mon, 29 Jul 2019 22:10:41 +0000 (-0700) Subject: pan/midgard: Move nir_*_src_index to compiler.h X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30b15a830a9456492d9be8f4dfe37770e821e528;p=platform%2Fupstream%2Fmesa.git pan/midgard: Move nir_*_src_index to compiler.h These helpers are useful for code emission everywhere. Share the love! Signed-off-by: Alyssa Rosenzweig --- diff --git a/src/panfrost/midgard/compiler.h b/src/panfrost/midgard/compiler.h index a769894..7f5714d 100644 --- a/src/panfrost/midgard/compiler.h +++ b/src/panfrost/midgard/compiler.h @@ -387,6 +387,36 @@ make_compiler_temp(compiler_context *ctx) return (ctx->func->impl->ssa_alloc + ctx->temp_alloc++) << 1; } +static inline unsigned +nir_src_index(compiler_context *ctx, nir_src *src) +{ + if (src->is_ssa) + return (src->ssa->index << 1) | 0; + else { + assert(!src->reg.indirect); + return (src->reg.reg->index << 1) | IS_REG; + } +} + +static inline unsigned +nir_alu_src_index(compiler_context *ctx, nir_alu_src *src) +{ + return nir_src_index(ctx, &src->src); +} + +static inline unsigned +nir_dest_index(compiler_context *ctx, nir_dest *dst) +{ + if (dst->is_ssa) + return (dst->ssa.index << 1) | 0; + else { + assert(!dst->reg.indirect); + return (dst->reg.reg->index << 1) | IS_REG; + } +} + + + /* MIR manipulation */ void mir_rewrite_index(compiler_context *ctx, unsigned old, unsigned new); diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index dbc5a33..aa8fe9a 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -293,17 +293,6 @@ midgard_nir_sysval_for_intrinsic(nir_intrinsic_instr *instr) } } -static unsigned -nir_dest_index(compiler_context *ctx, nir_dest *dst) -{ - if (dst->is_ssa) - return (dst->ssa.index << 1) | 0; - else { - assert(!dst->reg.indirect); - return (dst->reg.reg->index << 1) | IS_REG; - } -} - static int sysval_for_instr(compiler_context *ctx, nir_instr *instr, unsigned *dest) { @@ -547,23 +536,6 @@ emit_explicit_constant(compiler_context *ctx, unsigned node, unsigned to) } } -static unsigned -nir_src_index(compiler_context *ctx, nir_src *src) -{ - if (src->is_ssa) - return (src->ssa->index << 1) | 0; - else { - assert(!src->reg.indirect); - return (src->reg.reg->index << 1) | IS_REG; - } -} - -static unsigned -nir_alu_src_index(compiler_context *ctx, nir_alu_src *src) -{ - return nir_src_index(ctx, &src->src); -} - static bool nir_is_non_scalar_swizzle(nir_alu_src *src, unsigned nr_components) {