Skip to content

Commit 6ec3ae5

Browse files
committed
Merge commit '01ce74fe14fb' from llvm.org/main into next
Conflicts: llvm/include/llvm/IR/DebugInfoMetadata.h llvm/lib/AsmParser/LLParser.cpp llvm/lib/Bitcode/Reader/MetadataLoader.cpp llvm/lib/Bitcode/Writer/BitcodeWriter.cpp llvm/lib/IR/DebugInfoMetadata.cpp llvm/lib/IR/LLVMContextImpl.h
2 parents 213e19f + 01ce74f commit 6ec3ae5

File tree

11 files changed

+83
-289
lines changed

11 files changed

+83
-289
lines changed

llvm/include/llvm/IR/DebugInfoMetadata.h

Lines changed: 18 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -837,49 +837,45 @@ class DIBasicType : public DIType {
837837
StringRef Name, uint64_t SizeInBits,
838838
uint32_t AlignInBits, unsigned Encoding,
839839
uint32_t NumExtraInhabitants, DIFlags Flags,
840-
DINodeArray Annotations, StorageType Storage,
840+
StorageType Storage,
841841
bool ShouldCreate = true) {
842842
return getImpl(Context, Tag, getCanonicalMDString(Context, Name),
843843
SizeInBits, AlignInBits, Encoding, NumExtraInhabitants,
844-
Flags, Annotations.get(), Storage, ShouldCreate);
844+
Flags, Storage, ShouldCreate);
845845
}
846846
static DIBasicType *getImpl(LLVMContext &Context, unsigned Tag,
847847
MDString *Name, uint64_t SizeInBits,
848848
uint32_t AlignInBits, unsigned Encoding,
849849
uint32_t NumExtraInhabitants, DIFlags Flags,
850-
Metadata *Annotations,
851850
StorageType Storage, bool ShouldCreate = true);
852851

853852
TempDIBasicType cloneImpl() const {
854853
return getTemporary(getContext(), getTag(), getName(), getSizeInBits(),
855854
getAlignInBits(), getEncoding(),
856-
getNumExtraInhabitants(), getFlags(),
857-
getAnnotations());
855+
getNumExtraInhabitants(), getFlags());
858856
}
859857

860858
public:
861859
DEFINE_MDNODE_GET(DIBasicType, (unsigned Tag, StringRef Name),
862-
(Tag, Name, 0, 0, 0, 0, FlagZero, {}))
860+
(Tag, Name, 0, 0, 0, 0, FlagZero))
863861
DEFINE_MDNODE_GET(DIBasicType,
864862
(unsigned Tag, StringRef Name, uint64_t SizeInBits),
865-
(Tag, Name, SizeInBits, 0, 0, 0, FlagZero, {}))
863+
(Tag, Name, SizeInBits, 0, 0, 0, FlagZero))
866864
DEFINE_MDNODE_GET(DIBasicType,
867865
(unsigned Tag, MDString *Name, uint64_t SizeInBits),
868-
(Tag, Name, SizeInBits, 0, 0, 0, FlagZero, {}))
866+
(Tag, Name, SizeInBits, 0, 0, 0, FlagZero))
869867
DEFINE_MDNODE_GET(DIBasicType,
870868
(unsigned Tag, StringRef Name, uint64_t SizeInBits,
871869
uint32_t AlignInBits, unsigned Encoding,
872-
uint32_t NumExtraInhabitants, DIFlags Flags,
873-
DINodeArray Annotations = {}),
870+
uint32_t NumExtraInhabitants, DIFlags Flags),
874871
(Tag, Name, SizeInBits, AlignInBits, Encoding,
875-
NumExtraInhabitants, Flags, Annotations))
872+
NumExtraInhabitants, Flags))
876873
DEFINE_MDNODE_GET(DIBasicType,
877874
(unsigned Tag, MDString *Name, uint64_t SizeInBits,
878875
uint32_t AlignInBits, unsigned Encoding,
879-
uint32_t NumExtraInhabitants, DIFlags Flags,
880-
Metadata *Annotations = nullptr),
876+
uint32_t NumExtraInhabitants, DIFlags Flags),
881877
(Tag, Name, SizeInBits, AlignInBits, Encoding,
882-
NumExtraInhabitants, Flags, Annotations))
878+
NumExtraInhabitants, Flags))
883879

