-nir_alu_instr *
-nir_replace_instr(nir_alu_instr *instr, const nir_search_expression *search,
- const nir_search_value *replace, void *mem_ctx);
+nir_ssa_def *
+nir_replace_instr(struct nir_builder *b, nir_alu_instr *instr,
+ struct hash_table *range_ht,
+ struct util_dynarray *states,
+ const struct per_op_table *pass_op_table,
+ const nir_search_expression *search,
+ const nir_search_value *replace,
+ nir_instr_worklist *algebraic_worklist);
+bool
+nir_algebraic_impl(nir_function_impl *impl,
+ const bool *condition_flags,
+ const struct transform **transforms,
+ const uint16_t *transform_counts,
+ const struct per_op_table *pass_op_table);