nir/search: check instr type before adding to worklist
authorRhys Perry <pendingchaos02@gmail.com>
Wed, 4 Nov 2020 13:10:25 +0000 (13:10 +0000)
committerRhys Perry <pendingchaos02@gmail.com>
Fri, 20 Nov 2020 13:57:34 +0000 (13:57 +0000)
nir_algebraic_instr() ignores non-ALU instructions, so there's no point.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7511>

src/compiler/nir/nir_search.c

index 577f0be..735e2c7 100644 (file)
@@ -936,7 +936,8 @@ nir_algebraic_impl(nir_function_impl *impl,
     */
    nir_foreach_block_reverse(block, impl) {
       nir_foreach_instr_reverse(instr, block) {
-         nir_instr_worklist_push_tail(worklist, instr);
+         if (instr->type == nir_instr_type_alu)
+            nir_instr_worklist_push_tail(worklist, instr);
       }
    }