Skip to content

Commit e59e207

Browse files
committed
address comments
1 parent e618aba commit e59e207

File tree

13 files changed

+27
-12
lines changed

13 files changed

+27
-12
lines changed

clang/include/clang/Basic/AArch64SVEACLETypes.def

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@
5757
// - IsBF true for vector of brain float elements.
5858
//===----------------------------------------------------------------------===//
5959

60-
#ifndef SVE_TYPE
61-
#define SVE_TYPE(Name, Id, SingletonId)
62-
#endif
63-
6460
#ifndef SVE_SCALAR_TYPE
6561
#define SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits) \
6662
SVE_TYPE(Name, Id, SingletonId)
@@ -205,6 +201,9 @@ SVE_OPAQUE_TYPE(__SVCount_t, __SVCount_t, SveCount, SveCountTy)
205201

206202
SVE_SCALAR_TYPE(__mfp8, __mfp8, MFloat8, MFloat8Ty, 8)
207203

204+
// Unlike the SVE types above, the Neon vector types are parsed as keywords and
205+
// mapped to the equivalent __attribute__(neon_vector_type(...)) vector type.
206+
// They are not builtin types.
208207
#ifndef NEON_VECTOR_TYPE
209208
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind)
210209
#endif

clang/include/clang/Basic/Specifiers.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ namespace clang {
101101

102102
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
103103
TST_##Name,
104+
#define SVE_TYPE(Name, Id, SingletonId)
104105
#include "clang/Basic/AArch64SVEACLETypes.def"
105106

106107
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) \

clang/include/clang/Basic/TokenKinds.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,7 @@ KEYWORD(__bf16 , KEYALL)
682682
// ARM NEON types
683683
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
684684
KEYWORD(Name, KEYACLE)
685+
#define SVE_TYPE(Name, Id, SingletonId)
685686
#include "clang/Basic/AArch64SVEACLETypes.def"
686687

687688
// OpenCL Extension.

clang/include/clang/Sema/DeclSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ class DeclSpec {
325325

326326
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
327327
static const TST TST_##Name = clang::TST_##Name;
328+
#define SVE_TYPE(Name, Id, SingletonId)
328329
#include "clang/Basic/AArch64SVEACLETypes.def"
329330

330331
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) \

