-
-
Notifications
You must be signed in to change notification settings - Fork 87
Description
I've managed to go from clang 10 to clang 11 now. There were a few API changes in clang 11.
- StringRefs used as return types instead of strings
- constant/callee extraction
- Load/Store instruction signatures changed
- links against libxml2 so needed a few cmake tweaks
- c++14 mode for cocl and clblast
- Sequence type deprecated. I replaced with arrayType as that is what llvm code seems to do, but I am ignoring vectorType.
- VectorType is now FixedVectorType and ScaleVectorType so had to add a couple of cases to a switch/case.
I know what llvm is and what it does but I've never dived into the API and nowhere near an expert (I made a toy interpreter based on craftinginterpreter.com book for fun but thats about it).
I've tested compiling a few simple example.cu files and they seem to work still.
Is anyone interested in me pushing this to a PR? I'm just messing around as I've been ill with a cold in bed and this looked like a fun project. It looks like it could still go on to do some cool things. OR we could start a new project and have it spit out spirv and use something like the vulkan kompute library instead of opencl and get this running even on macs with moltenvk. crazy I know, but would be fun!