884880
TempDIBasicType clone() const { return cloneImpl(); }
885881

@@ -891,16 +887,6 @@ class DIBasicType : public DIType {
891887
/// neither signed nor unsigned.
892888
std::optional<Signedness> getSignedness() const;
893889

894-
Metadata *getRawAnnotations() const { return getOperand(3); }
895-
896-
DINodeArray getAnnotations() const {
897-
return cast_or_null<MDTuple>(getRawAnnotations());
898-
}
899-
900-
void replaceAnnotations(DINodeArray Annotations) {
901-
replaceOperandWith(3, Annotations.get());
902-
}
903-
904890
static bool classof(const Metadata *MD) {
905891
return MD->getMetadataID() == DIBasicTypeKind;
906892
}
@@ -1144,10 +1130,6 @@ class DIDerivedType : public DIType {
11441130
}
11451131
Metadata *getRawAnnotations() const { return getOperand(5); }
11461132

1147-
void replaceAnnotations(DINodeArray Annotations) {
1148-
replaceOperandWith(5, Annotations.get());
1149-
}
1150-
11511133
/// Get casted version of extra data.
11521134
/// @{
11531135
DIType *getClassType() const;
@@ -1389,10 +1371,6 @@ class DICompositeType : public DIType {
13891371
return cast_or_null<MDTuple>(getRawAnnotations());
13901372
}
13911373

1392-
void replaceAnnotations(DINodeArray Annotations) {
1393-
replaceOperandWith(13, Annotations.get());
1394-
}
1395-
13961374
Metadata *getRawSpecificationOf() const { return getOperand(14); }
13971375
DIType *getSpecificationOf() const {
13981376
return cast_or_null<DIType>(getRawSpecificationOf());
@@ -1444,30 +1422,26 @@ class DISubroutineType : public DIType {
14441422

14451423
static DISubroutineType *getImpl(LLVMContext &Context, DIFlags Flags,
14461424
uint8_t CC, DITypeRefArray TypeArray,
1447-
DINodeArray Annotations, StorageType Storage,
1425+
StorageType Storage,
14481426
bool ShouldCreate = true) {
1449-
return getImpl(Context, Flags, CC, TypeArray.get(), Annotations.get(),
1450-
Storage, ShouldCreate);
1427+
return getImpl(Context, Flags, CC, TypeArray.get(), Storage, ShouldCreate);
14511428
}
14521429
static DISubroutineType *getImpl(LLVMContext &Context, DIFlags Flags,
14531430
uint8_t CC, Metadata *TypeArray,
1454-
Metadata *Annotations, StorageType Storage,
1431+
StorageType Storage,
14551432
bool ShouldCreate = true);
14561433

14571434
TempDISubroutineType cloneImpl() const {
1458-
return getTemporary(getContext(), getFlags(), getCC(), getTypeArray(),
1459-
getAnnotations());
1435+
return getTemporary(getContext(), getFlags(), getCC(), getTypeArray());
14601436
}
14611437

14621438
public:
14631439
DEFINE_MDNODE_GET(DISubroutineType,
1464-
(DIFlags Flags, uint8_t CC, DITypeRefArray TypeArray,
1465-
DINodeArray Annotations = nullptr),
1466-
(Flags, CC, TypeArray, Annotations))
1440+
(DIFlags Flags, uint8_t CC, DITypeRefArray TypeArray),
1441+
(Flags, CC, TypeArray))
14671442
DEFINE_MDNODE_GET(DISubroutineType,
1468-
(DIFlags Flags, uint8_t CC, Metadata *TypeArray,
1469-
Metadata *Annotations = nullptr),
1470-
(Flags, CC, TypeArray, Annotations))
1443+
(DIFlags Flags, uint8_t CC, Metadata *TypeArray),
1444+
(Flags, CC, TypeArray))
14711445

14721446
TempDISubroutineType clone() const { return cloneImpl(); }
14731447
// Returns a new temporary DISubroutineType with updated CC
@@ -1485,15 +1459,6 @@ class DISubroutineType : public DIType {
14851459

14861460
Metadata *getRawTypeArray() const { return getOperand(3); }
14871461

1488-
Metadata *getRawAnnotations() const { return getOperand(4); }
1489-
DINodeArray getAnnotations() const {
1490-
return cast_or_null<MDTuple>(getRawAnnotations());
1491-
}
1492-
1493-
void replaceAnnotations(DINodeArray Annotations) {
1494-
replaceOperandWith(4, Annotations.get());
1495-
}
1496-
14971462
static bool classof(const Metadata *MD) {
14981463
return MD->getMetadataID() == DISubroutineTypeKind;
14991464
}

llvm/lib/AsmParser/LLParser.cpp

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5255,7 +5255,7 @@ bool LLParser::parseDIEnumerator(MDNode *&Result, bool IsDistinct) {
52555255

52565256
/// parseDIBasicType:
52575257
/// ::= !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32,
5258-
/// encoding: DW_ATE_encoding, flags: 0, annotations: !1)
5258+
/// encoding: DW_ATE_encoding, flags: 0)
52595259
bool LLParser::parseDIBasicType(MDNode *&Result, bool IsDistinct) {
52605260
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
52615261
OPTIONAL(tag, DwarfTagField, (dwarf::DW_TAG_base_type)); \
@@ -5264,15 +5264,13 @@ bool LLParser::parseDIBasicType(MDNode *&Result, bool IsDistinct) {
52645264
OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX)); \
52655265
OPTIONAL(encoding, DwarfAttEncodingField, ); \
52665266
OPTIONAL(num_extra_inhabitants, MDUnsignedField, (0, UINT32_MAX)); \
5267-
OPTIONAL(flags, DIFlagField, ); \
5268-
OPTIONAL(annotations, MDField, );
5267+
OPTIONAL(flags, DIFlagField, );
52695268
PARSE_MD_FIELDS();
52705269
#undef VISIT_MD_FIELDS
52715270

52725271
Result = GET_OR_DISTINCT(DIBasicType, (Context, tag.Val, name.Val, size.Val,
52735272
align.Val, encoding.Val,
5274-
num_extra_inhabitants.Val, flags.Val,
5275-
annotations.Val));
5273+
num_extra_inhabitants.Val, flags.Val));
52765274
return false;
52775275
}
52785276