clang/lib/AST/ASTContext.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,18 +1440,18 @@ void ASTContext::InitBuiltinTypes(const TargetInfo &Target,
14401440

14411441
if (Target.hasAArch64SVETypes() ||
14421442
(AuxTarget && AuxTarget->hasAArch64SVETypes())) {
1443-
#define SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId) \
1444-
InitBuiltinType(SingletonId, BuiltinType::Id);
1445-
#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) \
1446-
InitBuiltinType(SingletonId, BuiltinType::Id);
1447-
#define SVE_OPAQUE_TYPE(Name, MangledName, Id, SingletonId) \
1448-
InitBuiltinType(SingletonId, BuiltinType::Id);
1443+
#define SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId) \
1444+
InitBuiltinType(SingletonId, BuiltinType::Id);
1445+
#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) \
1446+
InitBuiltinType(SingletonId, BuiltinType::Id);
1447+
#define SVE_OPAQUE_TYPE(Name, MangledName, Id, SingletonId) \
1448+
InitBuiltinType(SingletonId, BuiltinType::Id);
1449+
#define SVE_TYPE(Name, MangledName, SingletonId)
14491450
#include "clang/Basic/AArch64SVEACLETypes.def"
14501451
}
14511452

1452-
if (LangOpts.ACLE) {
1453+
if (LangOpts.ACLE)
14531454
InitBuiltinType(MFloat8Ty, BuiltinType::MFloat8);
1454-
}
14551455

14561456
if (Target.getTriple().isPPC64()) {
14571457
#define PPC_VECTOR_MMA_TYPE(Name, Id, Size) \
@@ -4437,6 +4437,7 @@ ASTContext::getBuiltinVectorTypeInfo(const BuiltinType *Ty) const {
44374437
#define SVE_PREDICATE_TYPE_ALL(Name, MangledName, Id, SingletonId, NumEls, NF) \
44384438
case BuiltinType::Id: \
44394439
return {BoolTy, llvm::ElementCount::getScalable(NumEls), NF};
4440+
#define SVE_TYPE(Name, Id, SingletonId)
44404441
#include "clang/Basic/AArch64SVEACLETypes.def"
44414442

44424443
#define RVV_VECTOR_TYPE_INT(Name, Id, SingletonId, NumEls, ElBits, NF, \
@@ -4507,6 +4508,7 @@ QualType ASTContext::getScalableVectorType(QualType EltTy, unsigned NumElts,
45074508
#define SVE_PREDICATE_TYPE_ALL(Name, MangledName, Id, SingletonId, NumEls, NF) \
45084509
if (EltTy->isBooleanType() && NumElts == (NumEls * NF) && NumFields == 1) \
45094510
return SingletonId;
4511+
#define SVE_TYPE(Name, Id, SingletonId)
45104512
#include "clang/Basic/AArch64SVEACLETypes.def"
45114513
} else if (Target->hasRISCVVTypes()) {
45124514
uint64_t EltTySize = getTypeSize(EltTy);

clang/lib/AST/Type.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2527,6 +2527,7 @@ bool Type::isSVESizelessBuiltinType() const {
25272527
#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) \
25282528
case BuiltinType::Id: \
25292529
return true;
2530+
#define SVE_TYPE(Name, Id, SingletonId)
25302531
#include "clang/Basic/AArch64SVEACLETypes.def"
25312532
default:
25322533
return false;

clang/lib/CodeGen/CodeGenTypes.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ llvm::Type *CodeGenTypes::ConvertType(QualType T) {
505505
case BuiltinType::Id:
506506
#define SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId) \
507507
case BuiltinType::Id:
508+
#define SVE_TYPE(Name, Id, SingletonId)
508509
#include "clang/Basic/AArch64SVEACLETypes.def"
509510
{
510511
ASTContext::BuiltinVectorTypeInfo Info =

clang/lib/CodeGen/Targets/AArch64.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,7 @@ bool AArch64ABIInfo::passAsPureScalableType(
766766
case BuiltinType::Id: \
767767
isPredicate = true; \
768768
break;
769+
#define SVE_TYPE(Name, Id, SingletonId)
769770
#include "clang/Basic/AArch64SVEACLETypes.def"
770771
default:
771772
return false;

clang/lib/Parse/ParseDecl.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4690,6 +4690,7 @@ void Parser::ParseDeclarationSpecifiers(
46904690
isInvalid = DS.SetTypeSpecType(DeclSpec::TST_##Name, Loc, PrevSpec, \
46914691
DiagID, Policy); \
46924692
break;
4693+
#define SVE_TYPE(Name, Id, SingletonId)
46934694
#include "clang/Basic/AArch64SVEACLETypes.def"
46944695

46954696
case tok::kw___unknown_anytype:
@@ -6293,6 +6294,7 @@ bool Parser::isDeclarationSpecifier(
62936294
case tok::kw___write_only:
62946295
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
62956296
case tok::kw_##Name:
6297+
#define SVE_TYPE(Name, Id, SingletonId)
62966298
#include "clang/Basic/AArch64SVEACLETypes.def"
62976299
#define GENERIC_IMAGE_TYPE(ImgType, Id) case tok::kw_##ImgType##_t:
62986300
#include "clang/Basic/OpenCLImageTypes.def"

clang/lib/Parse/ParseTentative.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1807,6 +1807,7 @@ Parser::isCXXDeclarationSpecifier(ImplicitTypenameContext AllowImplicitTypename,
18071807
case tok::annot_pack_indexing_type:
18081808
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
18091809
case tok::kw_##Name:
1810+
#define SVE_TYPE(Name, Id, SingletonId)
18101811
#include "clang/Basic/AArch64SVEACLETypes.def"
18111812
#define GENERIC_IMAGE_TYPE(ImgType, Id) case tok::kw_##ImgType##_t:
18121813
#include "clang/Basic/OpenCLImageTypes.def"
@@ -1938,6 +1939,7 @@ bool Parser::isCXXDeclarationSpecifierAType() {
19381939
case tok::kw__Sat:
19391940
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
19401941
case tok::kw_##Name:
1942+
#define SVE_TYPE(Name, Id, SingletonId)
19411943
#include "clang/Basic/AArch64SVEACLETypes.def"
19421944
#define GENERIC_IMAGE_TYPE(ImgType, Id) case tok::kw_##ImgType##_t:
19431945
#include "clang/Basic/OpenCLImageTypes.def"

clang/lib/Sema/DeclSpec.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ bool Declarator::isDeclarationOfFunction() const {
376376
#include "clang/Basic/OpenCLImageTypes.def"
377377
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
378378
case TST_##Name:
379+
#define SVE_TYPE(Name, Id, SingletonId)
379380
#include "clang/Basic/AArch64SVEACLETypes.def"
380381
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) case TST_##Name:
381382
#include "clang/Basic/HLSLIntangibleTypes.def"
@@ -613,6 +614,7 @@ const char *DeclSpec::getSpecifierName(DeclSpec::TST T,
613614
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
614615
case DeclSpec::TST_##Name: \
615616
return #Name;
617+
#define SVE_TYPE(Name, Id, SingletonId)
616618
#include "clang/Basic/AArch64SVEACLETypes.def"
617619
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) \
618620
case DeclSpec::TST_##Name: \

clang/lib/Sema/SemaTemplateVariadic.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,7 @@ bool Sema::containsUnexpandedParameterPacks(Declarator &D) {
10831083
#include "clang/Basic/OpenCLImageTypes.def"
10841084
#define NEON_VECTOR_TYPE(Name, BaseType, ElBits, NumEls, VectorKind) \
10851085
case TST_##Name:
1086+
#define SVE_TYPE(Name, Id, SingletonId)
10861087
#include "clang/Basic/AArch64SVEACLETypes.def"
10871088
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) case TST_##Name:
10881089
#include "clang/Basic/HLSLIntangibleTypes.def"

clang/lib/Sema/SemaType.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,6 +1370,7 @@ static QualType ConvertDeclSpecToType(TypeProcessingState &state) {
13701370
case DeclSpec::TST_##Name: \
13711371
Result = Context.getVectorType(Context.BaseType, ElBits, VectorKind); \
13721372
break;
1373+
#define SVE_TYPE(Name, Id, SingletonId)
13731374
#include "clang/Basic/AArch64SVEACLETypes.def"
13741375

13751376
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) \

0 commit comments

Comments
 (0)