Skip to content

Commit e5f466e

Browse files
committed
Merge remote-tracking branch 'upstream/sycl' into sycl
2 parents 010e59b + 7d4e0ed commit e5f466e

File tree

10,482 files changed

+523697
-164502
lines changed

Some content is hidden

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

10,482 files changed

+523697
-164502
lines changed

.arclint

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"linters": {
3+
"clang-format": {
4+
"type": "script-and-regex",
5+
"script-and-regex.script": "utils/arcanist/clang-format.sh",
6+
"script-and-regex.regex": "/^(?P<severity>[[:alpha:]]+)\n(?P<message>[^\n]+)\n(====|(?P<line>\\d),(?P<char>\\d)\n(?P<original>.*)>>>>\n(?P<replacement>.*)<<<<\n)$/s",
7+
"include": [
8+
"(\\.(cc|cpp|h)$)"
9+
]
10+
}
11+
}
12+
}

.github/CODEOWNERS

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,71 @@ opencl-aot/ @dm-vodopyanov @AlexeySachkov @romanovvlad
1010

1111
libdevice/ @asavonic @vzakhari
1212

13-
sycl/ @romanovvlad @bader
13+
sycl/ @intel/llvm-reviewers-runtime
14+
15+
sycl/ReleaseNotes.md @pvchupin
16+
17+
# USM
18+
sycl/include/CL/sycl/detail/clusm.hpp @jbrodman
19+
sycl/include/CL/sycl/detail/usm_impl.hpp @jbrodman
20+
sycl/include/CL/sycl/usm/ @jbrodman
21+
sycl/include/CL/sycl/ordered_queue.hpp @jbrodman
22+
sycl/include/CL/sycl/usm.hpp @jbrodman
23+
sycl/include/CL/cl_usm_ext.h @jbrodman
24+
sycl/source/detail/usm/ @jbrodman
25+
sycl/source/ordered_queue.cpp @jbrodman
26+
27+
# Sub-groups
28+
sycl/include/CL/sycl/detail/spirv.hpp @Pennycook @AlexeySachkov
29+
sycl/include/CL/sycl/intel/group_algorithm.hpp @Pennycook @AlexeySachkov
30+
sycl/include/CL/sycl/intel/sub_group.hpp @Pennycook @AlexeySachkov
31+
sycl/include/CL/sycl/intel/sub_group_host.hpp @Pennycook @AlexeySachkov
32+
33+
# PI API
34+
sycl/include/CL/sycl/detail/pi.def @smaslov-intel
35+
sycl/include/CL/sycl/detail/pi.h @smaslov-intel
36+
sycl/include/CL/sycl/detail/pi.hpp @smaslov-intel
37+
sycl/include/CL/sycl/detail/pi* @smaslov-intel
38+
sycl/plugins/ @smaslov-intel
39+
sycl/source/detail/pi.cpp @smaslov-intel
40+
sycl/source/detail/plugin.hpp @smaslov-intel
41+
sycl/source/detail/posix_pi.cpp @smaslov-intel
42+
sycl/source/detail/windows_pi.cpp @smaslov-intel
43+
44+
# Stream
45+
sycl/include/CL/sycl/detail/stream_impl.hpp @againull
46+
sycl/include/CL/sycl/stream.hpp @againull
47+
sycl/source/detail/stream_impl.cpp @againull
48+
sycl/source/stream.cpp @againull
49+
50+
# Specialization constant
51+
sycl/include/CL/sycl/detail/sycl_fe_intrins.hpp @kbobrovs
52+
sycl/include/CL/sycl/detail/spec_constant_impl.hpp @kbobrovs
53+
sycl/include/CL/sycl/experimental/spec_constant.hpp @kbobrovs
54+
55+
# Program manager
56+
sycl/source/detail/program_manager @kbobrovs
57+
sycl/source/detail/spec_constant_impl.cpp @kbobrovs
58+
59+
# FPGA extensions
60+
sycl/include/CL/sycl/intel/fpga_device_selector.hpp @MrSidims
61+
sycl/include/CL/sycl/intel/fpga_extensions.hpp @MrSidims
62+
sycl/include/CL/sycl/intel/fpga_reg.hpp @MrSidims
63+
sycl/include/CL/sycl/intel/pipes.hpp @MrSidims
64+
sycl/include/CL/sycl/pipes.hpp @MrSidims
65+
66+
# Function pointers
67+
sycl/include/CL/sycl/intel/function_pointer.hpp @AlexeySachkov
68+
sycl/source/function_pointer.cpp @AlexeySachkov
69+
70+
# Half Type
71+
sycl/include/CL/sycl/half_type.hpp @AlexeySachkov
72+
sycl/source/half_type.cpp @AlexeySachkov
73+
74+
# vec and swizzles
75+
sycl/include/CL/sycl/swizzles.def @turinevgeny
76+
sycl/include/CL/sycl/types.hpp @turinevgeny
77+
1478