@@ -5415,13 +5413,12 @@ bool LLParser::parseDISubroutineType(MDNode *&Result, bool IsDistinct) {
54155413
#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
54165414
OPTIONAL(flags, DIFlagField, ); \
54175415
OPTIONAL(cc, DwarfCCField, ); \
5418-
REQUIRED(types, MDField, ); \
5419-
OPTIONAL(annotations, MDField, );
5416+
REQUIRED(types, MDField, );
54205417
PARSE_MD_FIELDS();
54215418
#undef VISIT_MD_FIELDS
54225419

5423-
Result = GET_OR_DISTINCT(DISubroutineType, (Context, flags.Val, cc.Val,
5424-
types.Val, annotations.Val));
5420+
Result = GET_OR_DISTINCT(DISubroutineType,
5421+
(Context, flags.Val, cc.Val, types.Val));
54255422
return false;
54265423
}
54275424

llvm/lib/Bitcode/Reader/MetadataLoader.cpp

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1527,7 +1527,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
15271527
break;
15281528
}
15291529
case bitc::METADATA_BASIC_TYPE: {
1530-
if (Record.size() < 6 || Record.size() > 8)
1530+
if (Record.size() < 6 || Record.size() > 7)
15311531
return error("Invalid record");
15321532

15331533
IsDistinct = Record[0];
@@ -1536,15 +1536,10 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
15361536
: DINode::FlagZero;
15371537
uint32_t NumExtraInhabitants = (Record.size() > 7) ? Record[7] : 0;
15381538

1539-
Metadata *Annotations = nullptr;
1540-
if (Record.size() > 7 && Record[7])
1541-
Annotations = getMDOrNull(Record[7]);
1542-
15431539
MetadataList.assignValue(
15441540
GET_OR_DISTINCT(DIBasicType,
15451541
(Context, Record[1], getMDString(Record[2]), Record[3],
1546-
Record[4], Record[5], NumExtraInhabitants, Flags,
1547-
Annotations)),
1542+
Record[4], Record[5], NumExtraInhabitants, Flags)),
15481543
NextMetadataNo);
15491544
NextMetadataNo++;
15501545
break;
@@ -1735,7 +1730,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
17351730
break;
17361731
}
17371732
case bitc::METADATA_SUBROUTINE_TYPE: {
1738-
if (Record.size() < 3 || Record.size() > 5)
1733+
if (Record.size() < 3 || Record.size() > 4)
17391734
return error("Invalid record");
17401735
bool IsOldTypeRefArray = Record[0] < 2;
17411736
unsigned CC = (Record.size() > 3) ? Record[3] : 0;
@@ -1745,13 +1740,9 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
17451740
Metadata *Types = getMDOrNull(Record[2]);
17461741
if (LLVM_UNLIKELY(IsOldTypeRefArray))
17471742
Types = MetadataList.upgradeTypeRefArray(Types);
1748-
Metadata *Annotations = nullptr;
1749-
if (Record.size() > 4 && Record[4])
1750-
Annotations = getMDOrNull(Record[4]);
17511743

17521744
MetadataList.assignValue(
1753-
GET_OR_DISTINCT(DISubroutineType,
1754-
(Context, Flags, CC, Types, Annotations)),
1745+
GET_OR_DISTINCT(DISubroutineType, (Context, Flags, CC, Types)),
17551746
NextMetadataNo);
17561747
NextMetadataNo++;
17571748
break;

llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1816,7 +1816,6 @@ void ModuleBitcodeWriter::writeDIBasicType(const DIBasicType *N,
18161816
Record.push_back(N->getAlignInBits());
18171817
Record.push_back(N->getEncoding());
18181818
Record.push_back(N->getFlags());
1819-
Record.push_back(VE.getMetadataOrNullID(N->getRawAnnotations()));
18201819
Record.push_back(N->getNumExtraInhabitants());
18211820

18221821
Stream.EmitRecord(bitc::METADATA_BASIC_TYPE, Record, Abbrev);
@@ -1932,7 +1931,6 @@ void ModuleBitcodeWriter::writeDISubroutineType(
19321931
Record.push_back(N->getFlags());
19331932
Record.push_back(VE.getMetadataOrNullID(N->getTypeArray().get()));
19341933
Record.push_back(N->getCC());
1935-
Record.push_back(VE.getMetadataOrNullID(N->getRawAnnotations()));
19361934

19371935
Stream.EmitRecord(bitc::METADATA_SUBROUTINE_TYPE, Record, Abbrev);
19381936
Record.clear();

llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -713,9 +713,7 @@ void DwarfUnit::constructTypeDIE(DIE &Buffer, const DIBasicType *BTy) {
713713
if (!Name.empty())
714714
addString(Buffer, dwarf::DW_AT_name, Name);
715715

716-
addAnnotation(Buffer, BTy->getAnnotations());
717-
718-
// An unspecified type only has a name attribute & annotations.
716+
// An unspecified type only has a name attribute.
719717
if (BTy->getTag() == dwarf::DW_TAG_unspecified_type)
720718
return;
721719

@@ -888,8 +886,6 @@ void DwarfUnit::constructTypeDIE(DIE &Buffer, const DISubroutineType *CTy) {
888886

889887
if (CTy->isRValueReference())
890888
addFlag(Buffer, dwarf::DW_AT_rvalue_reference);
891-
892-
addAnnotation(Buffer, CTy->getAnnotations());
893889
}
894890

895891
void DwarfUnit::addAnnotation(DIE &Buffer, DINodeArray Annotations) {

llvm/lib/IR/AsmWriter.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,9 +2122,9 @@ static void writeDIEnumerator(raw_ostream &Out, const DIEnumerator *N,
21222122
}
21232123

21242124
static void writeDIBasicType(raw_ostream &Out, const DIBasicType *N,
2125-
AsmWriterContext &WriterCtx) {
2125+
AsmWriterContext &) {
21262126
Out << "!DIBasicType(";
2127-
MDFieldPrinter Printer(Out, WriterCtx);
2127+
MDFieldPrinter Printer(Out);
21282128
if (N->getTag() != dwarf::DW_TAG_base_type)
21292129
Printer.printTag(N);
21302130
Printer.printString("name", N->getName());
@@ -2134,7 +2134,6 @@ static void writeDIBasicType(raw_ostream &Out, const DIBasicType *N,
21342134
dwarf::AttributeEncodingString);
21352135
Printer.printInt("num_extra_inhabitants", N->getNumExtraInhabitants());
21362136
Printer.printDIFlags("flags", N->getFlags());
2137-
Printer.printMetadata("annotations", N->getRawAnnotations());
21382137
Out << ")";
21392138
}
21402139

@@ -2235,7 +2234,6 @@ static void writeDISubroutineType(raw_ostream &Out, const DISubroutineType *N,
22352234
Printer.printDwarfEnum("cc", N->getCC(), dwarf::ConventionString);
22362235
Printer.printMetadata("types", N->getRawTypeArray(),
22372236
/* ShouldSkipNull */ false);
2238-
Printer.printMetadata("annotations", N->getRawAnnotations());
22392237
Out << ")";
22402238
}
22412239

llvm/lib/IR/DebugInfoMetadata.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -664,13 +664,12 @@ DIBasicType *DIBasicType::getImpl(LLVMContext &Context, unsigned Tag,
664664
MDString *Name, uint64_t SizeInBits,
665665
uint32_t AlignInBits, unsigned Encoding,
666666
uint32_t NumExtraInhabitants, DIFlags Flags,
667-
Metadata *Annotations, StorageType Storage,
667+
StorageType Storage,
668668
bool ShouldCreate) {
669669
assert(isCanonical(Name) && "Expected canonical MDString");
670670
DEFINE_GETIMPL_LOOKUP(DIBasicType, (Tag, Name, SizeInBits, AlignInBits,
671-
Encoding, NumExtraInhabitants, Flags,
672-
Annotations));
673-
Metadata *Ops[] = {nullptr, nullptr, Name, Annotations};
671+
Encoding, NumExtraInhabitants, Flags));
672+
Metadata *Ops[] = {nullptr, nullptr, Name};
674673
DEFINE_GETIMPL_STORE(
675674
DIBasicType,
676675
(Tag, SizeInBits, AlignInBits, Encoding, NumExtraInhabitants, Flags),
@@ -882,11 +881,10 @@ DISubroutineType::DISubroutineType(LLVMContext &C, StorageType Storage,
882881

883882
DISubroutineType *DISubroutineType::getImpl(LLVMContext &Context, DIFlags Flags,
884883
uint8_t CC, Metadata *TypeArray,
885-
Metadata *Annotations,
886884
StorageType Storage,
887885
bool ShouldCreate) {
888-
DEFINE_GETIMPL_LOOKUP(DISubroutineType, (Flags, CC, TypeArray, Annotations));
889-
Metadata *Ops[] = {nullptr, nullptr, nullptr, TypeArray, Annotations};
886+
DEFINE_GETIMPL_LOOKUP(DISubroutineType, (Flags, CC, TypeArray));
887+
Metadata *Ops[] = {nullptr, nullptr, nullptr, TypeArray};
890888
DEFINE_GETIMPL_STORE(DISubroutineType, (Flags, CC), Ops);
891889
}
892890

0 commit comments

Comments
 (0)