Skip to content

Commit cdec00a

Browse files
committed
Merge remote-tracking branch 'intel/sycl' into private/MrSidims/MemChannel
2 parents 1f1135b + 51ac08c commit cdec00a

File tree

2,855 files changed

+178675
-46849
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,855 files changed

+178675
-46849
lines changed

.arcconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
"phabricator.uri" : "https://reviews.llvm.org/",
33
"repository.callsign" : "G",
44
"conduit_uri" : "https://reviews.llvm.org/",
5-
"base": "git:HEAD^"
5+
"base": "git:HEAD^",
6+
"arc.land.onto.default": "main"
67
}

.github/CODEOWNERS

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
* @bader
22

3+
# Front-end compiler
34
clang/ @Fznamznon @premanandrao @elizabethandrews
45

6+
# Driver
57
clang/**/Driver @mdtoguchi @AGindinson
68

9+
# LLVM-SPIRV translator
710
llvm-spirv/ @AlexeySotkin @AlexeySachkov
811

12+
# OpenCL "offline" compiler
913
opencl-aot/ @dm-vodopyanov @AlexeySachkov @romanovvlad
1014

15+
# Device library
1116
libdevice/ @vzakhari
1217

13-
sycl/ @intel/llvm-reviewers-runtime
14-
18+
# Documentation
1519
sycl/ReleaseNotes.md @pvchupin
20+
sycl/doc/ @pvchupin @kbobrovs
21+
sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
22+
23+
# DPC++ runtime library
24+
sycl/ @intel/llvm-reviewers-runtime
1625

1726
# USM
1827
sycl/include/CL/sycl/detail/clusm.hpp @jbrodman
@@ -41,6 +50,9 @@ sycl/source/detail/plugin.hpp @smaslov-intel
4150
sycl/source/detail/posix_pi.cpp @smaslov-intel
4251
sycl/source/detail/windows_pi.cpp @smaslov-intel
4352

53+
# CUDA plugin
54+
sycl/plugins/cuda/ @intel/llvm-reviewers-cuda
55+
4456
# Stream
4557
sycl/include/CL/sycl/detail/stream_impl.hpp @againull
4658
sycl/include/CL/sycl/stream.hpp @againull
@@ -78,16 +90,23 @@ sycl/source/half_type.cpp @AlexeySachkov
7890
sycl/include/CL/sycl/swizzles.def @turinevgeny
7991
sycl/include/CL/sycl/types.hpp @turinevgeny
8092

81-
sycl/plugins/cuda/ @intel/llvm-reviewers-cuda
82-
83-
sycl/doc/ @pvchupin @kbobrovs
84-
85-
sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
86-
93+
# XPTI instrumentation utilities
8794
xpti/ @tovinkere @andykaylor
8895
xptifw/ @tovinkere @andykaylor
8996

97+
# DPC++ tools
98+
llvm/tools/file-table-tform/ @kbobrovs @AlexeySachkov
99+
llvm/tools/llvm-foreach/ @AlexeySachkov @Fznamznon
100+
llvm/tools/llvm-no-spir-kernel/ @AGindinson @AlexeySachkov
90101
llvm/tools/sycl-post-link/ @kbobrovs @AlexeySachkov
91102

103+
# Clang offload tools
92104
clang/tools/clang-offload-bundler/ @kbobrovs @sndmitriev
93105
clang/tools/clang-offload-wrapper/ @sndmitriev @kbobrovs
106+
clang/tools/clang-offload-deps/ @sndmitriev
107+
108+
# Explicit SIMD
109+
SYCLLowerIR/ @kbobrovs
110+
esimd/ @kbobrovs
111+
sycl/include/CL/sycl/INTEL/esimd.hpp @kbobrovs
112+
sycl/doc/extensions/ExplicitSIMD/ @kbobrovs

.github/workflows/main-branch-sync.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: main branch sync
33
on:
44
push:
55
branches:
6-
- 'master'
6+
- 'main'
77

