Mesa (master): aco: Initial commit of independent AMD compiler
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Sep 19 10:33:40 UTC 2019
Module: Mesa
Branch: master
Commit: 93c8ebfa780ebd1495095e794731881aef29e7d3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93c8ebfa780ebd1495095e794731881aef29e7d3
Author: Daniel Schürmann <daniel at schuermann.dev>
Date: Tue Sep 17 13:22:17 2019 +0200
aco: Initial commit of independent AMD compiler
ACO (short for AMD Compiler) is a new compiler backend with the goal to replace
LLVM for Radeon hardware for the RADV driver.
ACO currently supports only VS, PS and CS on VI and Vega.
There are some optimizations missing because of unmerged NIR changes
which may decrease performance.
Full commit history can be found at
https://github.com/daniel-schuermann/mesa/commits/backend
Co-authored-by: Daniel Schürmann <daniel at schuermann.dev>
Co-authored-by: Rhys Perry <pendingchaos02 at gmail.com>
Co-authored-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Co-authored-by: Connor Abbott <cwabbott0 at gmail.com>
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta at googlemail.com>
Co-authored-by: Timur Kristóf <timur.kristof at gmail.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Acked-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
---
src/amd/compiler/README | 87 +
src/amd/compiler/aco_assembler.cpp | 497 ++
src/amd/compiler/aco_builder_h.py | 400 +
src/amd/compiler/aco_dead_code_analysis.cpp | 102 +
src/amd/compiler/aco_dominance.cpp | 93 +
src/amd/compiler/aco_insert_NOPs.cpp | 282 +
src/amd/compiler/aco_insert_exec_mask.cpp | 1078 +++
src/amd/compiler/aco_insert_waitcnt.cpp | 697 ++
src/amd/compiler/aco_instruction_selection.cpp | 7621 ++++++++++++++++++++
.../compiler/aco_instruction_selection_setup.cpp | 1366 ++++
src/amd/compiler/aco_interface.cpp | 166 +
src/amd/compiler/aco_interface.h | 45 +
src/amd/compiler/aco_ir.h | 1169 +++
src/amd/compiler/aco_live_var_analysis.cpp | 243 +
src/amd/compiler/aco_lower_bool_phis.cpp | 241 +
src/amd/compiler/aco_lower_to_hw_instr.cpp | 765 ++
src/amd/compiler/aco_opcodes.py | 1552 ++++
src/amd/compiler/aco_opcodes_cpp.py | 74 +
src/amd/compiler/aco_opcodes_h.py | 47 +
src/amd/compiler/aco_opt_value_numbering.cpp | 327 +
src/amd/compiler/aco_optimizer.cpp | 2401 ++++++
src/amd/compiler/aco_print_asm.cpp | 104 +
src/amd/compiler/aco_print_ir.cpp | 575 ++
src/amd/compiler/aco_reduce_assign.cpp | 164 +
src/amd/compiler/aco_register_allocation.cpp | 1924 +++++
src/amd/compiler/aco_scheduler.cpp | 835 +++
src/amd/compiler/aco_spill.cpp | 1630 +++++
src/amd/compiler/aco_ssa_elimination.cpp | 291 +
src/amd/compiler/aco_util.h | 233 +
src/amd/compiler/aco_validate.cpp | 460 ++
src/amd/compiler/meson.build | 103 +
31 files changed, 25572 insertions(+)
Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=93c8ebfa780ebd1495095e794731881aef29e7d3
More information about the mesa-commit
mailing list