-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clang/master does not compile - please rebase or merge #1
Comments
Already? I updated it 2 days ago, use the compute branch. Oh whoops that was this repo. |
Done. Be aware that I will soon (I hope approx. three weeks-ish) be making a breaking change w.r.t. the OpenCL functions moving from Itanium mangled C++ to proper LLVM intrinsics. See the |
Thank you very much. The intrinsics change seems to have much impact on the clang OpenCL Codegen. For my purpose I only have to know how to insert proper get_global_id() and such function calls in Codegen. Am I right that OpenCL address spaces in LLVM get transformed to storage classes in SPIRV? What happens to the kernel arg metadata? Is there also a transformation or does it only use the qualifiers from the parameters directly? |
All that should change is the function will go from
Correct.
The write/read attributes of images and pipes get translated into |
Also you may be interested in the |
Hi! |
None yet, first goal is to get this upstreamed. |
Could you please rebase or merge the changes into llvm/compute? Clang refuses to build again. |
Just synced everything, sorry about that. Yeah I did see that, I have to take a closer look. I'll be publishing a blog post in about an hour on my project that uses this repo and I'll try to gather some efforts to get this into shape for upstreaming, I'll link to it and the /r/programming discussion when thats done. Currently I'm working on writing a tablegen backend for the tablegen descriptors I've written, the |
Sorry for disturbing again. I get a lot of undefined references when compiling your llvm compute backend with clang in-tree. Specifically in lib/CodeGen/MachineDominators.cpp and lib/Target/SPIRV/libSPIRV/SPIRVUtil.cpp. I even tried to clone everything again, but no success. Does it work for you? |
Hmmm. I just git pulled LLVM and rebuilt and it worked for me. I've pushed that pull so you can try it again. Did you ensure you updated the submodule? If you want this to not break too often I can notify you in this thread when I going to pull the latest LLVM changes. Chances are that that will coincide with when clang breaks and you can stagger updating clang. |
Yes, this seems a good solution. I also put your llvm fork on my watch list, but don't know if I get notified. |
Hmm. Could you post the missing symbols? All I've done since then was move stuff from the main target folder to |
I don't know well about all the CMake stuff, but here is what I get when I try to compile master: |
Very weird. Did |
llvm-spirv was successful, yes. But meanwhile I found the issue and this way clang builds again. add_definitions(-D_SPIRV_LLVM_API) |
Hello Nicholas, |
|
Hello thewilsonator,
thank you for this work! I think it will be very beneficial and I am trying to make use of it.
I only figured that your branch is out of sync with master for to long to compile with clang/master.
Could you please rebase or merge the changes (I don't care, but maybe others do)?
I did so locally, so it's not urgent for me.
Thanks alot and keep up the work!
Daniel
Edit: Forgot to mention, this issue relates to your llvm/compute fork, not this repository.
The text was updated successfully, but these errors were encountered: