Lines Matching refs:aco
33 [aco::statistic_hash] = {"Hash", "CRC32 hash of code and constant data"},
34 [aco::statistic_instructions] = {"Instructions", "Instruction count"},
35 [aco::statistic_copies] = {"Copies", "Copy instructions created for pseudo-instructions"},
36 [aco::statistic_branches] = {"Branches", "Branch instructions"},
37 [aco::statistic_cycles] = {"Busy Cycles", "Estimate of busy cycles"},
38 …[aco::statistic_vmem_clauses] = {"VMEM Clause", "Number of VMEM clauses (includes 1-sized clauses)…
39 …[aco::statistic_smem_clauses] = {"SMEM Clause", "Number of SMEM clauses (includes 1-sized clauses)…
40 [aco::statistic_vmem_score] = {"VMEM Score", "Average VMEM def-use distances"},
41 [aco::statistic_smem_score] = {"SMEM Score", "Average SMEM def-use distances"},
42 [aco::statistic_sgpr_presched] = {"Pre-Sched SGPRs", "SGPR usage before scheduling"},
43 [aco::statistic_vgpr_presched] = {"Pre-Sched VGPRs", "VGPR usage before scheduling"},
46 static void validate(aco::Program *program) in validate()
48 if (!(aco::debug_flags & aco::DEBUG_VALIDATE_IR)) in validate()
51 ASSERTED bool is_valid = aco::validate_ir(program); in validate()
60 aco::init(); in aco_compile_shader()
63 std::unique_ptr<aco::Program> program{new aco::Program}; 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()
84 aco::live live_vars; in aco_compile_shader()
87 aco::lower_phis(program.get()); in aco_compile_shader()
88 aco::dominator_tree(program.get()); in aco_compile_shader()
93 if (!(aco::debug_flags & aco::DEBUG_NO_VN)) in aco_compile_shader()
94 aco::value_numbering(program.get()); in aco_compile_shader()
95 if (!(aco::debug_flags & aco::DEBUG_NO_OPT)) 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()
105 live_vars = aco::live_var_analysis(program.get()); in aco_compile_shader()
106 aco::spill(program.get(), live_vars); in aco_compile_shader()
126 aco::collect_presched_stats(program.get()); in aco_compile_shader()
130 !(aco::debug_flags & aco::DEBUG_NO_SCHED)) in aco_compile_shader()
131 aco::schedule_program(program.get(), live_vars); in aco_compile_shader()
135 aco::register_allocation(program.get(), live_vars.live_out); in aco_compile_shader()
141 if (aco::validate_ra(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()
160 aco::form_hard_clauses(program.get()); 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()
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()
201 stats_size = sizeof(aco_compiler_statistics) + aco::num_statistics * sizeof(uint32_t); in aco_compile_shader()
218 statistics->count = aco::num_statistics; in aco_compile_shader()
220 memcpy(statistics->values, program->statistics, aco::num_statistics * sizeof(uint32_t)); in aco_compile_shader()