88
jobs:
99
branch_sync:
@@ -22,4 +22,4 @@ jobs:
2222
env:
2323
LLVMBOT_TOKEN: ${{ secrets.LLVMBOT_MAIN_SYNC }}
2424
run: |
25-
git push https://[email protected]/${{ github.repository }} HEAD:main
25+
git push https://[email protected]/${{ github.repository }} HEAD:master

.github/workflows/sync-main.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: automatic sync main branch from llvm-project to llvm
2+
3+
on:
4+
schedule:
5+
- cron: '/10 * * * *'
6+
jobs:
7+
sync:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v2
11+
with:
12+
# persist-credentials: false allows us to use our own credentials for
13+
# pushing to the repository. Otherwise, the default github actions token
14+
# is used.
15+
persist-credentials: false
16+
fetch-depth: 0
17+
path: src
18+
- name: Sync
19+
env:
20+
BRANCH: main
21+
SYNC_REPO: https://github.com/llvm/llvm-project
22+
LLVMBOT_TOKEN: ${{ secrets.LLVM_MAIN_SYNC_BBSYCL_TOKEN }}
23+
run: |
24+
cd $GITHUB_WORKSPACE/src
25+
branch_exist=`git ls-remote --heads origin $BRANCH | wc -l`
26+
if [ $branch_exist -ne 0 ]; then
27+
git checkout $BRANCH
28+
git pull --ff --ff-only $SYNC_REPO $BRANCH
29+
if [ $? -ne 0 ]; then
30+
echo "failed to pull from $SYNC_REPO $BRANCH, abort"
31+
exit 1
32+
fi
33+
git_status=`git rev-list --count --left-right origin/$BRANCH...$BRANCH`
34+
if [ "0 0" == "$git_status" ] ; then
35+
echo "no change, skip"
36+
elif [[ "$git_status" = 0* ]] ; then
37+
git push https://[email protected]/${{ github.repository }} ${BRANCH}
38+
else
39+
echo "$BRANCH branch invalid state"
40+
exit 1
41+
fi
42+
else
43+
git remote add upstream $SYNC_REPO
44+
git fetch upstream
45+
git checkout -B $BRANCH upstream/$BRANCH
46+
git push https://[email protected]/${{ github.repository }} ${BRANCH}
47+
fi
48+
echo "sync finished"

buildbot/dependency.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ ocl_cpu_rt_ver=2020.11.11.0.04
44
# https://github.com/intel/llvm/releases/download/2020-WW45/win-oclcpuexp-2020.11.11.0.04_rel.zip
55
ocl_cpu_rt_ver_win=2020.11.11.0.04
66
# Same GPU driver supports Level Zero and OpenCL
7-
# https://github.com/intel/compute-runtime/releases/tag/20.46.18421
8-
ocl_gpu_rt_ver=20.46.18421
7+
# https://github.com/intel/compute-runtime/releases/tag/20.50.18716
8+
ocl_gpu_rt_ver=20.50.18716
99
# Same GPU driver supports Level Zero and OpenCL
1010
# https://downloadmirror.intel.com/29988/a08/igfx_win10_100.8935.zip
1111
ocl_gpu_rt_ver_win=27.20.100.8935
@@ -25,7 +25,7 @@ fpga_ver_win=20201022_000005
2525
[DRIVER VERSIONS]
2626
cpu_driver_lin=2020.11.11.0.04
2727
cpu_driver_win=2020.11.11.0.04
28-
gpu_driver_lin=20.46.18421
28+
gpu_driver_lin=20.50.18716
2929
gpu_driver_win=27.20.100.8935
3030
fpga_driver_lin=2020.11.11.0.04
3131
fpga_driver_win=2020.11.11.0.04

clang-tools-extra/clang-query/Query.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ template <> struct SetQueryKind<OutputKind> {
120120
static const QueryKind value = QK_SetOutputKind;
121121
};
122122

