Skip to content

Commit f00f71b

Browse files
author
Frank Laub
authored
Merge pull request #21 from plaidml/flaub-bump
Update to latest upstream MLIR
2 parents 4748117 + c51c246 commit f00f71b

File tree

6,062 files changed

+201661
-71887
lines changed

Some content is hidden

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

6,062 files changed

+201661
-71887
lines changed

.gitignore

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,11 @@ autoconf/autom4te.cache
5353
# VS2017 and VSCode config files.
5454
.vscode
5555
.vs
56-
# clangd index
57-
.clangd
56+
# clangd index. (".clangd" is a config file now, thus trailing slash)
57+
.clangd/
58+
.cache
59+
# static analyzer regression testing project files
60+
/clang/utils/analyzer/projects/*/CachedSource
61+
/clang/utils/analyzer/projects/*/PatchedSource
62+
/clang/utils/analyzer/projects/*/ScanBuildResults
63+
/clang/utils/analyzer/projects/*/RefScanBuildResults

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ set(LLVM_LINK_COMPONENTS
55

66
add_clang_library(clangChangeNamespace
77
ChangeNamespace.cpp
8+
9+
DEPENDS
10+
omp_gen
811
)
912

1013
clang_target_link_libraries(clangChangeNamespace

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,8 @@ namespace change_namespace {
1919

2020
namespace {
2121

22-
inline std::string
23-
joinNamespaces(const llvm::SmallVectorImpl<StringRef> &Namespaces) {
24-
if (Namespaces.empty())
25-
return "";
26-
std::string Result(Namespaces.front());
27-
for (auto I = Namespaces.begin() + 1, E = Namespaces.end(); I != E; ++I)
28-
Result += ("::" + *I).str();
29-
return Result;
22+
inline std::string joinNamespaces(ArrayRef<StringRef> Namespaces) {
23+
return llvm::join(Namespaces, "::");
3024
}
3125

3226
// Given "a::b::c", returns {"a", "b", "c"}.

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ add_clang_library(clangDoc
1515
Representation.cpp
1616
Serialize.cpp
1717
YAMLGenerator.cpp
18+
19+
DEPENDS
20+
omp_gen
1821
)
1922

2023
clang_target_link_libraries(clangDoc

clang-tools-extra/clang-include-fixer/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ add_clang_library(clangIncludeFixer
1212

1313
LINK_LIBS
1414
findAllSymbols
15+
16+
DEPENDS
17+
omp_gen
1518
)
1619

1720
clang_target_link_libraries(clangIncludeFixer

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ add_clang_library(findAllSymbols
1212
PragmaCommentHandler.cpp
1313
STLPostfixHeaderMap.cpp
1414
SymbolInfo.cpp
15+
16+
DEPENDS
17+
omp_gen
1518
)
1619

1720
clang_target_link_libraries(findAllSymbols

clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ add_clang_library(clangIncludeFixerPlugin
1010
clangSema
1111
clangTooling
1212
${LLVM_PTHREAD_LIB}
13+
14+
DEPENDS
15+
omp_gen
1316
)

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ set(LLVM_LINK_COMPONENTS
66
add_clang_library(clangMove
77
Move.cpp
88
HelperDeclRefGraph.cpp
9+
10+
DEPENDS
11+
omp_gen
912
)
1013

1114
clang_target_link_libraries(clangMove

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

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -552,20 +552,22 @@ void ClangMoveTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
552552

553553
// Match static functions/variable definitions which are defined in named
554554
// namespaces.
555-
Optional<ast_matchers::internal::Matcher<NamedDecl>> HasAnySymbolNames;
555+
SmallVector<std::string, 4> QualNames;
556+
QualNames.reserve(Context->Spec.Names.size());
556557
for (StringRef SymbolName : Context->Spec.Names) {
557-
llvm::StringRef GlobalSymbolName = SymbolName.trim().ltrim(':');
558-
const auto HasName = hasName(("::" + GlobalSymbolName).str());
559-
HasAnySymbolNames =
560-
HasAnySymbolNames ? anyOf(*HasAnySymbolNames, HasName) : HasName;
558+
QualNames.push_back(("::" + SymbolName.trim().ltrim(':')).str());
561559
}
562560

563-
if (!HasAnySymbolNames) {
561+
if (QualNames.empty()) {
564562
llvm::errs() << "No symbols being moved.\n";
565563
return;
566564
}
565+
566+
ast_matchers::internal::Matcher<NamedDecl> HasAnySymbolNames =
567+
hasAnyName(SmallVector<StringRef, 4>(QualNames.begin(), QualNames.end()));
568+
567569
auto InMovedClass =
568-
hasOutermostEnclosingClass(cxxRecordDecl(*HasAnySymbolNames));
570+
hasOutermostEnclosingClass(cxxRecordDecl(HasAnySymbolNames));
569571

570572
// Matchers for helper declarations in old.cc.
571573
auto InAnonymousNS = hasParent(namespaceDecl(isAnonymous()));
@@ -612,38 +614,38 @@ void ClangMoveTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
612614
// Create a MatchCallback for class declarations.
613615
MatchCallbacks.push_back(std::make_unique<ClassDeclarationMatch>(this));
614616
// Match moved class declarations.
615-
auto MovedClass = cxxRecordDecl(InOldFiles, *HasAnySymbolNames,
616-
isDefinition(), TopLevelDecl)
617-
.bind("moved_class");
617+
auto MovedClass =
618+
cxxRecordDecl(InOldFiles, HasAnySymbolNames, isDefinition(), TopLevelDecl)
619+
.bind("moved_class");
618620
Finder->addMatcher(MovedClass, MatchCallbacks.back().get());
619621
// Match moved class methods (static methods included) which are defined
620622
// outside moved class declaration.
621-
Finder->addMatcher(
622-
cxxMethodDecl(InOldFiles, ofOutermostEnclosingClass(*HasAnySymbolNames),
623-
isDefinition())
624-
.bind("class_method"),
625-
MatchCallbacks.back().get());
623+
Finder->addMatcher(cxxMethodDecl(InOldFiles,
624+
ofOutermostEnclosingClass(HasAnySymbolNames),
625+
isDefinition())
626+
.bind("class_method"),
627+
MatchCallbacks.back().get());
626628
// Match static member variable definition of the moved class.
627629
Finder->addMatcher(
628630
varDecl(InMovedClass, InOldFiles, isDefinition(), isStaticDataMember())
629631
.bind("class_static_var_decl"),
630632
MatchCallbacks.back().get());
631633

632634
MatchCallbacks.push_back(std::make_unique<FunctionDeclarationMatch>(this));
633-
Finder->addMatcher(functionDecl(InOldFiles, *HasAnySymbolNames, TopLevelDecl)
635+
Finder->addMatcher(functionDecl(InOldFiles, HasAnySymbolNames, TopLevelDecl)
634636
.bind("function"),
635637
MatchCallbacks.back().get());
636638

637639
MatchCallbacks.push_back(std::make_unique<VarDeclarationMatch>(this));
638640
Finder->addMatcher(
639-
varDecl(InOldFiles, *HasAnySymbolNames, TopLevelDecl).bind("var"),
641+
varDecl(InOldFiles, HasAnySymbolNames, TopLevelDecl).bind("var"),
640642
MatchCallbacks.back().get());
641643

642644
// Match enum definition in old.h. Enum helpers (which are defined in old.cc)
643645
// will not be moved for now no matter whether they are used or not.
644646
MatchCallbacks.push_back(std::make_unique<EnumDeclarationMatch>(this));
645647
Finder->addMatcher(
646-
enumDecl(InOldHeader, *HasAnySymbolNames, isDefinition(), TopLevelDecl)
648+
enumDecl(InOldHeader, HasAnySymbolNames, isDefinition(), TopLevelDecl)
647649
.bind("enum"),
648650
MatchCallbacks.back().get());
649651

@@ -653,7 +655,7 @@ void ClangMoveTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
653655
MatchCallbacks.push_back(std::make_unique<TypeAliasMatch>(this));
654656
Finder->addMatcher(namedDecl(anyOf(typedefDecl().bind("typedef"),
655657
typeAliasDecl().bind("type_alias")),
656-
InOldHeader, *HasAnySymbolNames, TopLevelDecl),
658+
InOldHeader, HasAnySymbolNames, TopLevelDecl),
657659
MatchCallbacks.back().get());
658660
}
659661

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ set(LLVM_LINK_COMPONENTS
77
add_clang_library(clangQuery
88
Query.cpp
99
QueryParser.cpp
10+
11+
DEPENDS
12+
omp_gen
1013
)
1114

1215
clang_target_link_libraries(clangQuery

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ bool HelpQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const {
4646
" set traversal <kind> "
4747
"Set traversal kind of clang-query session. Available kinds are:\n"
4848
" AsIs "
49-
"Print and match the AST as clang sees it.\n"
49+
"Print and match the AST as clang sees it. This mode is the "
50+
"default.\n"
5051
" IgnoreImplicitCastsAndParentheses "
5152
"Omit implicit casts and parens in matching and dumping.\n"
5253
" IgnoreUnlessSpelledInSource "
53-
"Omit AST nodes unless spelled in the source. This mode is the "
54-
"default.\n"
54+
"Omit AST nodes unless spelled in the source.\n"
5555
" set output <feature> "
5656
"Set whether to output only <feature> content.\n"
5757
" enable output <feature> "
@@ -157,8 +157,7 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const {
157157
OS << "Binding for \"" << BI->first << "\":\n";
158158
const ASTContext &Ctx = AST->getASTContext();
159159
const SourceManager &SM = Ctx.getSourceManager();
160-
ASTDumper Dumper(OS, &Ctx.getCommentCommandTraits(), &SM,
161-
SM.getDiagnostics().getShowColors(), Ctx.getPrintingPolicy());
160+
ASTDumper Dumper(OS, Ctx, SM.getDiagnostics().getShowColors());
162161
Dumper.SetTraversalKind(QS.TK);
163162
Dumper.Visit(BI->second);
164163
OS << "\n";

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

Lines changed: 1 addition & 1 deletion
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_IgnoreUnlessSpelledInSource) {}
29+
Terminate(false), TK(ast_type_traits::TK_AsIs) {}
3030

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

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ set(LLVM_LINK_COMPONENTS
55

66
add_clang_library(clangReorderFields
77
ReorderFieldsAction.cpp
8+
9+
DEPENDS
10+
omp_gen
811
)
912

1013
clang_target_link_libraries(clangReorderFields

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ add_clang_library(clangTidy
1515

1616
DEPENDS
1717
ClangSACheckers
18+
omp_gen
1819
)
1920

2021
clang_target_link_libraries(clangTidy

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
//===----------------------------------------------------------------------===//
1616

1717
#include "ClangTidy.h"
18+
#include "ClangTidyCheck.h"
1819
#include "ClangTidyDiagnosticConsumer.h"
1920
#include "ClangTidyModuleRegistry.h"
2021
#include "ClangTidyProfiling.h"

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,22 @@
99
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CLANGTIDY_H
1010
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CLANGTIDY_H
1111

12-
#include "ClangTidyCheck.h"
1312
#include "ClangTidyDiagnosticConsumer.h"
1413
#include "ClangTidyOptions.h"
15-
#include "llvm/Support/raw_ostream.h"
1614
#include <memory>
1715
#include <vector>
1816

17+
namespace llvm {
18+
class raw_ostream;
19+
} // namespace llvm
20+
1921
namespace clang {
2022

23+
class ASTConsumer;
2124
class CompilerInstance;
2225
namespace tooling {
2326
class CompilationDatabase;
24-
}
27+
} // namespace tooling
2528

2629
namespace tidy {
2730

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

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,25 @@ ClangTidyCheck::OptionsView::get(StringRef LocalName) const {
7676
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
7777
}
7878

79+
static ClangTidyOptions::OptionMap::const_iterator
80+
findPriorityOption(const ClangTidyOptions::OptionMap &Options, StringRef NamePrefix,
81+
StringRef LocalName) {
82+
auto IterLocal = Options.find((NamePrefix + LocalName).str());
83+
auto IterGlobal = Options.find(LocalName.str());
84+
if (IterLocal == Options.end())
85+
return IterGlobal;
86+
if (IterGlobal == Options.end())
87+
return IterLocal;
88+
if (IterLocal->second.Priority >= IterGlobal->second.Priority)
89+
return IterLocal;
90+
return IterGlobal;
91+
}
92+
7993
llvm::Expected<std::string>
8094
ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName) const {
81-
auto IterLocal = CheckOptions.find(NamePrefix + LocalName.str());
82-
auto IterGlobal = CheckOptions.find(LocalName.str());
83-
if (IterLocal != CheckOptions.end() &&
84-
(IterGlobal == CheckOptions.end() ||
85-
IterLocal->second.Priority >= IterGlobal->second.Priority))
86-
return IterLocal->second.Value;
87-
if (IterGlobal != CheckOptions.end())
88-
return IterGlobal->second.Value;
95+
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
96+
if (Iter != CheckOptions.end())
97+
return Iter->second.Value;
8998
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
9099
}
91100

@@ -124,14 +133,9 @@ bool ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName,
124133
template <>
125134
llvm::Expected<bool>
126135
ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName) const {
127-
auto IterLocal = CheckOptions.find(NamePrefix + LocalName.str());
128-
auto IterGlobal = CheckOptions.find(LocalName.str());
129-
if (IterLocal != CheckOptions.end() &&
130-
(IterGlobal == CheckOptions.end() ||
131-
IterLocal->second.Priority >= IterGlobal->second.Priority))
132-
return getAsBool(IterLocal->second.Value, NamePrefix + LocalName);
133-
if (IterGlobal != CheckOptions.end())
134-
return getAsBool(IterGlobal->second.Value, llvm::Twine(LocalName));
136+
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
137+
if (Iter != CheckOptions.end())
138+
return getAsBool(Iter->second.Value, Iter->first);
135139
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
136140
}
137141

@@ -157,12 +161,13 @@ void ClangTidyCheck::OptionsView::store(ClangTidyOptions::OptionMap &Options,
157161
store(Options, LocalName, llvm::itostr(Value));
158162
}
159163

160-
llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
161-
StringRef LocalName, ArrayRef<std::pair<StringRef, int64_t>> Mapping,
162-
bool CheckGlobal, bool IgnoreCase) {
163-
auto Iter = CheckOptions.find((NamePrefix + LocalName).str());
164-
if (CheckGlobal && Iter == CheckOptions.end())
165-
Iter = CheckOptions.find(LocalName.str());
164+
llvm::Expected<int64_t>
165+
ClangTidyCheck::OptionsView::getEnumInt(StringRef LocalName,
166+
ArrayRef<NameAndValue> Mapping,
167+
bool CheckGlobal, bool IgnoreCase) {
168+
auto Iter = CheckGlobal
169+
? findPriorityOption(CheckOptions, NamePrefix, LocalName)
170+
: CheckOptions.find((NamePrefix + LocalName).str());
166171
if (Iter == CheckOptions.end())
167172
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
168173

@@ -171,19 +176,19 @@ llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
171176
unsigned EditDistance = -1;
172177
for (const auto &NameAndEnum : Mapping) {
173178
if (IgnoreCase) {
174-
if (Value.equals_lower(NameAndEnum.first))
175-
return NameAndEnum.second;
176-
} else if (Value.equals(NameAndEnum.first)) {
177-
return NameAndEnum.second;
178-
} else if (Value.equals_lower(NameAndEnum.first)) {
179-
Closest = NameAndEnum.first;
179+
if (Value.equals_lower(NameAndEnum.second))
180+
return NameAndEnum.first;
181+
} else if (Value.equals(NameAndEnum.second)) {
182+
return NameAndEnum.first;
183+
} else if (Value.equals_lower(NameAndEnum.second)) {
184+
Closest = NameAndEnum.second;
180185
EditDistance = 0;
181186
continue;
182187
}
183-
unsigned Distance = Value.edit_distance(NameAndEnum.first);
188+
unsigned Distance = Value.edit_distance(NameAndEnum.second);
184189
if (Distance < EditDistance) {
185190
EditDistance = Distance;
186-
Closest = NameAndEnum.first;
191+
Closest = NameAndEnum.second;
187192
}
188193
}
189194
if (EditDistance < 3)

0 commit comments

Comments
 (0)