Home
last modified time | relevance | path

Searched refs:ir3_instruction (Results 1 – 12 of 12) sorted by relevance

/external/mesa3d/src/gallium/drivers/freedreno/ir3/
Dir3.h40 struct ir3_instruction;
120 struct ir3_instruction *instr;
152 struct ir3_instruction { struct
318 struct ir3_instruction *left, *right; argument
327 struct ir3_instruction *address; argument
332 DECLARE_ARRAY(struct ir3_instruction *, deps);
371 static inline struct ir3_instruction * argument
372 ir3_neighbor_first(struct ir3_instruction *instr) in ir3_neighbor_first()
385 static inline int ir3_neighbor_count(struct ir3_instruction *instr) in ir3_neighbor_count()
407 struct ir3_instruction **inputs;
[all …]
Dir3_sched.c57 struct ir3_instruction *scheduled; /* last scheduled instr XXX remove*/
58 struct ir3_instruction *addr; /* current a0.x user, if any */
59 struct ir3_instruction *pred; /* current p0.x user, if any */
63 static bool is_sfu_or_mem(struct ir3_instruction *instr) in is_sfu_or_mem()
71 clear_cache(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in clear_cache()
73 list_for_each_entry (struct ir3_instruction, instr2, &ctx->depth_list, node) { in clear_cache()
80 schedule(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in schedule()
118 static struct ir3_instruction *
119 deepest(struct ir3_instruction **srcs, unsigned nsrcs) in deepest()
121 struct ir3_instruction *d = NULL; in deepest()
[all …]
Dir3_group.c42 struct ir3_instruction *(*get)(void *arr, int idx);
43 void (*insert_mov)(void *arr, int idx, struct ir3_instruction *instr);
46 static struct ir3_instruction *arr_get(void *arr, int idx) in arr_get()
48 return ((struct ir3_instruction **)arr)[idx]; in arr_get()
50 static void arr_insert_mov_out(void *arr, int idx, struct ir3_instruction *instr) in arr_insert_mov_out()
52 ((struct ir3_instruction **)arr)[idx] = in arr_insert_mov_out()
55 static void arr_insert_mov_in(void *arr, int idx, struct ir3_instruction *instr) in arr_insert_mov_in()
62 struct ir3_instruction *in; in arr_insert_mov_in()
76 ((struct ir3_instruction **)arr)[idx] = in; in arr_insert_mov_in()
81 static struct ir3_instruction *instr_get(void *arr, int idx) in instr_get()
[all …]
Dir3_legalize.c68 struct ir3_instruction *last_input = NULL; in legalize_block()
69 struct ir3_instruction *last_rel = NULL; in legalize_block()
70 struct ir3_instruction *last_n = NULL; in legalize_block()
86 list_for_each_entry_safe (struct ir3_instruction, n, &instr_list, node) { in legalize_block()
155 struct ir3_instruction *nop; in legalize_block()
166 struct ir3_instruction *last = list_last_entry(&block->instr_list, in legalize_block()
167 struct ir3_instruction, node); in legalize_block()
233 struct ir3_instruction *baryf; in legalize_block()
254 list_first_entry(&block->instr_list, struct ir3_instruction, node) in legalize_block()
311 struct ir3_instruction *instr = list_first_entry( in resolve_dest_block()
[all …]
Dir3_compiler_nir.c69 struct ir3_instruction *frag_pos, *frag_face, *frag_coord[4];
72 struct ir3_instruction *vertex_id, *basevertex, *instance_id;
75 struct ir3_instruction *local_invocation_id, *work_group_id;
96 struct ir3_instruction **last_dst;
140 static struct ir3_instruction * create_immed(struct ir3_block *block, uint32_t val);
323 static struct ir3_instruction *
325 struct ir3_instruction *address) in create_array_load()
328 struct ir3_instruction *mov; in create_array_load()
351 static struct ir3_instruction *
353 struct ir3_instruction *src, struct ir3_instruction *address) in create_array_store()
[all …]
Dir3_depth.c55 int ir3_delayslots(struct ir3_instruction *assigner, in ir3_delayslots()
56 struct ir3_instruction *consumer, unsigned n) in ir3_delayslots()
91 ir3_insert_by_depth(struct ir3_instruction *instr, struct list_head *list) in ir3_insert_by_depth()
97 list_for_each_entry (struct ir3_instruction, pos, list, node) { in ir3_insert_by_depth()
108 ir3_instr_depth(struct ir3_instruction *instr) in ir3_instr_depth()
110 struct ir3_instruction *src; in ir3_instr_depth()
142 list_for_each_entry_safe (struct ir3_instruction, instr, &block->instr_list, node) { in remove_unused_by_block()
184 struct ir3_instruction *instr = ir->indirects[i]; in ir3_depth()
191 struct ir3_instruction *in = ir->inputs[i]; in ir3_depth()
Dir3_ra.c298 struct ir3_instruction *defn;
327 is_half(struct ir3_instruction *instr) in is_half()
333 is_high(struct ir3_instruction *instr) in is_high()
370 writes_gpr(struct ir3_instruction *instr) in writes_gpr()
379 instr_before(struct ir3_instruction *a, struct ir3_instruction *b) in instr_before()
386 static struct ir3_instruction *
387 get_definer(struct ir3_ra_ctx *ctx, struct ir3_instruction *instr, in get_definer()
391 struct ir3_instruction *d = NULL; in get_definer()
411 struct ir3_instruction *dd; in get_definer()
428 struct ir3_instruction *f = ir3_neighbor_first(instr); in get_definer()
[all …]
Dir3_cp.c45 static bool is_eligible_mov(struct ir3_instruction *instr, bool allow_flags) in is_eligible_mov()
50 struct ir3_instruction *src_instr = ssa(src); in is_eligible_mov()
92 static bool valid_flags(struct ir3_instruction *instr, unsigned n, in valid_flags()
222 static void combine_flags(unsigned *dstflags, struct ir3_instruction *src) in combine_flags()
257 struct ir3_instruction *srcsrc = ssa(src->regs[1]); in combine_flags()
326 reg_cp(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr, in reg_cp()
329 struct ir3_instruction *src = ssa(reg); in reg_cp()
486 static struct ir3_instruction *
487 eliminate_output_mov(struct ir3_instruction *instr) in eliminate_output_mov()
492 struct ir3_instruction *src_instr = ssa(reg); in eliminate_output_mov()
[all …]
Dir3.c121 static int emit_cat0(struct ir3_instruction *instr, void *ptr, in emit_cat0()
150 static int emit_cat1(struct ir3_instruction *instr, void *ptr, in emit_cat1()
195 static int emit_cat2(struct ir3_instruction *instr, void *ptr, in emit_cat2()
275 static int emit_cat3(struct ir3_instruction *instr, void *ptr, in emit_cat3()
368 static int emit_cat4(struct ir3_instruction *instr, void *ptr, in emit_cat4()
416 static int emit_cat5(struct ir3_instruction *instr, void *ptr, in emit_cat5()
472 static int emit_cat6(struct ir3_instruction *instr, void *ptr, in emit_cat6()
651 static int emit_cat7(struct ir3_instruction *instr, void *ptr, in emit_cat7()
669 static int (*emit[])(struct ir3_instruction *instr, void *ptr,
688 list_for_each_entry (struct ir3_instruction, instr, &block->instr_list, node) { in ir3_assemble()
[all …]
Dir3_print.c36 static void print_instr_name(struct ir3_instruction *instr) in print_instr_name()
153 print_instr(struct ir3_instruction *instr, int lvl) in print_instr()
202 void ir3_print_instr(struct ir3_instruction *instr) in ir3_print_instr()
211 list_for_each_entry (struct ir3_instruction, instr, &block->instr_list, node) { in print_block()
Ddisasm-a3xx.c963 const char *ir3_instr_name(struct ir3_instruction *instr) in ir3_instr_name()
/external/mesa3d/src/gallium/docs/source/drivers/freedreno/
Dir3-notes.rst106 ``ir3_instruction``
127 Iterate each instruction's SSA source ``ir3_instruction``\s. This skips