Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

[SYCL] Remove UB in sampler.cpp #1177

Merged
merged 1 commit into from
Aug 24, 2022

Conversation

steffenlarsen
Copy link

The SYCL 2020 specification states that the instance of a moved SYCL object is invalid, so any operations after a move exhibit undefined behaviour. sampler.cpp moves a sampler before hashing the moved object. In that case, the hasher will extract a nullptr implementation, which with intel/llvm#6598 will fail an assertion.
Since this is UB, failing the assertion is valid and the UB case should be removed.
This commit removes the UB operation and removes the unnecessary opencl_icd requirement in sampler.cpp.

The SYCL 2020 specification states that the instance of a moved SYCL
object is invalid, so any operations after a move exhibit undefined
behaviour. sampler.cpp moves a sampler before hashing the moved object.
In that case, the hasher will extract a nullptr implementation, which
with intel/llvm#6598 will fail an assertion.
Since this is UB, failing the assertion is valid and the UB case should
be removed.
This commit removes the UB operation and removes the unnecessary
opencl_icd requirement in sampler.cpp.

Signed-off-by: Larsen, Steffen <[email protected]>
@steffenlarsen steffenlarsen requested a review from a team as a code owner August 24, 2022 17:14
@steffenlarsen steffenlarsen merged commit 4869162 into intel:intel Aug 24, 2022
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Mar 22, 2023
The SYCL 2020 specification states that the instance of a moved SYCL
object is invalid, so any operations after a move exhibit undefined
behaviour. sampler.cpp moves a sampler before hashing the moved object.
In that case, the hasher will extract a nullptr implementation, which
with intel/llvm#6598 will fail an assertion.
Since this is UB, failing the assertion is valid and the UB case should
be removed.
This commit removes the UB operation and removes the unnecessary
opencl_icd requirement in sampler.cpp.

Signed-off-by: Larsen, Steffen <[email protected]>
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
The SYCL 2020 specification states that the instance of a moved SYCL
object is invalid, so any operations after a move exhibit undefined
behaviour. sampler.cpp moves a sampler before hashing the moved object.
In that case, the hasher will extract a nullptr implementation, which
with intel#6598 will fail an assertion.
Since this is UB, failing the assertion is valid and the UB case should
be removed.
This commit removes the UB operation and removes the unnecessary
opencl_icd requirement in sampler.cpp.

Signed-off-by: Larsen, Steffen <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants