LLVM Backend for the VideoCore4, Raspberry Pi 2 VPU
It bugs me that LLVM targets are not properly 'plug in'.
LLVM backends can be in a plugin, but you have to tell the frontend which target to use (so it can use the correct data-layout etc). Its the frontends that don't support plug-in targets. Clang, for example, hardcodes the supported targets.
A combination of using enums as a 'target triple' and lack of dynamic target registration conspire against easy-to-use out-of-tree targets :(
What can you do with this?
VC4 is used in all the Raspberry Pi boards, not just the RPi 2.
You can run C code on GPUs? I don't know anything about GPUs, but I thought they had a completely different programming model that requires different programming languages and paradigms.
I did GCC too, https://github.com/puppeh/vc4-toolchain.
How is this different than using gcc like they describe in this book https://jan.newmarch.name/RPi/?
Could this be used to give more direct access to the Raspberry Pi Camera subsystem?
Would appreciate any pointers, no pun intended initially.
Outstanding!
Is it possible to use the LLVMLinux patches to run the kernel directly on the VC4?
does this have opencl support now?