Skip to content
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] Fix SYCL Kernel Body Check #5546

Merged
merged 4 commits into from Feb 14, 2022
Merged

Conversation

elizabethandrews
Copy link
Contributor

@elizabethandrews elizabethandrews commented Feb 11, 2022

SYCLKernelAttr can be used to check if a given function is
a SYCL kernel body function or not. A SYCL kernel body function
is the operator() method of a SYCL Kernel Functor or Lambda Function.
The existing check which only tested if a FunctionDecl was an
operator or not, allowed for false positives. This patch adds an
additional check for SYCLKernelAttr, which will be attached to
the kernel body function's parent/ parent's parent (for wrapped
kernels)

Signed-off-by: Elizabeth Andrews elizabeth.andrews@intel.com

SYCLKernelAttr can be used to check if a given function is
a SYCL kernel body function or not. A SYCL kernel body function
is the operator() method of a SYCL Kernel Functor or Lamda Function.
The existing check which only tested if a FunctionDecl was an
operator or not, allowed for false positives. This patch adds an
additional check for th SYCLKernelAttr, which will be attached to
the kernel body function's parent/ parent's parent (for wrapped
kernels)

Signed-off-by: Elizabeth Andrews <elizabeth.andrews@intel.com>
@elizabethandrews elizabethandrews requested a review from a team as a code owner February 11, 2022 03:17
Signed-off-by: Elizabeth Andrews <elizabeth.andrews@intel.com>
clang/test/SemaSYCL/non-kernel-functor.cpp Show resolved Hide resolved
clang/lib/Sema/SemaSYCL.cpp Outdated Show resolved Hide resolved
clang/lib/Sema/SemaSYCL.cpp Show resolved Hide resolved
@elizabethandrews elizabethandrews marked this pull request as draft February 11, 2022 16:10
Signed-off-by: Elizabeth Andrews <elizabeth.andrews@intel.com>
@elizabethandrews elizabethandrews marked this pull request as ready for review February 11, 2022 16:28
smanna12
smanna12 previously approved these changes Feb 11, 2022
Signed-off-by: Elizabeth Andrews <elizabeth.andrews@intel.com>
Copy link
Contributor

@smanna12 smanna12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bader bader merged commit 49ebe5e into intel:sycl Feb 14, 2022
alexbatashev added a commit to alexbatashev/llvm that referenced this pull request Feb 23, 2022
…/llvm into refactor_existing_workflows

* 'refactor_existing_workflows' of github.com:alexbatashev/llvm: (2051 commits)
  [SYCL][L0] Honor property::queue::enable_profiling (intel#5543)
  [SYCL][CI] Enable sccache on Windows (intel#5589)
  [SYCL][Doc] Move internal design docs (intel#5556)
  [sycl-post-link] Initialize the integer Value variable (intel#5585)
  [CI] Fix nightly builds (intel#5584)
  [SYCL][L0] Fix use of copy-engines in L0 interop queue (intel#5579)
  Update OpenCL headers tag to dcd5bed (intel#5575)
  [SYCL] Fix warning for InOrderQueueSyncCheck unit test build (intel#5577)
  [SYCL][HIP] Remove arch requirement for running lit tests (intel#5253)
  [SYCL][L0] Fix timestamp calculation (in ns) (intel#5555)
  [SYCL] Fix sync of host task vs kernel for in-order queue (intel#5551)
  [sycl-post-link] Add a check for device globals with device_image_scope (intel#5517)
  [SYCL] Fix SYCL Kernel Body Check (intel#5546)
  [SYCL] Add support for SYCL 2020 in class group (intel#5447)
  Fix tests after 1c729d7 Use align attribute for kernel pointer arg alignment
  Fix tests after 18834dc Mark pointer-typed kernel arguments as ABI aligned
  [CI] Add experimental Windows build to GitHub Actions nightly (intel#5560)
  [sycl-post-link][NFC] Address clang-tidy concerns in the sycl-post-link (intel#5552)
  Fix lit test after changes in Clang
  Improve backward compatibility for DISubRange
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants