Mesa (main): nir/loop_analyze: move nir_is_supported_terminator_condition() to header
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Aug 19 03:04:54 UTC 2021
Module: Mesa
Branch: main
Commit: c86ec09d118dc9daa012e15d483b48c63c0d859c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c86ec09d118dc9daa012e15d483b48c63c0d859c
Author: Qiang Yu <yuq825 at gmail.com>
Date: Mon Jul 26 16:42:14 2021 +0800
nir/loop_analyze: move nir_is_supported_terminator_condition() to header
To be shared with uniform inline.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Qiang Yu <yuq825 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11950>
---
src/compiler/nir/nir_loop_analyze.c | 15 ++-------------
src/compiler/nir/nir_loop_analyze.h | 11 +++++++++++
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/compiler/nir/nir_loop_analyze.c b/src/compiler/nir/nir_loop_analyze.c
index faa9e5844e2..6f4119eca24 100644
--- a/src/compiler/nir/nir_loop_analyze.c
+++ b/src/compiler/nir/nir_loop_analyze.c
@@ -856,17 +856,6 @@ inverse_comparison(nir_op alu_op)
}
}
-static bool
-is_supported_terminator_condition(nir_ssa_scalar cond)
-{
- if (!nir_ssa_scalar_is_alu(cond))
- return false;
-
- nir_alu_instr *alu = nir_instr_as_alu(cond.def->parent_instr);
- return nir_alu_instr_is_comparison(alu) &&
- nir_op_infos[alu->op].num_inputs == 2;
-}
-
static bool
get_induction_and_limit_vars(nir_ssa_scalar cond,
nir_ssa_scalar *ind,
@@ -936,7 +925,7 @@ try_find_trip_count_vars_in_iand(nir_ssa_scalar *cond,
bool found_induction_var = false;
for (unsigned i = 0; i < 2; i++) {
nir_ssa_scalar src = nir_ssa_scalar_chase_alu_src(iand, i);
- if (is_supported_terminator_condition(src) &&
+ if (nir_is_supported_terminator_condition(src) &&
get_induction_and_limit_vars(src, ind, limit, limit_rhs, state)) {
*cond = src;
found_induction_var = true;
@@ -997,7 +986,7 @@ find_trip_count(loop_info_state *state, unsigned execution_mode)
}
if (!basic_ind.def) {
- if (is_supported_terminator_condition(cond)) {
+ if (nir_is_supported_terminator_condition(cond)) {
get_induction_and_limit_vars(cond, &basic_ind,
&limit, &limit_rhs, state);
}
diff --git a/src/compiler/nir/nir_loop_analyze.h b/src/compiler/nir/nir_loop_analyze.h
index 18c23051717..c72294699e9 100644
--- a/src/compiler/nir/nir_loop_analyze.h
+++ b/src/compiler/nir/nir_loop_analyze.h
@@ -92,4 +92,15 @@ nir_is_trivial_loop_if(nir_if *nif, nir_block *break_block)
return true;
}
+static inline bool
+nir_is_supported_terminator_condition(nir_ssa_scalar cond)
+{
+ if (!nir_ssa_scalar_is_alu(cond))
+ return false;
+
+ nir_alu_instr *alu = nir_instr_as_alu(cond.def->parent_instr);
+ return nir_alu_instr_is_comparison(alu) &&
+ nir_op_infos[alu->op].num_inputs == 2;
+}
+
#endif /* NIR_LOOP_ANALYZE_H */
More information about the mesa-commit
mailing list