Lines Matching refs:program
46 static void validate(aco::Program *program) in validate() argument
51 ASSERTED bool is_valid = aco::validate_ir(program); in validate()
63 std::unique_ptr<aco::Program> program{new aco::Program}; in aco_compile_shader() local
65 program->collect_statistics = args->options->record_stats; in aco_compile_shader()
66 if (program->collect_statistics) in aco_compile_shader()
67 memset(program->statistics, 0, sizeof(program->statistics)); in aco_compile_shader()
69 program->debug.func = args->options->debug.func; in aco_compile_shader()
70 program->debug.private_data = args->options->debug.private_data; in aco_compile_shader()
74 aco::select_gs_copy_shader(program.get(), shaders[0], &config, args); in aco_compile_shader()
76 aco::select_trap_handler_shader(program.get(), shaders[0], &config, args); in aco_compile_shader()
78 aco::select_program(program.get(), shader_count, shaders, &config, args); in aco_compile_shader()
81 aco_print_program(program.get(), stderr); in aco_compile_shader()
87 aco::lower_phis(program.get()); in aco_compile_shader()
88 aco::dominator_tree(program.get()); in aco_compile_shader()
89 validate(program.get()); in aco_compile_shader()
94 aco::value_numbering(program.get()); in aco_compile_shader()
96 aco::optimize(program.get()); in aco_compile_shader()
100 aco::setup_reduce_temp(program.get()); in aco_compile_shader()
101 aco::insert_exec_mask(program.get()); in aco_compile_shader()
102 validate(program.get()); in aco_compile_shader()
105 live_vars = aco::live_var_analysis(program.get()); in aco_compile_shader()
106 aco::spill(program.get(), live_vars); in aco_compile_shader()
116 aco_print_program(program.get(), memf); in aco_compile_shader()
125 if (program->collect_statistics) in aco_compile_shader()
126 aco::collect_presched_stats(program.get()); in aco_compile_shader()
131 aco::schedule_program(program.get(), live_vars); in aco_compile_shader()
132 validate(program.get()); in aco_compile_shader()
135 aco::register_allocation(program.get(), live_vars.live_out); in aco_compile_shader()
138 aco_print_program(program.get(), stderr); in aco_compile_shader()
141 if (aco::validate_ra(program.get())) { in aco_compile_shader()
143 aco_print_program(program.get(), stderr); in aco_compile_shader()
147 validate(program.get()); in aco_compile_shader()
149 aco::ssa_elimination(program.get()); in aco_compile_shader()
153 aco::lower_to_hw_instr(program.get()); in aco_compile_shader()
156 aco::insert_wait_states(program.get()); in aco_compile_shader()
157 aco::insert_NOPs(program.get()); in aco_compile_shader()
159 if (program->chip_class >= GFX10) in aco_compile_shader()
160 aco::form_hard_clauses(program.get()); in aco_compile_shader()
162 if (program->collect_statistics) in aco_compile_shader()
163 aco::collect_preasm_stats(program.get()); in aco_compile_shader()
167 unsigned exec_size = aco::emit_program(program.get(), code); in aco_compile_shader()
169 if (program->collect_statistics) in aco_compile_shader()
170 aco::collect_postasm_stats(program.get(), code); in aco_compile_shader()
182 bool fail = aco::print_asm(program.get(), code, exec_size / 4u, f); in aco_compile_shader()
188 aco_print_program(program.get(), stderr); in aco_compile_shader()
200 if (program->collect_statistics) in aco_compile_shader()
216 if (program->collect_statistics) { in aco_compile_shader()
220 memcpy(statistics->values, program->statistics, aco::num_statistics * sizeof(uint32_t)); in aco_compile_shader()