Home | History | Annotate | Download | only in midgard

Lines Matching defs:midgard_instruction

88 typedef struct midgard_instruction {
188 } midgard_instruction;
215 midgard_instruction *instructions[6];
306 midgard_instruction *writeout_branch[MIDGARD_NUM_RTS][MIDGARD_MAX_SAMPLE_ITER];
321 static inline midgard_instruction *
322 mir_upload_ins(struct compiler_context *ctx, struct midgard_instruction ins)
324 midgard_instruction *heap = ralloc(ctx, struct midgard_instruction);
329 static inline midgard_instruction *
330 emit_mir_instruction(struct compiler_context *ctx, struct midgard_instruction ins)
332 midgard_instruction *u = mir_upload_ins(ctx, ins);
337 static inline struct midgard_instruction *
339 struct midgard_instruction *tag,
340 struct midgard_instruction ins)
342 struct midgard_instruction *u = mir_upload_ins(ctx, ins);
348 mir_remove_instruction(struct midgard_instruction *ins)
353 static inline midgard_instruction*
354 mir_prev_op(struct midgard_instruction *ins)
356 return list_last_entry(&(ins->link), midgard_instruction, link);
359 static inline midgard_instruction*
360 mir_next_op(struct midgard_instruction *ins)
362 return list_first_entry(&(ins->link), midgard_instruction, link);
372 list_for_each_entry(struct midgard_instruction, v, &block->base.instructions, link)
374 list_for_each_entry_rev(struct midgard_instruction, v, &block->base.instructions, link)
377 list_for_each_entry_safe(struct midgard_instruction, v, &block->base.instructions, link)
380 list_for_each_entry_safe_rev(struct midgard_instruction, v, &block->base.instructions, link)
383 list_for_each_entry_from(struct midgard_instruction, v, from, &block->base.instructions, link)
386 list_for_each_entry_from_rev(struct midgard_instruction, v, from, &block->base.instructions, link)
395 midgard_instruction* v; \
424 static inline midgard_instruction *
427 return list_last_entry(&block->base.instructions, struct midgard_instruction, link);
494 void mir_rewrite_index_dst_single(midgard_instruction *ins, unsigned old, unsigned new);
495 void mir_rewrite_index_src_single(midgard_instruction *ins, unsigned old, unsigned new);
499 uint16_t mir_bytemask_of_read_components(midgard_instruction *ins, unsigned node);
500 uint16_t mir_bytemask_of_read_components_index(midgard_instruction *ins, unsigned i);
502 uint16_t mir_bytemask(midgard_instruction *ins);
504 void mir_set_bytemask(midgard_instruction *ins, uint16_t bytemask);
505 signed mir_upper_override(midgard_instruction *ins, unsigned inst_size);
507 unsigned max_bitsize_for_alu(midgard_instruction *ins);
512 void mir_print_instruction(midgard_instruction *ins);
516 bool mir_nontrivial_mod(midgard_instruction *ins, unsigned i, bool check_swizzle);
517 bool mir_nontrivial_outmod(midgard_instruction *ins);
519 void mir_insert_instruction_before_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
520 void mir_insert_instruction_after_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
521 void mir_flip(midgard_instruction *ins);
528 void mir_set_offset(compiler_context *ctx, midgard_instruction *ins, nir_src *offset, unsigned seg);
529 void mir_set_ubo_offset(midgard_instruction *ins, nir_src *src, unsigned bias);
533 static inline midgard_instruction
536 midgard_instruction ins = {
561 static inline midgard_instruction
571 midgard_instruction ins = {
612 mir_has_arg(midgard_instruction *ins, unsigned arg)
632 void mir_liveness_ins_update(uint16_t *live, midgard_instruction *ins, unsigned max);
635 bool mir_is_live_after(compiler_context *ctx, midgard_block *block, midgard_instruction *start, int src);