AnyDSL / thorin

The Higher-Order Intermediate Representation
https://anydsl.github.io
GNU Lesser General Public License v3.0
151 stars 15 forks source link

Add (back) a SPIR-V backend #165

Closed Hugobros3 closed 3 days ago

Hugobros3 commented 5 days ago

This PR revives the ~3 year old unfinished SPIR-V backend for Thorin (and proceeds to rewrite most of it anyways).

Unlike it's forefather, this version does exactly zero structured control flow transforms/or fancy lowering. It is meant to target the OpenCL environment mostly, but with the hope that it can be used to target Shady instead with a few in-house extensions.

Currently there is no Accelerator/Intrinsic for emitting SPIR-V, instead this backend has been tested with the --emit-spirv flag available in the development branch of Artic.