From: Samuel Pitoiset Date: Wed, 30 May 2018 12:21:41 +0000 (+0200) Subject: nir: make is_comparison() a non-static helper function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e44f90eccfaec2a1b1e813f93497bb498181dd2f;p=mesa.git nir: make is_comparison() a non-static helper function Rename and change the prototype for consistency regarding nir_tex_instr_is_query(). This function will be used in the following patch. Signed-off-by: Samuel Pitoiset Reviewed-by: Ian Romanick --- diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index f6086bd6c05..5a1f79515ad 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1374,6 +1374,30 @@ nir_tex_instr_is_query(const nir_tex_instr *instr) } } +static inline bool +nir_alu_instr_is_comparison(const nir_alu_instr *instr) +{ + switch (instr->op) { + case nir_op_flt: + case nir_op_fge: + case nir_op_feq: + case nir_op_fne: + case nir_op_ilt: + case nir_op_ult: + case nir_op_ige: + case nir_op_uge: + case nir_op_ieq: + case nir_op_ine: + case nir_op_i2b: + case nir_op_f2b: + case nir_op_inot: + case nir_op_fnot: + return true; + default: + return false; + } +} + static inline nir_alu_type nir_tex_instr_src_type(const nir_tex_instr *instr, unsigned src) { diff --git a/src/compiler/nir/nir_opt_move_comparisons.c b/src/compiler/nir/nir_opt_move_comparisons.c index 617c2ca9989..5da57dc9213 100644 --- a/src/compiler/nir/nir_opt_move_comparisons.c +++ b/src/compiler/nir/nir_opt_move_comparisons.c @@ -50,30 +50,6 @@ * lower register pressure. */ -static bool -is_comparison(nir_op op) -{ - switch (op) { - case nir_op_flt: - case nir_op_fge: - case nir_op_feq: - case nir_op_fne: - case nir_op_ilt: - case nir_op_ult: - case nir_op_ige: - case nir_op_uge: - case nir_op_ieq: - case nir_op_ine: - case nir_op_i2b: - case nir_op_f2b: - case nir_op_inot: - case nir_op_fnot: - return true; - default: - return false; - } -} - static bool move_comparison_source(nir_src *src, nir_block *block, nir_instr *before) { @@ -84,7 +60,7 @@ move_comparison_source(nir_src *src, nir_block *block, nir_instr *before) if (src_instr->block == block && src_instr->type == nir_instr_type_alu && - is_comparison(nir_instr_as_alu(src_instr)->op)) { + nir_alu_instr_is_comparison(nir_instr_as_alu(src_instr))) { exec_node_remove(&src_instr->node);