Mesa (master): freedreno/ir3: Drop foreach_bit() macro

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 24 17:40:27 UTC 2021


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

Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Feb 22 07:54:32 2021 -0800

freedreno/ir3: Drop foreach_bit() macro

Now that there is a global one in util/bitscan.h

Note this version had an extra assert which is not really suitable to a
generic foreach_bit().. just move the assert to the two usages of the
iterator macro.

Signed-off-by: Rob Clark <robdclark at chromium.org>

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9191>

---

 src/freedreno/ir3/ir3_postsched.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/freedreno/ir3/ir3_postsched.c b/src/freedreno/ir3/ir3_postsched.c
index ad2c9a6c529..6d53b000c21 100644
--- a/src/freedreno/ir3/ir3_postsched.c
+++ b/src/freedreno/ir3/ir3_postsched.c
@@ -77,9 +77,6 @@ struct ir3_postsched_node {
 #define foreach_sched_node(__n, __list) \
 	list_for_each_entry(struct ir3_postsched_node, __n, __list, dag.link)
 
-#define foreach_bit(b, mask) \
-	for (uint32_t _m = ({debug_assert((mask) >= 1); (mask);}); _m && ({(b) = u_bit_scan(&_m); 1;});)
-
 static void
 schedule(struct ir3_postsched_ctx *ctx, struct ir3_instruction *instr)
 {
@@ -402,8 +399,6 @@ static void
 calculate_deps(struct ir3_postsched_deps_state *state,
 		struct ir3_postsched_node *node)
 {
-	int b;
-
 	/* Add dependencies on instructions that previously (or next,
 	 * in the reverse direction) wrote any of our src registers:
 	 */
@@ -418,7 +413,8 @@ calculate_deps(struct ir3_postsched_deps_state *state,
 				add_reg_dep(state, node, reg, arr->reg + i, false);
 			}
 		} else {
-			foreach_bit (b, reg->wrmask) {
+			assert(reg->wrmask >= 1);
+			u_foreach_bit (b, reg->wrmask) {
 				add_reg_dep(state, node, reg, reg->num + b, false);
 
 				struct ir3_postsched_node *dep = dep_reg(state, reg->num + b);
@@ -450,7 +446,8 @@ calculate_deps(struct ir3_postsched_deps_state *state,
 			add_reg_dep(state, node, reg, arr->reg + i, true);
 		}
 	} else {
-		foreach_bit (b, reg->wrmask) {
+		assert(reg->wrmask >= 1);
+		u_foreach_bit (b, reg->wrmask) {
 			add_reg_dep(state, node, reg, reg->num + b, true);
 		}
 	}



More information about the mesa-commit mailing list