Lines Matching refs:ctx
322 mir_upload_ins(struct compiler_context *ctx, struct midgard_instruction ins)
324 midgard_instruction *heap = ralloc(ctx, struct midgard_instruction);
330 emit_mir_instruction(struct compiler_context *ctx, struct midgard_instruction ins)
332 midgard_instruction *u = mir_upload_ins(ctx, ins);
333 list_addtail(&u->link, &ctx->current_block->base.instructions);
338 mir_insert_instruction_before(struct compiler_context *ctx,
342 struct midgard_instruction *u = mir_upload_ins(ctx, ins);
365 #define mir_foreach_block(ctx, v) \
366 list_for_each_entry(pan_block, v, &ctx->blocks, link)
368 #define mir_foreach_block_from(ctx, from, v) \
369 list_for_each_entry_from(pan_block, v, &from->base, &ctx->blocks, link)
402 #define mir_foreach_instr_global(ctx, v) \
403 mir_foreach_block(ctx, v_block) \
406 #define mir_foreach_instr_global_safe(ctx, v) \
407 mir_foreach_block(ctx, v_block) \
431 mir_get_block(compiler_context *ctx, int idx)
433 struct list_head *lst = &ctx->blocks;
448 make_compiler_temp(compiler_context *ctx)
450 return (ctx->func->impl->ssa_alloc + ctx->temp_alloc++) << 1;
454 make_compiler_temp_reg(compiler_context *ctx)
456 return ((ctx->func->impl->reg_alloc + ctx->temp_alloc++) << 1) | PAN_IS_REG;
466 nir_src_index(compiler_context *ctx, nir_src *src)
491 void mir_rewrite_index(compiler_context *ctx, unsigned old, unsigned new);
492 void mir_rewrite_index_src(compiler_context *ctx, unsigned old, unsigned new);
493 void mir_rewrite_index_dst(compiler_context *ctx, unsigned old, unsigned new);
496 void mir_rewrite_index_src_swizzle(compiler_context *ctx, unsigned old, unsigned new, unsigned *swizzle);
497 bool mir_single_use(compiler_context *ctx, unsigned value);
498 unsigned mir_use_count(compiler_context *ctx, unsigned value);
513 void mir_print_bundle(midgard_bundle *ctx);
515 void mir_print_shader(compiler_context *ctx);
519 midgard_instruction *mir_insert_instruction_before_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
520 midgard_instruction *mir_insert_instruction_after_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
522 void mir_compute_temp_count(compiler_context *ctx);
528 void mir_set_offset(compiler_context *ctx, midgard_instruction *ins, nir_src *offset, unsigned seg);
627 void midgard_schedule_program(compiler_context *ctx);
629 void mir_ra(compiler_context *ctx);
630 void mir_squeeze_index(compiler_context *ctx);
631 void mir_lower_special_reads(compiler_context *ctx);
633 void mir_compute_liveness(compiler_context *ctx);
634 void mir_invalidate_liveness(compiler_context *ctx);
635 bool mir_is_live_after(compiler_context *ctx, midgard_block *block, midgard_instruction *start, int src);
637 void mir_create_pipeline_registers(compiler_context *ctx);
638 void midgard_promote_uniforms(compiler_context *ctx);
641 midgard_emit_derivatives(compiler_context *ctx, nir_alu_instr *instr);
644 midgard_lower_derivatives(compiler_context *ctx, midgard_block *block);
648 void mir_analyze_helper_terminate(compiler_context *ctx);
649 void mir_analyze_helper_requirements(compiler_context *ctx);
654 compiler_context *ctx,
664 unsigned midgard_get_first_tag_from_block(compiler_context *ctx, unsigned block_idx);
668 bool midgard_opt_copy_prop(compiler_context *ctx, midgard_block *block);
669 bool midgard_opt_combine_projection(compiler_context *ctx, midgard_block *block);
670 bool midgard_opt_varying_projection(compiler_context *ctx, midgard_block *block);
671 bool midgard_opt_dead_code_eliminate(compiler_context *ctx);
672 bool midgard_opt_dead_move_eliminate(compiler_context *ctx, midgard_block *block);