123-
template <> struct SetQueryKind<ast_type_traits::TraversalKind> {
123+
template <> struct SetQueryKind<TraversalKind> {
124124
static const QueryKind value = QK_SetTraversalKind;
125125
};
126126

clang-tools-extra/clang-query/QueryParser.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,17 @@ template <typename QueryType> QueryRef QueryParser::parseSetOutputKind() {
128128
llvm_unreachable("Invalid output kind");
129129
}
130130

131-
QueryRef QueryParser::parseSetTraversalKind(
132-
ast_type_traits::TraversalKind QuerySession::*Var) {
131+
QueryRef QueryParser::parseSetTraversalKind(TraversalKind QuerySession::*Var) {
133132
StringRef ValStr;
134133
unsigned Value =
135134
LexOrCompleteWord<unsigned>(this, ValStr)
136-
.Case("AsIs", ast_type_traits::TK_AsIs)
137-
.Case("IgnoreUnlessSpelledInSource",
138-
ast_type_traits::TK_IgnoreUnlessSpelledInSource)
135+
.Case("AsIs", TK_AsIs)
136+
.Case("IgnoreUnlessSpelledInSource", TK_IgnoreUnlessSpelledInSource)
139137
.Default(~0u);
140138
if (Value == ~0u) {
141139
return new InvalidQuery("expected traversal kind, got '" + ValStr + "'");
142140
}
143-
return new SetQuery<ast_type_traits::TraversalKind>(
144-
Var, static_cast<ast_type_traits::TraversalKind>(Value));
141+
return new SetQuery<TraversalKind>(Var, static_cast<TraversalKind>(Value));
145142
}
146143

147144
QueryRef QueryParser::endQuery(QueryRef Q) {

clang-tools-extra/clang-query/QueryParser.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ class QueryParser {
4343
template <typename T> struct LexOrCompleteWord;
4444

4545
QueryRef parseSetBool(bool QuerySession::*Var);
46-
QueryRef
47-
parseSetTraversalKind(ast_type_traits::TraversalKind QuerySession::*Var);
46+
QueryRef parseSetTraversalKind(TraversalKind QuerySession::*Var);
4847
template <typename QueryType> QueryRef parseSetOutputKind();
4948
QueryRef completeMatcherExpression();
5049

clang-tools-extra/clang-query/QuerySession.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class QuerySession {
2626
QuerySession(llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs)
2727
: ASTs(ASTs), PrintOutput(false), DiagOutput(true),
2828
DetailedASTOutput(false), BindRoot(true), PrintMatcher(false),
29-
Terminate(false), TK(ast_type_traits::TK_AsIs) {}
29+
Terminate(false), TK(TK_AsIs) {}
3030

3131
llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs;
3232

@@ -38,7 +38,7 @@ class QuerySession {
3838
bool PrintMatcher;
3939
bool Terminate;
4040

41-
ast_type_traits::TraversalKind TK;
41+
TraversalKind TK;
4242
llvm::StringMap<ast_matchers::dynamic::VariantValue> NamedValues;
4343
};
4444

clang-tools-extra/clang-tidy/ClangTidyCheck.cpp

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,28 @@ char UnparseableEnumOptionError::ID;
2121
char UnparseableIntegerOptionError::ID;
2222

2323
std::string MissingOptionError::message() const {
24-
llvm::SmallString<128> Buffer;
25-
llvm::raw_svector_ostream Output(Buffer);
26-
Output << "option not found '" << OptionName << '\'';
24+
llvm::SmallString<128> Buffer({"option not found '", OptionName, "'"});
2725
return std::string(Buffer);
2826
}
2927

3028
std::string UnparseableEnumOptionError::message() const {
31-
llvm::SmallString<128> Buffer;
32-
llvm::raw_svector_ostream Output(Buffer);
33-
Output << "invalid configuration value '" << LookupValue << "' for option '"
34-
<< LookupName << '\'';
29+
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
30+
"' for option '", LookupName, "'"});
3531
if (SuggestedValue)
36-
Output << "; did you mean '" << *SuggestedValue << "'?";
32+
Buffer.append({"; did you mean '", *SuggestedValue, "'?"});
3733
return std::string(Buffer);
3834
}
3935

4036
std::string UnparseableIntegerOptionError::message() const {
41-
llvm::SmallString<128> Buffer;
42-
llvm::raw_svector_ostream Output(Buffer);
43-
Output << "invalid configuration value '" << LookupValue << "' for option '"
44-
<< LookupName << "'; expected "
45-
<< (IsBoolean ? "a bool" : "an integer value");
37+
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
38+
"' for option '", LookupName, "'; expected ",
39+
(IsBoolean ? "a bool" : "an integer value")});
4640
return std::string(Buffer);
4741
}
4842

4943
ClangTidyCheck::ClangTidyCheck(StringRef CheckName, ClangTidyContext *Context)
5044
: CheckName(CheckName), Context(Context),
51-
Options(CheckName, Context->getOptions().CheckOptions) {
45+
Options(CheckName, Context->getOptions().CheckOptions, Context) {
5246
assert(Context != nullptr);
5347
assert(!CheckName.empty());
5448
}
@@ -58,16 +52,29 @@ DiagnosticBuilder ClangTidyCheck::diag(SourceLocation Loc, StringRef Message,
5852
return Context->diag(CheckName, Loc, Message, Level);
5953
}
6054

55+
DiagnosticBuilder ClangTidyCheck::diag(StringRef Message,
56+
DiagnosticIDs::Level Level) {
57+
return Context->diag(CheckName, Message, Level);
58+
}
59+
60+
DiagnosticBuilder
61+
ClangTidyCheck::configurationDiag(StringRef Description,
62+
DiagnosticIDs::Level Level) {
63+
return Context->configurationDiag(Description, Level);
64+
}
65+
6166
void ClangTidyCheck::run(const ast_matchers::MatchFinder::MatchResult &Result) {
6267
// For historical reasons, checks don't implement the MatchFinder run()
6368
// callback directly. We keep the run()/check() distinction to avoid interface
6469
// churn, and to allow us to add cross-cutting logic in the future.
6570
check(Result);
6671
}
6772

68-
ClangTidyCheck::OptionsView::OptionsView(StringRef CheckName,
69-
const ClangTidyOptions::OptionMap &CheckOptions)
70-
: NamePrefix(CheckName.str() + "."), CheckOptions(CheckOptions) {}
73+
ClangTidyCheck::OptionsView::OptionsView(
74+
StringRef CheckName, const ClangTidyOptions::OptionMap &CheckOptions,
75+
ClangTidyContext *Context)
76+
: NamePrefix(CheckName.str() + "."), CheckOptions(CheckOptions),
77+
Context(Context) {}
7178

7279
llvm::Expected<std::string>
7380
ClangTidyCheck::OptionsView::get(StringRef LocalName) const {
@@ -127,7 +134,7 @@ bool ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName,
127134
llvm::Expected<bool> ValueOr = get<bool>(LocalName);
128135
if (ValueOr)
129136
return *ValueOr;
130-
logIfOptionParsingError(ValueOr.takeError());
137+
reportOptionParsingError(ValueOr.takeError());
131138
return Default;
132139
}
133140

@@ -146,7 +153,7 @@ bool ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName,
146153
llvm::Expected<bool> ValueOr = getLocalOrGlobal<bool>(LocalName);
147154
if (ValueOr)
148155
return *ValueOr;
149-
logIfOptionParsingError(ValueOr.takeError());
156+
reportOptionParsingError(ValueOr.takeError());
150157
return Default;
151158
}
152159

@@ -205,11 +212,11 @@ llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
205212
Iter->getValue().Value);
206213
}
207214

208-
void ClangTidyCheck::OptionsView::logIfOptionParsingError(llvm::Error &&Err) {
215+
void ClangTidyCheck::OptionsView::reportOptionParsingError(
216+
llvm::Error &&Err) const {
209217
if (auto RemainingErrors =
210218
llvm::handleErrors(std::move(Err), [](const MissingOptionError &) {}))
211-
llvm::logAllUnhandledErrors(std::move(RemainingErrors),
212-
llvm::WithColor::warning());
219+
Context->configurationDiag(llvm::toString(std::move(RemainingErrors)));
213220
}
214221

215222
template <>

0 commit comments

Comments
 (0)