alexcrichton transferred Issue #1141:
ACO is a compiler written by Valve as a replacement for LLVM in MESA to compile shaders when using amd gpu's. Both compilation speed and execution speed of shaders are very important for games. The former design constraint aligns with Cranelift's goal, while the later is nice to have. It also uses a single IR, like Cranelift.
https://xdc2019.x.org/event/5/contributions/334/attachments/431/683/ACO_XDC2019.pdf
At https://github.com/mesa3d/mesa/blob/93c8ebfa780ebd1495095e794731881aef29e7d3/src/amd/compiler/aco_spill.cpp#L32 a paper called "Register Spilling and Live-Range Splitting for SSA-Form Programs" is referenced.
At https://github.com/mesa3d/mesa/blob/2ea9e59e8d976ec77800d2a20645087b96d1e241/src/amd/compiler/aco_scheduler.cpp#L50 a paper called "A Novel Lightweight Instruction Scheduling Algorithm for Just-In-Time Compiler" is referenced. (Unfortunately behind a paywall)
Last updated: Nov 22 2024 at 16:03 UTC