Skip to content

Commit 7f82a21

Browse files
author
Georgios Rokos
committed
Merge from '"main"' to '"sycl-web"' (3 commits)
CONFLICT (content): Merge conflict in llvm/include/llvm/Demangle/ItaniumDemangle.h
2 parents ee24d3f + 2e97236 commit 7f82a21

File tree

65 files changed

+2737
-23753
lines changed

Some content is hidden

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

65 files changed

+2737
-23753
lines changed

clang/docs/Makefile.sphinx

Lines changed: 0 additions & 159 deletions
This file was deleted.

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,10 +1676,6 @@ def warn_weak_vtable : Warning<
16761676
"%0 has no out-of-line virtual method definitions; its vtable will be "
16771677
"emitted in every translation unit">,
16781678
InGroup<DiagGroup<"weak-vtables">>, DefaultIgnore;
1679-
def warn_weak_template_vtable : Warning<
1680-
"explicit template instantiation %0 will emit a vtable in every "
1681-
"translation unit">,
1682-
InGroup<DiagGroup<"weak-template-vtables">>, DefaultIgnore;
16831679

16841680
def ext_using_undefined_std : ExtWarn<
16851681
"using directive refers to implicitly-defined namespace 'std'">;

clang/include/clang/Basic/riscv_vector.td

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ class RVVBuiltin<string suffix, string prototype, string type_range,
215215
// an automatic definition in header is emitted.
216216
string HeaderCode = "";
217217

218-
// Sub extension of vector spec. Currently only support Zvamo or Zvlsseg.
218+
// Sub extension of vector spec. Currently only support Zvlsseg.
219219
string RequiredExtension = "";
220220

221221
// Number of fields for Zvlsseg.
@@ -1257,36 +1257,6 @@ multiclass RVVIndexedSegStore<string op> {
12571257
}
12581258
}
12591259

1260-
multiclass RVVAMOBuiltinSet<bit has_signed = false, bit has_unsigned = false,
1261-
bit has_fp = false> {
1262-
defvar type_list = !if(has_fp, ["i","l","f","d"], ["i","l"]);
1263-
foreach type = type_list in
1264-
foreach eew_list = EEWList in {
1265-
defvar eew = eew_list[0];
1266-
defvar eew_index = eew_list[1];
1267-
let Name = NAME # "ei" # eew # "_" # "v",
1268-
IRName = NAME,
1269-
IRNameMask = NAME # "_mask",
1270-
HasMaskedOffOperand = false,
1271-
HasPolicy = false,
1272-
ManualCodegen = [{
1273-
// base, bindex, value, vl
1274-
IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1275-
Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1276-
}],
1277-
ManualCodegenMask = [{
1278-
std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1279-
IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1280-
Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1281-
}] in {
1282-
if has_signed then
1283-
def : RVVBuiltin<"v", "vPe" # eew_index # "Uvv", type>;
1284-
if !and(!not(IsFloat<type>.val), has_unsigned) then
1285-
def : RVVBuiltin<"Uv", "UvPUe" # eew_index # "UvUv", type>;
1286-
}
1287-
}
1288-
}
1289-
12901260
multiclass RVVPseudoUnaryBuiltin<string IR, string type_range> {
12911261
let Name = NAME,
12921262
IRName = IR,
@@ -1591,19 +1561,6 @@ defm : RVVIndexedSegStore<"vsuxseg">;
15911561
defm : RVVIndexedSegStore<"vsoxseg">;
15921562
}
15931563

1594-
// 8. Vector AMO Operations
1595-
let RequiredExtension = "Zvamo" in {
1596-
defm vamoswap : RVVAMOBuiltinSet< /* hasSigned */ true, /* hasUnsigned */ true, /* hasFP */ true>;
1597-
defm vamoadd : RVVAMOBuiltinSet< /* hasSigned */ true, /* hasUnsigned */ true>;
1598-
defm vamoxor : RVVAMOBuiltinSet< /* hasSigned */ true, /* hasUnsigned */ true>;
1599-
defm vamoand : RVVAMOBuiltinSet< /* hasSigned */ true, /* hasUnsigned */ true>;
1600-
defm vamoor : RVVAMOBuiltinSet< /* hasSigned */ true, /* hasUnsigned */ true>;
1601-
defm vamomin : RVVAMOBuiltinSet< /* hasSigned */ true>;
1602-
defm vamomax : RVVAMOBuiltinSet< /* hasSigned */ true>;
1603-
defm vamominu : RVVAMOBuiltinSet< /* hasSigned */ false, /* hasUnsigned */ true>;
1604-
defm vamomaxu : RVVAMOBuiltinSet< /* hasSigned */ false, /* hasUnsigned */ true>;
1605-
}
1606-
16071564
// 12. Vector Integer Arithmetic Instructions
16081565
// 12.1. Vector Single-Width Integer Add and Subtract
16091566
defm vadd : RVVIntBinBuiltinSet;

clang/lib/Sema/SemaDeclCXX.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "clang/AST/TypeOrdering.h"
2727
#include "clang/Basic/AttributeCommonInfo.h"
2828
#include "clang/Basic/PartialDiagnostic.h"
29+
#include "clang/Basic/Specifiers.h"
2930
#include "clang/Basic/TargetInfo.h"
3031
#include "clang/Lex/LiteralSupport.h"
3132
#include "clang/Lex/Preprocessor.h"
@@ -17647,16 +17648,12 @@ bool Sema::DefineUsedVTables() {
1764717648
// no key function or the key function is inlined. Don't warn in C++ ABIs
1764817649
// that lack key functions, since the user won't be able to make one.
1764917650
if (Context.getTargetInfo().getCXXABI().hasKeyFunctions() &&
17650-
Class->isExternallyVisible() && ClassTSK != TSK_ImplicitInstantiation) {
17651+
Class->isExternallyVisible() && ClassTSK != TSK_ImplicitInstantiation &&
17652+
ClassTSK != TSK_ExplicitInstantiationDefinition) {
1765117653
const FunctionDecl *KeyFunctionDef = nullptr;
1765217654
if (!KeyFunction || (KeyFunction->hasBody(KeyFunctionDef) &&
17653-
KeyFunctionDef->isInlined())) {
17654-
Diag(Class->getLocation(),
17655-
ClassTSK == TSK_ExplicitInstantiationDefinition
17656-
? diag::warn_weak_template_vtable
17657-
: diag::warn_weak_vtable)
17658-
<< Class;
17659-
}
17655+
KeyFunctionDef->isInlined()))
17656+
Diag(Class->getLocation(), diag::warn_weak_vtable) << Class;
1766017657
}
1766117658
}
1766217659
VTableUses.clear();

clang/lib/Serialization/ASTReaderDecl.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,7 @@ void ASTDeclReader::MergeDefinitionData(ObjCInterfaceDecl *D,
11811181
if (DD.Definition != NewDD.Definition) {
11821182
Reader.MergedDeclContexts.insert(
11831183
std::make_pair(NewDD.Definition, DD.Definition));
1184+
Reader.mergeDefinitionVisibility(DD.Definition, NewDD.Definition);
11841185
}
11851186

11861187
// FIXME: odr checking?

0 commit comments

Comments
 (0)