diff options
author | Daniil Kovalev <dkovalev@accesssoftek.com> | 2024-03-02 14:48:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-02 14:48:46 +0300 |
commit | bf08d0286825eb3e482bcfdc1cc7c19a28441ae7 (patch) | |
tree | 63f65f6da56478dfa67072981d0f82848278798f /llvm/lib/IR/DIBuilder.cpp | |
parent | c4f59937cae95a576635848b36a23b0d672f71d6 (diff) | |
download | llvm-bf08d0286825eb3e482bcfdc1cc7c19a28441ae7.zip llvm-bf08d0286825eb3e482bcfdc1cc7c19a28441ae7.tar.gz llvm-bf08d0286825eb3e482bcfdc1cc7c19a28441ae7.tar.bz2 |
Revert "[Dwarf] Support `__ptrauth` qualifier in metadata nodes" (#83672)
Reverts llvm/llvm-project#82363
See a build failure related to an issue discovered by memory sanitizer
(use of uninitialized value):
https://lab.llvm.org/buildbot/#/builders/37/builds/31965
Diffstat (limited to 'llvm/lib/IR/DIBuilder.cpp')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 58 |
1 files changed, 21 insertions, 37 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index 2842cb15..62efaba 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -296,20 +296,7 @@ DIStringType *DIBuilder::createStringType(StringRef Name, DIDerivedType *DIBuilder::createQualifiedType(unsigned Tag, DIType *FromTy) { return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, FromTy, 0, - 0, 0, std::nullopt, std::nullopt, DINode::FlagZero); -} - -DIDerivedType *DIBuilder::createPtrAuthQualifiedType( - DIType *FromTy, unsigned Key, bool IsAddressDiscriminated, - unsigned ExtraDiscriminator, bool IsaPointer, - bool AuthenticatesNullValues) { - return DIDerivedType::get( - VMContext, dwarf::DW_TAG_LLVM_ptrauth_type, "", nullptr, 0, nullptr, - FromTy, 0, 0, 0, std::nullopt, - std::optional<DIDerivedType::PtrAuthData>({Key, IsAddressDiscriminated, - ExtraDiscriminator, IsaPointer, - AuthenticatesNullValues}), - DINode::FlagZero); + 0, 0, std::nullopt, DINode::FlagZero); } DIDerivedType * @@ -320,8 +307,8 @@ DIBuilder::createPointerType(DIType *PointeeTy, uint64_t SizeInBits, // FIXME: Why is there a name here? return DIDerivedType::get(VMContext, dwarf::DW_TAG_pointer_type, Name, nullptr, 0, nullptr, PointeeTy, SizeInBits, - AlignInBits, 0, DWARFAddressSpace, std::nullopt, - DINode::FlagZero, nullptr, Annotations); + AlignInBits, 0, DWARFAddressSpace, DINode::FlagZero, + nullptr, Annotations); } DIDerivedType *DIBuilder::createMemberPointerType(DIType *PointeeTy, @@ -331,8 +318,7 @@ DIDerivedType *DIBuilder::createMemberPointerType(DIType *PointeeTy, DINode::DIFlags Flags) { return DIDerivedType::get(VMContext, dwarf::DW_TAG_ptr_to_member_type, "", nullptr, 0, nullptr, PointeeTy, SizeInBits, - AlignInBits, 0, std::nullopt, std::nullopt, Flags, - Base); + AlignInBits, 0, std::nullopt, Flags, Base); } DIDerivedType * @@ -341,7 +327,7 @@ DIBuilder::createReferenceType(unsigned Tag, DIType *RTy, uint64_t SizeInBits, std::optional<unsigned> DWARFAddressSpace) { assert(RTy && "Unable to create reference type"); return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, RTy, - SizeInBits, AlignInBits, 0, DWARFAddressSpace, {}, + SizeInBits, AlignInBits, 0, DWARFAddressSpace, DINode::FlagZero); } @@ -352,16 +338,15 @@ DIDerivedType *DIBuilder::createTypedef(DIType *Ty, StringRef Name, DINodeArray Annotations) { return DIDerivedType::get(VMContext, dwarf::DW_TAG_typedef, Name, File, LineNo, getNonCompileUnitScope(Context), Ty, 0, - AlignInBits, 0, std::nullopt, std::nullopt, Flags, - nullptr, Annotations); + AlignInBits, 0, std::nullopt, Flags, nullptr, + Annotations); } DIDerivedType *DIBuilder::createFriend(DIType *Ty, DIType *FriendTy) { assert(Ty && "Invalid type!"); assert(FriendTy && "Invalid friend type!"); return DIDerivedType::get(VMContext, dwarf::DW_TAG_friend, "", nullptr, 0, Ty, - FriendTy, 0, 0, 0, std::nullopt, std::nullopt, - DINode::FlagZero); + FriendTy, 0, 0, 0, std::nullopt, DINode::FlagZero); } DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy, @@ -373,7 +358,7 @@ DIDerivedType *DIBuilder::createInheritance(DIType *Ty, DIType *BaseTy, ConstantInt::get(IntegerType::get(VMContext, 32), VBPtrOffset)); return DIDerivedType::get(VMContext, dwarf::DW_TAG_inheritance, "", nullptr, 0, Ty, BaseTy, 0, 0, BaseOffset, std::nullopt, - std::nullopt, Flags, ExtraData); + Flags, ExtraData); } DIDerivedType *DIBuilder::createMemberType( @@ -383,7 +368,7 @@ DIDerivedType *DIBuilder::createMemberType( return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File, LineNumber, getNonCompileUnitScope(Scope), Ty, SizeInBits, AlignInBits, OffsetInBits, std::nullopt, - std::nullopt, Flags, nullptr, Annotations); + Flags, nullptr, Annotations); } static ConstantAsMetadata *getConstantOrNull(Constant *C) { @@ -396,10 +381,10 @@ DIDerivedType *DIBuilder::createVariantMemberType( DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Constant *Discriminant, DINode::DIFlags Flags, DIType *Ty) { - return DIDerivedType::get( - VMContext, dwarf::DW_TAG_member, Name, File, LineNumber, - getNonCompileUnitScope(Scope), Ty, SizeInBits, AlignInBits, OffsetInBits, - std::nullopt, std::nullopt, Flags, getConstantOrNull(Discriminant)); + return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File, + LineNumber, getNonCompileUnitScope(Scope), Ty, + SizeInBits, AlignInBits, OffsetInBits, std::nullopt, + Flags, getConstantOrNull(Discriminant)); } DIDerivedType *DIBuilder::createBitFieldMemberType( @@ -410,7 +395,7 @@ DIDerivedType *DIBuilder::createBitFieldMemberType( return DIDerivedType::get( VMContext, dwarf::DW_TAG_member, Name, File, LineNumber, getNonCompileUnitScope(Scope), Ty, SizeInBits, /*AlignInBits=*/0, - OffsetInBits, std::nullopt, std::nullopt, Flags, + OffsetInBits, std::nullopt, Flags, ConstantAsMetadata::get(ConstantInt::get(IntegerType::get(VMContext, 64), StorageOffsetInBits)), Annotations); @@ -424,8 +409,7 @@ DIBuilder::createStaticMemberType(DIScope *Scope, StringRef Name, DIFile *File, Flags |= DINode::FlagStaticMember; return DIDerivedType::get(VMContext, Tag, Name, File, LineNumber, getNonCompileUnitScope(Scope), Ty, 0, AlignInBits, - 0, std::nullopt, std::nullopt, Flags, - getConstantOrNull(Val)); + 0, std::nullopt, Flags, getConstantOrNull(Val)); } DIDerivedType * @@ -436,7 +420,7 @@ DIBuilder::createObjCIVar(StringRef Name, DIFile *File, unsigned LineNumber, return DIDerivedType::get(VMContext, dwarf::DW_TAG_member, Name, File, LineNumber, getNonCompileUnitScope(File), Ty, SizeInBits, AlignInBits, OffsetInBits, std::nullopt, - std::nullopt, Flags, PropertyNode); + Flags, PropertyNode); } DIObjCProperty * @@ -571,10 +555,10 @@ DIDerivedType *DIBuilder::createSetType(DIScope *Scope, StringRef Name, DIFile *File, unsigned LineNo, uint64_t SizeInBits, uint32_t AlignInBits, DIType *Ty) { - auto *R = DIDerivedType::get(VMContext, dwarf::DW_TAG_set_type, Name, File, - LineNo, getNonCompileUnitScope(Scope), Ty, - SizeInBits, AlignInBits, 0, std::nullopt, - std::nullopt, DINode::FlagZero); + auto *R = + DIDerivedType::get(VMContext, dwarf::DW_TAG_set_type, Name, File, LineNo, + getNonCompileUnitScope(Scope), Ty, SizeInBits, + AlignInBits, 0, std::nullopt, DINode::FlagZero); trackIfUnresolved(R); return R; } |