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] Implement thread-local storage restriction, move vardecl checks #1281

Merged
merged 2 commits into from
Mar 12, 2020

Conversation

erichkeane
Copy link
Contributor

The SYCL spec was recently clarified to prohibit thread local storage,
so this commit ensures an error is always emitted in these cases.

Additionally, the DeclRefExpr to a VarDecl were switched to delayed
diagnostics.

Signed-off-by: Erich Keane erich.keane@intel.com

The SYCL spec was recently clarified to prohibit thread local storage,
so this commit ensures an error is always emitted in these cases.

Additionally, the DeclRefExpr to a VarDecl were switched to delayed
diagnostics.

Signed-off-by: Erich Keane <erich.keane@intel.com>
premanandrao
premanandrao previously approved these changes Mar 10, 2020
Fznamznon
Fznamznon previously approved these changes Mar 11, 2020
Copy link
Contributor

@Fznamznon Fznamznon left a comment

Choose a reason for hiding this comment

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

LGTM, thanks

@@ -0,0 +1,49 @@
// RUN: %clang_cc1 -fsycl-is-device -verify -fsyntax-only -std=c++17 %s
Copy link
Contributor

Choose a reason for hiding this comment

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

Is c++17 needed here?

@fwyzard
Copy link
Contributor

fwyzard commented Mar 11, 2020

The SYCL spec was recently clarified to prohibit thread local storage,
so this commit ensures an error is always emitted in these cases.

Out of curiosity, do you have a pointer to this ?

@fwyzard
Copy link
Contributor

fwyzard commented Mar 11, 2020

OK, this is the oldest reference I can find in the SYCL-Docs public repository: KhronosGroup/SYCL-Docs@f714c21 .

@erichkeane
Copy link
Contributor Author

OK, this is the oldest reference I can find in the SYCL-Docs public repository: KhronosGroup/SYCL-Docs@f714c21 .

Yep, thats the reference I've implemented this based on.

Also fixes up the issues found by the bots, including the lacking
signed-off-by.

Signed-off-by: Erich Keane <erich.keane@intel.com>
@erichkeane erichkeane dismissed stale reviews from Fznamznon and premanandrao via bcbc2f1 March 11, 2020 13:45
@erichkeane erichkeane force-pushed the thread_local_prohibit branch from 2519573 to bcbc2f1 Compare March 11, 2020 13:45
@erichkeane
Copy link
Contributor Author

Sorry about the force-push, the build bot failed me for a signed-off-by on my followup patch, so I had to update the commit message. Did everything there and mentioned by @Fznamznon

@erichkeane erichkeane requested a review from bader March 11, 2020 15:11
@bader bader merged commit eb373c4 into intel:sycl Mar 12, 2020
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Mar 12, 2020
…e_api_test

* origin/sycl:
  [SYCL] Implement thread-local storage restriction (intel#1281)
  [Driver][SYCL][FPGA] Adjust the output location for the project report (intel#1278)
alexbatashev added a commit to alexbatashev/llvm that referenced this pull request Mar 13, 2020
…st_commit

* otcshare/sycl: (469 commits)
  [SYCL] Implement thread-local storage restriction (intel#1281)
  [Driver][SYCL][FPGA] Adjust the output location for the project report (intel#1278)
  [SYCL][NFC] Fix static code analysis concerns (intel#1283)
  [SYCL] Fix the test/basic_tests/buffer/subbuffer.cpp (intel#1277)
  [SYCL][CUDA] Implement the program kernel names query (intel#1248)
  [SYCL] Honor the LLVM_LIBDIR_SUFFIX variable at installation time (intel#1261)
  [SYCL][UX] Diagnostic for undefined device functions (intel#1026)
  [SYCL] Reverse reqd_work_group_size attribute (intel#1234)
  [SYCL] Rename project to oneAPI DPC++ Compiler (intel#1249)
  [SYCL][XPTI] Instrumentation of SYCL runtime with XPTI (intel#1129)
  [SYCL] Add buffer dimensions restriction (intel#1147)
  [SYCL][NFC] Update copyright header in handler files (intel#1271)
  [SYCL][NFC] Format the code with clang-format
  [SYCL][Test] Fix SYCL library location path for LIT tests (intel#1228)
  [SYCL][NFC] Fix doxygen warnings (intel#1270)
  [SYCL][CUDA] Add the CUDA backend to the deploy-sycl-toolchain target (intel#1268)
  [SYCL][NFC] Fix a misleading comment regarding the SYCL flow (intel#1266)
  Change capability for SpecId decoration
  README.md: Mention retrieving llvm archive signatures
  travis: Restore macOS builds
  ...
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.

5 participants