Lines Matching refs:aco
38 static const std::array<aco_compiler_statistic_info, aco::num_statistics> statistic_infos = []()
40 std::array<aco_compiler_statistic_info, aco::num_statistics> ret{}; in __anon5fdcbb460102()
41 ret[aco::statistic_hash] = in __anon5fdcbb460102()
43 ret[aco::statistic_instructions] = in __anon5fdcbb460102()
45 ret[aco::statistic_copies] = in __anon5fdcbb460102()
47 ret[aco::statistic_branches] = aco_compiler_statistic_info{"Branches", "Branch instructions"}; in __anon5fdcbb460102()
48 ret[aco::statistic_latency] = in __anon5fdcbb460102()
50 ret[aco::statistic_inv_throughput] = aco_compiler_statistic_info{ in __anon5fdcbb460102()
52 ret[aco::statistic_vmem_clauses] = aco_compiler_statistic_info{ in __anon5fdcbb460102()
54 ret[aco::statistic_smem_clauses] = aco_compiler_statistic_info{ in __anon5fdcbb460102()
56 ret[aco::statistic_sgpr_presched] = in __anon5fdcbb460102()
58 ret[aco::statistic_vgpr_presched] = in __anon5fdcbb460102()
63 const unsigned aco_num_statistics = aco::num_statistics;
67 validate(aco::Program* program) in validate()
69 if (!(aco::debug_flags & aco::DEBUG_VALIDATE_IR)) in validate()
72 ASSERTED bool is_valid = aco::validate_ir(program); in validate()
80 aco::init(); in aco_compile_shader()
83 std::unique_ptr<aco::Program> program{new aco::Program}; in aco_compile_shader()
94 aco::select_gs_copy_shader(program.get(), shaders[0], &config, args); in aco_compile_shader()
96 aco::select_trap_handler_shader(program.get(), shaders[0], &config, args); in aco_compile_shader()
98 aco::select_program(program.get(), shader_count, shaders, &config, args); in aco_compile_shader()
102 aco::live live_vars; in aco_compile_shader()
105 aco::lower_phis(program.get()); in aco_compile_shader()
106 aco::dominator_tree(program.get()); in aco_compile_shader()
111 if (!(aco::debug_flags & aco::DEBUG_NO_VN)) in aco_compile_shader()
112 aco::value_numbering(program.get()); in aco_compile_shader()
113 if (!(aco::debug_flags & aco::DEBUG_NO_OPT)) in aco_compile_shader()
114 aco::optimize(program.get()); in aco_compile_shader()
118 aco::setup_reduce_temp(program.get()); in aco_compile_shader()
119 aco::insert_exec_mask(program.get()); in aco_compile_shader()
123 live_vars = aco::live_var_analysis(program.get()); in aco_compile_shader()
124 aco::spill(program.get(), live_vars); in aco_compile_shader()
144 aco::collect_presched_stats(program.get()); in aco_compile_shader()
146 if ((aco::debug_flags & aco::DEBUG_LIVE_INFO) && args->options->dump_shader) in aco_compile_shader()
147 aco_print_program(program.get(), stderr, live_vars, aco::print_live_vars | aco::print_kill); in aco_compile_shader()
150 if (!args->options->key.optimisations_disabled && !(aco::debug_flags & aco::DEBUG_NO_SCHED)) in aco_compile_shader()
151 aco::schedule_program(program.get(), live_vars); in aco_compile_shader()
155 aco::register_allocation(program.get(), live_vars.live_out); in aco_compile_shader()
157 if (aco::validate_ra(program.get())) { in aco_compile_shader()
167 if (!args->options->key.optimisations_disabled && !(aco::debug_flags & aco::DEBUG_NO_OPT)) { in aco_compile_shader()
168 aco::optimize_postRA(program.get()); in aco_compile_shader()
172 aco::ssa_elimination(program.get()); in aco_compile_shader()
176 aco::lower_to_hw_instr(program.get()); in aco_compile_shader()
179 aco::insert_wait_states(program.get()); in aco_compile_shader()
180 aco::insert_NOPs(program.get()); in aco_compile_shader()
183 aco::form_hard_clauses(program.get()); in aco_compile_shader()
185 if (program->collect_statistics || (aco::debug_flags & aco::DEBUG_PERF_INFO)) in aco_compile_shader()
186 aco::collect_preasm_stats(program.get()); in aco_compile_shader()
190 unsigned exec_size = aco::emit_program(program.get(), code); in aco_compile_shader()
193 aco::collect_postasm_stats(program.get(), code); in aco_compile_shader()
207 aco::print_asm(program.get(), code, exec_size / 4u, memf); in aco_compile_shader()
227 stats_size = aco::num_statistics * sizeof(uint32_t); in aco_compile_shader()
243 memcpy(legacy_binary->data, program->statistics, aco::num_statistics * sizeof(uint32_t)); in aco_compile_shader()
272 aco::init(); in aco_compile_vs_prolog()
276 std::unique_ptr<aco::Program> program{new aco::Program}; in aco_compile_vs_prolog()
283 aco::select_vs_prolog(program.get(), key, &config, args, &num_preserved_sgprs); in aco_compile_vs_prolog()
284 aco::insert_NOPs(program.get()); in aco_compile_vs_prolog()
292 unsigned exec_size = aco::emit_program(program.get(), code); in aco_compile_vs_prolog()
295 aco::print_asm(program.get(), code, exec_size / 4u, stderr); in aco_compile_vs_prolog()