User Details
- User Since
- Mar 5 2015, 8:05 AM (431 w, 6 h)
Sun, Jun 4
LGTM! Thanks
Mon, May 22
I don't feel reinterpret_cast is the right fit for this as it's expected to do just reinterpretation but addrspacecast LLVM instruction which Clang generates might result in some more operations in particular some special instructions for address calculation. Would it work if you enable addrspace_cast with double underscore prefix directly in C++ or something like this? Otherwise C-cast would be just as good as changing reinterpret cast in this way.
Mar 12 2023
LGTM! Thanks
LGTM! Thanks
Feb 19 2023
Feb 15 2023
Feb 13 2023
Feb 12 2023
Updated bullet about nounwind attr
I feel that originally pointers were disallowed because they create the same issue as size_t and etc as their size is implementation depended but the same logic applies to images and other types that are even more implementation depended. Overall this bit of the spec is very inconsistent so I don't mind if we change the behavior to be whatever we find more helpful. However I would encourage to submit an issue to OpenCL-Docs to point out this inconsistency.
Feb 5 2023
Feb 3 2023
It doesn't seem to make sense to have a LangOpt for this, if anything a new CodeGenOpt feels like a better fit. Then you should probably extend existing classify functions to prevent coercion instead of adding yet another function otherwise you will need to handle all the different corner cases again as there seem to be quite many if I look at X86_32ABIInfo::classifyReturnType...
Jan 15 2023
Jan 11 2023
Btw I wonder if in the future we could add some error or warning in case someone uses the same approach for frontend specific features, i.e.
Jan 6 2023
This doesn't look like a solution. Can you please explain what problem are you trying to solve:
- Linking multiple LLVM libraries together.
- Linking multiple LLVM libraries with different LLVM versions?
Any log of error would be helpful too.
Can you link relevant LLVM reviews or documentation and perhaps add some more details into the description?
Dec 2 2022
Nov 29 2022
Are these features affecting the frontend functionality in any way? If not we should implement those in the headers and if headers are not flexible enough to condition out the addition of the new macros we should extend them (potentially by extending behaviour of -cl-ext or introducing undef macros, see https://github.com/llvm/llvm-project/issues/55674). Please review the guidelines here: https://clang.llvm.org/docs/OpenCLSupport.html#opencl-extensions-and-features. The most relevant part here is:
Nov 11 2022
Nov 10 2022
Oct 25 2022
Addressed review comments
Sep 22 2022
Sep 2 2022
This makes sense. I believe the same applies to some other languages i.e. OpenCL, as the way clang evolved currently not all targets are compatible with all languages. In the future we might want to generalize this diagnostics to use in other cases too.
Sep 1 2022
Aug 31 2022
Aug 24 2022
- Added clarification about the opaque pointers in SPIR-V.
Aug 23 2022
Minor formatting changes
@svenvh as you made quite a lot of changes in the headers feel free to expand the description if you feel we should document some of those in more detail.
Aug 3 2022
Jul 29 2022
CC to @linjamaki in case there is anything else/different needed for HIP.
Jul 27 2022
Jun 24 2022
LGTM! Thanks
LGTM! Thanks
Jun 21 2022
LGTM! Thanks
Jun 17 2022
Btw do we have any issue tracking this failure, I am having a feeling that the translation of special types might be related to https://github.com/llvm/llvm-project/issues/55121? I am not aware at which point libclc is expected to be linked for SPIR-V but if linking happens at SPIR-V binary level it is likely going to face the other problem I described here.
I wonder if accepting type alias with identifier vector while parsing would be simpler to implement? Then you could just add those type aliases into the internal header. I assume user code is not allowed to redefine those i.e. it would result in undefined behavior or something like for most of C++ standard library features...
Jun 16 2022
Jun 15 2022
The patch seems very straight forward. I wonder though if we should always enable this for SPIR-V w/o adding any flag until the untyped pointers are added to SPIR-V so it will become a target setting controlled instead of a flag?
Jun 2 2022
LGTM! Thanks
ok, so the reason you are adding this to clang is that it needs to be mapped into a target intrinsic?
Jun 1 2022
Ok, makes sense! Thanks!
LGTM! Thanks
May 30 2022
Please make sure to reflect in your commit message that you are adding the clang internal headers too.
From the current change it seems to me that what you need to be testing is a just that the frontend options are being passed correctly? This should then be a driver test with -### checking for the options to be set for the frontend invocation...