freedreno/ir3: make foreach_ssa_src declar cursor ptr
authorRob Clark <robdclark@chromium.org>
Sat, 16 May 2020 19:08:26 +0000 (12:08 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 19 May 2020 16:06:17 +0000 (16:06 +0000)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

src/freedreno/ir3/ir3.c
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_cf.c
src/freedreno/ir3/ir3_cp.c
src/freedreno/ir3/ir3_dce.c
src/freedreno/ir3/ir3_group.c
src/freedreno/ir3/ir3_postsched.c
src/freedreno/ir3/ir3_sched.c

index 2fe323eaf7651842505f16e46c73ddae3fded255..d575ee3ae42ea9eb862d08fc62cbecfa66e9d0f1 100644 (file)
@@ -1201,8 +1201,6 @@ ir3_find_ssa_uses(struct ir3 *ir, void *mem_ctx, bool falsedeps)
 
        foreach_block (block, &ir->block_list) {
                foreach_instr (instr, &block->instr_list) {
-                       struct ir3_instruction *src;
-
                        foreach_ssa_src_n (src, n, instr) {
                                if (__is_false_dep(instr, n) && !falsedeps)
                                        continue;
index 547cf627203e9a6338dd4333f7f301c915f2951d..2ce37bccbac9c85b3b3aea7e50d7031b5ff9eafa 100644 (file)
@@ -1110,8 +1110,9 @@ static inline bool __is_false_dep(struct ir3_instruction *instr, unsigned n)
 
 /* iterator for an instruction's SSA sources (instr), also returns src #: */
 #define foreach_ssa_src_n(__srcinst, __n, __instr) \
-       foreach_ssa_srcp_n(__srcp, __n, __instr) \
-               if ((__srcinst = *__srcp))
+       for (struct ir3_instruction *__srcinst = (void *)~0; __srcinst; __srcinst = NULL) \
+               foreach_ssa_srcp_n(__srcp, __n, __instr) \
+                       if ((__srcinst = *__srcp))
 
 /* iterator for an instruction's SSA sources (instr): */
 #define foreach_ssa_src(__srcinst, __instr) \
index 2b35bc5e4730f360f9a36f0ed6acccbc4b224ef1..ee717187a99bc5ea0a01d6e5f21f8fb524b954e1 100644 (file)
@@ -69,7 +69,6 @@ static void
 rewrite_uses(struct ir3_instruction *conv, struct ir3_instruction *replace)
 {
        foreach_ssa_use (use, conv) {
-               struct ir3_instruction *src;
                foreach_ssa_src_n (src, n, use) {
                        if (src == conv)
                                use->regs[n]->instr = replace;
index 7b6c3657631cc179a5ec9543c6451e59e744a901..7023b327150f8ad6b8e1bc536cb537643ea6f11a 100644 (file)
@@ -772,7 +772,6 @@ ir3_cp(struct ir3 *ir, struct ir3_shader_variant *so)
         */
        foreach_block (block, &ir->block_list) {
                foreach_instr (instr, &block->instr_list) {
-                       struct ir3_instruction *src;
 
                        /* by the way, we don't account for false-dep's, so the CP
                         * pass should always happen before false-dep's are inserted
index 6c86d6356b830ab9cf8de07a2c9d0229de673fc6..b97b2190051f9e3a777e90f1590725c7fb4fa37d 100644 (file)
@@ -36,8 +36,6 @@
 static void
 instr_dce(struct ir3_instruction *instr, bool falsedep)
 {
-       struct ir3_instruction *src;
-
        /* don't mark falsedep's as used, but otherwise process them normally: */
        if (!falsedep)
                instr->flags &= ~IR3_INSTR_UNUSED;
index c9859197a1e73118b4d4d2d36cc82320995142c4..490c2216e66d42edf940f00f641d254718008f96 100644 (file)
@@ -142,7 +142,6 @@ restart:
 static bool
 instr_find_neighbors(struct ir3_instruction *instr)
 {
-       struct ir3_instruction *src;
        bool progress = false;
 
        if (ir3_instr_check_mark(instr))
index 109b96438a9d6f63384bef43cba15e92cab90ebc..91283cb5ea1aa4b3060196fe58f501a65060b88c 100644 (file)
@@ -536,7 +536,6 @@ sched_dag_init(struct ir3_postsched_ctx *ctx)
         */
        foreach_instr (instr, &ctx->unscheduled_list) {
                struct ir3_postsched_node *n = instr->data;
-               struct ir3_instruction *src;
 
                foreach_ssa_src_n (src, i, instr) {
                        if (src->block != instr->block)
index e6241215d1dfd6337f89ec9640bdfdfb95d2308c..bd5471d7f022cc545d6d6d8c9593f02e7ebe3a18 100644 (file)
@@ -195,7 +195,6 @@ schedule(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr)
         * collect srcs as partially live.
         */
        if (n->collect) {
-               struct ir3_instruction *src;
                foreach_ssa_src (src, n->collect) {
                        if (src->block != instr->block)
                                continue;
@@ -248,7 +247,6 @@ struct ir3_sched_notes {
 static bool
 could_sched(struct ir3_instruction *instr, struct ir3_instruction *src)
 {
-       struct ir3_instruction *other_src;
        foreach_ssa_src (other_src, instr) {
                /* if dependency not scheduled, we aren't ready yet: */
                if ((src != other_src) && !is_scheduled(other_src)) {
@@ -413,7 +411,6 @@ static int
 live_effect(struct ir3_instruction *instr)
 {
        struct ir3_sched_node *n = instr->data;
-       struct ir3_instruction *src;
        int new_live = n->partially_live ? 0 : dest_regs(instr);
        int freed_live = 0;
 
@@ -875,7 +872,7 @@ mark_kill_path(struct ir3_instruction *instr)
 {
        struct ir3_sched_node *n = instr->data;
        n->kill_path = true;
-       struct ir3_instruction *src;
+
        foreach_ssa_src (src, instr) {
                if (src->block != instr->block)
                        continue;
@@ -919,8 +916,6 @@ is_output_only(struct ir3_instruction *instr)
 static void
 sched_node_add_deps(struct ir3_instruction *instr)
 {
-       struct ir3_instruction *src;
-
        /* Since foreach_ssa_src() already handles false-dep's we can construct
         * the DAG easily in a single pass.
         */