Lines Matching defs:nir_instr

108 struct nir_instr;
769 typedef struct nir_instr {
782 } nir_instr;
784 static inline nir_instr *
785 nir_instr_next(nir_instr *instr)
791 return exec_node_data(nir_instr, next, node);
794 static inline nir_instr *
795 nir_instr_prev(nir_instr *instr)
801 return exec_node_data(nir_instr, prev, node);
805 nir_instr_is_first(const nir_instr *instr)
811 nir_instr_is_last(const nir_instr *instr)
818 nir_instr *parent_instr;
852 nir_instr *parent_instr;
867 nir_instr *parent_instr;
1423 nir_instr instr;
1546 nir_instr instr;
1725 nir_instr instr;
1764 nir_instr instr;
2191 nir_instr instr;
2557 nir_instr instr;
2614 nir_instr instr;
2624 nir_instr instr;
2643 nir_instr instr;
2672 nir_instr instr;
2682 NIR_DEFINE_CAST(nir_instr_as_alu, nir_instr, nir_alu_instr, instr,
2684 NIR_DEFINE_CAST(nir_instr_as_deref, nir_instr, nir_deref_instr, instr,
2686 NIR_DEFINE_CAST(nir_instr_as_call, nir_instr, nir_call_instr, instr,
2688 NIR_DEFINE_CAST(nir_instr_as_jump, nir_instr, nir_jump_instr, instr,
2690 NIR_DEFINE_CAST(nir_instr_as_tex, nir_instr, nir_tex_instr, instr,
2692 NIR_DEFINE_CAST(nir_instr_as_intrinsic, nir_instr, nir_intrinsic_instr, instr,
2694 NIR_DEFINE_CAST(nir_instr_as_load_const, nir_instr, nir_load_const_instr, instr,
2696 NIR_DEFINE_CAST(nir_instr_as_ssa_undef, nir_instr, nir_ssa_undef_instr, instr,
2698 NIR_DEFINE_CAST(nir_instr_as_phi, nir_instr, nir_phi_instr, instr,
2700 NIR_DEFINE_CAST(nir_instr_as_parallel_copy, nir_instr,
2869 struct exec_list instr_list; /** < list of nir_instr */
2905 * Value just before the first nir_instr->index in the block, but after
2910 * Value just after the last nir_instr->index in the block, but before the
2929 static inline nir_instr *
2933 return exec_node_data(nir_instr, head, node);
2936 static inline nir_instr *
2940 return exec_node_data(nir_instr, tail, node);
2956 nir_instr *instr = nir_block_last_instr(block);
2971 nir_instr *instr = nir_block_last_instr(block);
2977 foreach_list_typed(nir_instr, instr, node, &(block)->instr_list)
2979 foreach_list_typed_reverse(nir_instr, instr, node, &(block)->instr_list)
2981 foreach_list_typed_safe(nir_instr, instr, node, &(block)->instr_list)
2983 foreach_list_typed_reverse_safe(nir_instr, instr, node, &(block)->instr_list)
3017 nir_instr *conditional_instr;
3166 /** Indicates that nir_instr::index values are valid.
3432 typedef bool (*nir_instr_filter_cb)(const nir_instr *, const void *);
3875 * nir_instr->index for the start and end of a single live interval for SSA
4003 nir_instr *instr;
4039 nir_before_instr(nir_instr *instr)
4048 nir_after_instr(nir_instr *instr)
4069 nir_instr *last_instr = nir_block_last_instr(block);
4136 nir_after_instr_and_phis(nir_instr *instr)
4176 void nir_instr_insert(nir_cursor cursor, nir_instr *instr);
4178 bool nir_instr_move(nir_cursor cursor, nir_instr *instr);
4181 nir_instr_insert_before(nir_instr *instr, nir_instr *before)
4187 nir_instr_insert_after(nir_instr *instr, nir_instr *after)
4193 nir_instr_insert_before_block(nir_block *block, nir_instr *before)
4199 nir_instr_insert_after_block(nir_block *block, nir_instr *after)
4205 nir_instr_insert_before_cf(nir_cf_node *node, nir_instr *before)
4211 nir_instr_insert_after_cf(nir_cf_node *node, nir_instr *after)
4217 nir_instr_insert_before_cf_list(struct exec_list *list, nir_instr *before)
4223 nir_instr_insert_after_cf_list(struct exec_list *list, nir_instr *after)
4228 void nir_instr_remove_v(nir_instr *instr);
4229 void nir_instr_free(nir_instr *instr);
4233 nir_instr_remove(nir_instr *instr)
4236 nir_instr *prev = nir_instr_prev(instr);
4246 nir_cursor nir_instr_free_and_dce(nir_instr *instr);
4250 nir_ssa_def *nir_instr_ssa_def(nir_instr *instr);
4255 bool nir_foreach_ssa_def(nir_instr *instr, nir_foreach_ssa_def_cb cb,
4257 static inline bool nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state);
4258 static inline bool nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state);
4280 bool nir_instrs_equal(const nir_instr *instr1, const nir_instr *instr2);
4283 nir_instr_rewrite_src_ssa(ASSERTED nir_instr *instr,
4293 void nir_instr_rewrite_src(nir_instr *instr, nir_src *src, nir_src new_src);
4294 void nir_instr_move_src(nir_instr *dest_instr, nir_src *dest, nir_src *src);
4308 void nir_instr_rewrite_dest(nir_instr *instr, nir_dest *dest,
4311 void nir_ssa_dest_init(nir_instr *instr, nir_dest *dest,
4314 void nir_ssa_def_init(nir_instr *instr, nir_ssa_def *def,
4317 nir_ssa_dest_init_for_type(nir_instr *instr, nir_dest *dest,
4328 nir_instr *after_me);
4428 void nir_print_instr(const nir_instr *instr, FILE *fp);
4440 nir_instr *nir_instr_clone(nir_shader *s, const nir_instr *orig);
4565 typedef bool (*nir_instr_writemask_filter_cb)(const nir_instr *,
4580 nir_instr *, void *);
5402 typedef unsigned (*nir_lower_bit_size_callback)(const nir_instr *, void *);
5483 bool nir_update_instr_divergence(nir_shader *shader, nir_instr *instr);
5578 bool nir_can_move_instr(nir_instr *instr, nir_move_options options);
5606 typedef bool (*nir_opt_vectorize_cb)(const nir_instr *instr, void *data);