1579
sycl/doc/ @pvchupin @kbobrovs
1680

CONTRIBUTING.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,23 @@ for more information.
7777
- Create a personal fork of the project on GitHub
7878
- For the DPC++ Compiler project, use **sycl** branch as baseline for your
7979
changes. See [Get Started Guide](sycl/doc/GetStartedGuide.md).
80-
- Prepare your patch (follow
81-
[LLVM coding standards](https://llvm.org/docs/CodingStandards.html)).
82-
[clang-format](https://clang.llvm.org/docs/ClangFormat.html) and [clang-tidy](
83-
https://clang.llvm.org/extra/clang-tidy/) tools can be integrated into your
84-
workflow to ensure formatting and stylistic compliance of your changes.
80+
- Prepare your patch
81+
- follow [LLVM coding standards](https://llvm.org/docs/CodingStandards.html)
82+
- [clang-format](https://clang.llvm.org/docs/ClangFormat.html) and
83+
[clang-tidy](https://clang.llvm.org/extra/clang-tidy/) tools can be integrated into your
84+
workflow to ensure formatting and stylistic compliance of your changes.
85+
- use
86+
```
87+
./clang/tools/clang-format/git-clang-format `git merge-base origin/sycl HEAD`
88+
```
89+
to check the format of your current changes against the `origin/sycl` branch.
90+
- `-f` to also correct unstaged changes
91+
- `--diff` to only print the diff without applying
8592
- Build the project and run all tests.
93+
- complete test suite: `python buildbot/check.py`
94+
- sycl test suite `python buildbot/check.py -t test-sycl`
95+
- run only "mytest" test `python buildbot/check.py -t test-sycl-mytest`
96+
- if necessary, use `-o $LLVM_BUILD_DIR` to specify the llvm build directory
8697
8798
### Commit message
8899

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Home for Intel LLVM-based projects:
77
- oneAPI Data Parallel C++ compiler - see **sycl** branch. More information on
88
oneAPI and DPC++ is available at
99
([https://www.oneapi.com/](https://www.oneapi.com/))
10-
- [![Linux Post Commit Checks](https://github.com/intel/llvm/workflows/Linux%20Post%20Commit%20Checks/badge.svg)](https://github.com/intel/llvm/actions?query=workflow%3A%22Linux+Post+Commit+Checks%22) [![Generate Doxygen documentation](https://github.com/intel/llvm/workflows/Generate%20Doxygen%20documentation/badge.svg)](https://github.com/intel/llvm/actions?query=workflow%3A%22Generate+Doxygen+documentation%22)
10+
- [![Linux Post Commit Checks](https://github.com/intel/llvm/workflows/Linux%20Post%20Commit%20Checks/badge.svg)](https://github.com/intel/llvm/actions?query=workflow%3A%22Linux+Post+Commit+Checks%22)
11+
[![Generate Doxygen documentation](https://github.com/intel/llvm/workflows/Generate%20Doxygen%20documentation/badge.svg)](https://github.com/intel/llvm/actions?query=workflow%3A%22Generate+Doxygen+documentation%22)
1112

1213

1314

clang-tools-extra/clang-change-namespace/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(LLVM_LINK_COMPONENTS
2-
support
2+
FrontendOpenMP
3+
Support
34
)
45

56
add_clang_library(clangChangeNamespace

clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,7 @@ void ChangeNamespaceTool::replaceQualifiedSymbolInDeclContext(
832832
std::string AliasName = NamespaceAlias->getNameAsString();
833833
std::string AliasQualifiedName =
834834
NamespaceAlias->getQualifiedNameAsString();
835-
// We only consider namespace aliases define in the global namepspace or
835+
// We only consider namespace aliases define in the global namespace or
836836
// in namespaces that are directly visible from the reference, i.e.
837837
// ancestor of the `OldNs`. Note that declarations in ancestor namespaces
838838
// but not visible in the new namespace is filtered out by

clang-tools-extra/clang-change-namespace/ChangeNamespace.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace change_namespace {
2727
// reference needs to be fully-qualified, this adds a "::" prefix to the
2828
// namespace specifiers unless the new namespace is the global namespace.
2929
// For classes, only classes that are declared/defined in the given namespace in
30-
// speficifed files will be moved: forward declarations will remain in the old
30+
// specified files will be moved: forward declarations will remain in the old
3131
// namespace.
3232
// For example, changing "a" to "x":
3333
// Old code:
@@ -138,7 +138,7 @@ class ChangeNamespaceTool : public ast_matchers::MatchFinder::MatchCallback {
138138
llvm::Regex FilePatternRE;
139139
// Information about moved namespaces grouped by file.
140140
// Since we are modifying code in old namespaces (e.g. add namespace
141-
// spedifiers) as well as moving them, we store information about namespaces
141+
// specifiers) as well as moving them, we store information about namespaces
142142
// to be moved and only move them after all modifications are finished (i.e.
143143
// in `onEndOfTranslationUnit`).
144144
std::map<std::string, std::vector<MoveNamespace>> MoveNamespaces;

clang-tools-extra/clang-change-namespace/tool/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
22

33
set(LLVM_LINK_COMPONENTS
4+
FrontendOpenMP
45
Support
56
)
67

clang-tools-extra/clang-doc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
set(LLVM_LINK_COMPONENTS
22
support
33
BitstreamReader
4+
FrontendOpenMP
45
)
56

67
add_clang_library(clangDoc

clang-tools-extra/clang-doc/Generators.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ void Generator::addInfoToIndex(Index &Idx, const doc::Info *Info) {
8282
// pointing.
8383
auto It = std::find(I->Children.begin(), I->Children.end(), R.USR);
8484
if (It != I->Children.end()) {
85-
// If it is found, just change I to point the namespace refererence found.
85+
// If it is found, just change I to point the namespace reference found.
8686
I = &*It;
8787
} else {
8888
// If it is not found a new reference is created

clang-tools-extra/clang-doc/Representation.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ void Info::mergeBase(Info &&Other) {
187187
// Unconditionally extend the description, since each decl may have a comment.
188188
std::move(Other.Description.begin(), Other.Description.end(),
189189
std::back_inserter(Description));
190-
std::sort(Description.begin(), Description.end());
190+
llvm::sort(Description);
191191
auto Last = std::unique(Description.begin(), Description.end());
192192
Description.erase(Last, Description.end());
193193
}
@@ -202,7 +202,7 @@ void SymbolInfo::merge(SymbolInfo &&Other) {
202202
DefLoc = std::move(Other.DefLoc);
203203
// Unconditionally extend the list of locations, since we want all of them.
204204
std::move(Other.Loc.begin(), Other.Loc.end(), std::back_inserter(Loc));
205-
std::sort(Loc.begin(), Loc.end());
205+
llvm::sort(Loc);
206206
auto Last = std::unique(Loc.begin(), Loc.end());
207207
Loc.erase(Last, Loc.end());
208208
mergeBase(std::move(Other));
@@ -314,7 +314,7 @@ bool Index::operator<(const Index &Other) const {
314314
}
315315

316316
void Index::sort() {
317-
std::sort(Children.begin(), Children.end());
317+
llvm::sort(Children);
318318
for (auto &C : Children)
319319
C.sort();
320320
}

clang-tools-extra/clang-doc/Serialize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ populateParentNamespaces(llvm::SmallVector<Reference, 4> &Namespaces,
3636
// <root>/A/B
3737
//
3838
// namespace A {
39-
// namesapce B {
39+
// namespace B {
4040
//
4141
// class C {};
4242
//

clang-tools-extra/clang-include-fixer/IncludeFixer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class IncludeFixerActionFactory : public clang::tooling::ToolAction {
6262
};
6363

6464
/// Create replacements, which are generated by clang-format, for the
65-
/// missing header and mising qualifiers insertions. The function uses the
65+
/// missing header and missing qualifiers insertions. The function uses the
6666
/// first header for insertion.
6767
///
6868
/// \param Code The source code.

clang-tools-extra/clang-include-fixer/IncludeFixerContext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class IncludeFixerContext {
3737

3838
/// The qualifiers of the scope in which SymbolIdentifier lookup
3939
/// occurs. It is represented as a sequence of names and scope resolution
40-
/// operatiors ::, ending with a scope resolution operator (e.g. a::b::).
40+
/// operators ::, ending with a scope resolution operator (e.g. a::b::).
4141
/// Empty if SymbolIdentifier is not in a specific scope.
4242
std::string ScopedQualifiers;
4343

clang-tools-extra/clang-include-fixer/SymbolIndexManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ using find_all_symbols::SymbolAndSignals;
2525
// related to the given source file.
2626
static double similarityScore(llvm::StringRef FileName,
2727
llvm::StringRef Header) {
28-
// Compute the maximum number of common path segements between Header and
28+
// Compute the maximum number of common path segments between Header and
2929
// a suffix of FileName.
3030
// We do not do a full longest common substring computation, as Header
3131
// specifies the path we would directly #include, so we assume it is rooted

clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(LLVM_LINK_COMPONENTS
22
Support
3+
FrontendOpenMP
34
)
45

56
add_clang_library(findAllSymbols

clang-tools-extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ void FindAllSymbols::registerMatchers(MatchFinder *MatchFinder) {
128128
auto HasNSOrTUCtxMatcher =
129129
hasDeclContext(anyOf(namespaceDecl(), translationUnitDecl()));
130130

131-
// We need seperate rules for C record types and C++ record types since some
131+
// We need separate rules for C record types and C++ record types since some
132132
// template related matchers are inapplicable on C record declarations.
133133
//
134134
// Matchers specific to C++ code.

clang-tools-extra/clang-include-fixer/find-all-symbols/PathConfig.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
//===----------------------------------------------------------------------===//
99

1010
#include "PathConfig.h"
11+
#include "llvm/ADT/SmallString.h"
1112
#include "llvm/Support/Path.h"
1213

1314
namespace clang {

clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def find_compilation_database(path):
4646

4747

4848
def MergeSymbols(directory, args):
49-
"""Merge all symbol files (yaml) in a given directaory into a single file."""
49+
"""Merge all symbol files (yaml) in a given directory into a single file."""
5050
invocation = [args.binary, '-merge-dir='+directory, args.saving_path]
5151
subprocess.call(invocation)
5252
print 'Merge is finished. Saving results in ' + args.saving_path

clang-tools-extra/clang-include-fixer/tool/clang-include-fixer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ def main():
146146
help='clang-include-fixer input format.')
147147
parser.add_argument('-input', default='',
148148
help='String to initialize the database.')
149-
# Don't throw exception when parsing unknown arguements to make the script
149+
# Don't throw exception when parsing unknown arguments to make the script
150150
# work in neovim.
151151
# Neovim (at least v0.2.1) somehow mangles the sys.argv in a weird way: it
152152
# will pass additional arguments (e.g. "-c script_host.py") to sys.argv,

clang-tools-extra/clang-move/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(LLVM_LINK_COMPONENTS
22
support
3+
FrontendOpenMP
34
)
45

56
add_clang_library(clangMove

clang-tools-extra/clang-move/Move.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ class FindAllIncludes : public PPCallbacks {
145145
ClangMoveTool *const MoveTool;
146146
};
147147

148-
/// Add a declatration being moved to new.h/cc. Note that the declaration will
148+
/// Add a declaration being moved to new.h/cc. Note that the declaration will
149149
/// also be deleted in old.h/cc.
150150
void MoveDeclFromOldFileToNewFile(ClangMoveTool *MoveTool, const NamedDecl *D) {
151151
MoveTool->getMovedDecls().push_back(D);
@@ -453,7 +453,7 @@ createInsertedReplacements(const std::vector<std::string> &Includes,
453453
}
454454

455455
// Return a set of all decls which are used/referenced by the given Decls.
456-
// Specically, given a class member declaration, this method will return all
456+
// Specifically, given a class member declaration, this method will return all
457457
// decls which are used by the whole class.
458458
llvm::DenseSet<const Decl *>
459459
getUsedDecls(const HelperDeclRefGraph *RG,
@@ -767,7 +767,7 @@ void ClangMoveTool::removeDeclsInOldFiles() {
767767
// FIXME: Minimize the include path like clang-include-fixer.
768768
std::string IncludeNewH =
769769
"#include \"" + Context->Spec.NewHeader + "\"\n";
770-
// This replacment for inserting header will be cleaned up at the end.
770+
// This replacement for inserting header will be cleaned up at the end.
771771
auto Err = FileAndReplacements.second.add(
772772
tooling::Replacement(FilePath, UINT_MAX, 0, IncludeNewH));
773773
if (Err)
@@ -810,7 +810,7 @@ void ClangMoveTool::moveDeclsToNewFiles() {
810810
std::vector<const NamedDecl *> ActualNewCCDecls;
811811

812812
// Filter out all unused helpers in NewCCDecls.
813-
// We only move the used helpers (including transively used helpers) and the
813+
// We only move the used helpers (including transitively used helpers) and the
814814
// given symbols being moved.
815815
for (const auto *D : NewCCDecls) {
816816
if (llvm::is_contained(HelperDeclarations, D) &&

clang-tools-extra/clang-query/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
set(LLVM_LINK_COMPONENTS
22
lineeditor
33
support
4+
FrontendOpenMP
45
)
56

67
add_clang_library(clangQuery

clang-tools-extra/clang-reorder-fields/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
set(LLVM_LINK_COMPONENTS support)
1+
set(LLVM_LINK_COMPONENTS
2+
FrontendOpenMP
3+
support
4+
)
25

36
add_clang_library(clangReorderFields
47
ReorderFieldsAction.cpp

clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ findMembersUsedInInitExpr(const CXXCtorInitializer *Initializer,
116116

117117
/// Reorders fields in the definition of a struct/class.
118118
///
119-
/// At the moment reodering of fields with
119+
/// At the moment reordering of fields with
120120
/// different accesses (public/protected/private) is not supported.
121121
/// \returns true on success.
122122
static bool reorderFieldsInDefinition(
@@ -133,7 +133,7 @@ static bool reorderFieldsInDefinition(
133133
for (const auto *Field : Definition->fields()) {
134134
const auto FieldIndex = Field->getFieldIndex();
135135
if (Field->getAccess() != Fields[NewFieldsOrder[FieldIndex]]->getAccess()) {
136-
llvm::errs() << "Currently reodering of fields with different accesses "
136+
llvm::errs() << "Currently reordering of fields with different accesses "
137137
"is not supported\n";
138138
return false;
139139
}

clang-tools-extra/clang-tidy/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
set(LLVM_LINK_COMPONENTS
2+
FrontendOpenMP
23
Support
34
)
45

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,9 @@ static void setStaticAnalyzerCheckerOpts(const ClangTidyOptions &Opts,
328328
StringRef OptName(Opt.first);
329329
if (!OptName.startswith(AnalyzerPrefix))
330330
continue;
331-
AnalyzerOptions->Config[OptName.substr(AnalyzerPrefix.size())] = Opt.second;
331+
// Analyzer options are always local options so we can ignore priority.
332+
AnalyzerOptions->Config[OptName.substr(AnalyzerPrefix.size())] =
333+
Opt.second.Value;
332334
}
333335
}
334336

@@ -454,7 +456,7 @@ std::vector<std::string> ClangTidyASTConsumerFactory::getCheckNames() {
454456
CheckNames.push_back(AnalyzerCheckNamePrefix + AnalyzerCheck.first);
455457
#endif // CLANG_ENABLE_STATIC_ANALYZER
456458

457-
std::sort(CheckNames.begin(), CheckNames.end());
459+
llvm::sort(CheckNames);
458460
return CheckNames;
459461
}
460462

0 commit comments

Comments
 (0)