-
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? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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.