-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Switch to using integration footer by default #3777
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
[SYCL] Switch to using integration footer by default #3777
Conversation
…e header This patch moves functions which use `__builtin_unique_stable_name` to a separate header which should only be included to integration footer. This was made to get rid of UB when the compiler sees defenition of the template specialization before seeing a declaration.
This description is not accurate
|
Right, it is not directly related to |
…_stable_name-to-separate-header
…_stable_name-to-separate-header
…bled by default for any app
I don't think we should be putting the last patch into the repo, we are about a week and a half away from getting the actual implementation, and this will delay it. |
…e_name-to-separate-header
…e_name-to-separate-header
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just 2 CFE test nits.
…din_unique_stable_name-to-separate-header
Added a wrapper, which is defined in integration footer only after we define all specializations for `get_spec_constant_symbolic_ID`. By using it we ensure that we do not try to instantiate `get_spec_constant_symbolic_ID` until after we made all required specializations.
…eparate-header' of github.com:dm-vodopyanov/llvm into private/dvodopya/move-__buildin_unique_stable_name-to-separate-header
3ef8887
…din_unique_stable_name-to-separate-header
…din_unique_stable_name-to-separate-header
The primary function/wrapper which is used by DPC++ RT is left as-is, i.e. `get_spec_constant_symbolic_ID`. The internal function and its specialziations which are generated by the compiler renamed to `get_spec_constant_symbolic_ID_impl`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@AGindinson, @mdtoguchi, could you please take a look at the driver part? Basically, we have enabled integration footer by default and turned existing @AaronBallman, @elizabethandrews, @premanandrao, could you please take a look at FE part? The changes are quite simple: we have added a few more includes to emitted integration footer + did renaming |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FE changes LGTM. Thanks!
…din_unique_stable_name-to-separate-header
…eparate-header' of github.com:dm-vodopyanov/llvm into private/dvodopya/move-__buildin_unique_stable_name-to-separate-header
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FE changes LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* upstream/sycl: (649 commits) [SYCL][Driver][NFC] Update integration footer test for 32-bit host (intel#4039) [SYCL][L0] Initialize descriptor .stype and .pNext (intel#4032) [SYCL] Add sycl::kernel::get_kernel_bundle method (intel#3855) [SYCL] Add support for device UUID as a SYCL extension. (intel#3696) [SYCL][Matrix] Add spec document for the matrix extension interface and its first implementation for AMX (intel#3551) Fix debug build mangler test after PR#3992 (8f38045). (intel#4033) [Driver][SYCL] Restrict user -include file in final integration footer step (intel#4036) [SYCL] [Tests] Do not copy device binary image mocks (intel#4023) [SYCL][Doc] Update docs to reflect new compiler features (intel#4030) [SYCL][CUDA] cl_khr_fp16 extension connected to cuda PI. (intel#4029) [SYCL][NFC] Refactor RT unit tests (intel#4021) [SYCL] Switch to using integration footer by default (intel#3777) [SYCL][CUDA] Add the Use Default Stream property (intel#4004) Uplift GPU RT version for Linux to 21.24.20098 (intel#4003) [SYCL][CUDA] atomic_ref.fetch_add used for fp64 reduction if device.has(atomic64) (intel#3950) [Driver][SYCL] Differentiate host dependency link from regular host link (intel#4002) [SYCL][ESIMD] Support device half type in intrinsics. (intel#4024) [SYCL] Allow fpga_reg only for PODs and Trivially-copyable structs (intel#3643) [SYCL][FPGA] Restore legacy debug info version for the hardware (intel#3991) [SYCL][PI][L0] Force reset of memcpy command-list. (intel#4001) ...
Added
spec_constant_integration.hpp
header file, which is included fromintegration footer.
Added
get_spec_constant_symbolic_ID_wrapper
which in combinationwith
spec_constant_integration.hpp
allows us to avoid exploiting a UBrelated to instantiating a template before we have seen all its
specializations.
Replaced
-fsycl-use-footer
compiler flag with-fno-sycl-use-footer
flag with the opposite semantics.