1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00

Remove empty non-virtual destructors or mark them =default when non-public

These add no value but can make a class non-trivially copyable. NFC.

llvm-svn: 234688
This commit is contained in:
Benjamin Kramer 2015-04-11 15:32:26 +00:00
parent cf806a6531
commit 70b4ac9a5e
17 changed files with 37 additions and 60 deletions

View File

@ -820,8 +820,6 @@ public:
inline RegionNode(Region *Parent, BasicBlock *Entry, bool isSubRegion = false)
: RegionNodeBase<RegionTraits<Function>>(Parent, Entry, isSubRegion) {}
~RegionNode() {}
bool operator==(const Region &RN) const {
return this == reinterpret_cast<const RegionNode *>(&RN);
}

View File

@ -164,8 +164,8 @@ template <> struct isPodLike<BitCodeAbbrevOp> { static const bool value=true; };
/// specialized format instead of the fully-general, fully-vbr, format.
class BitCodeAbbrev : public RefCountedBase<BitCodeAbbrev> {
SmallVector<BitCodeAbbrevOp, 32> OperandList;
~BitCodeAbbrev() {}
// Only RefCountedBase is allowed to delete.
~BitCodeAbbrev() = default;
friend class RefCountedBase<BitCodeAbbrev>;
public:

View File

@ -57,8 +57,6 @@ public:
}
~MachineRegionNode() { }
bool operator==(const MachineRegion &RN) const {
return this == reinterpret_cast<const MachineRegionNode*>(&RN);
}

View File

@ -46,7 +46,7 @@ protected:
const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
StringRef SOS, StringRef AOS, bool isLittleEndian) = 0;
~DWARFUnitSectionBase() {}
~DWARFUnitSectionBase() = default;
};
/// Concrete instance of DWARFUnitSection, specialized for one Unit type.

View File

@ -152,7 +152,7 @@ protected:
assert(Tag < 1u << 16);
SubclassData16 = Tag;
}
~DebugNode() {}
~DebugNode() = default;
template <class Ty> Ty *getOperandAs(unsigned I) const {
return cast_or_null<Ty>(getOperand(I));
@ -328,7 +328,7 @@ class MDSubrange : public DebugNode {
: DebugNode(C, MDSubrangeKind, Storage, dwarf::DW_TAG_subrange_type,
None),
Count(Count), LowerBound(LowerBound) {}
~MDSubrange() {}
~MDSubrange() = default;
static MDSubrange *getImpl(LLVMContext &Context, int64_t Count,
int64_t LowerBound, StorageType Storage,
@ -366,7 +366,7 @@ class MDEnumerator : public DebugNode {
ArrayRef<Metadata *> Ops)
: DebugNode(C, MDEnumeratorKind, Storage, dwarf::DW_TAG_enumerator, Ops),
Value(Value) {}
~MDEnumerator() {}
~MDEnumerator() = default;
static MDEnumerator *getImpl(LLVMContext &Context, int64_t Value,
StringRef Name, StorageType Storage,
@ -411,7 +411,7 @@ protected:
MDScope(LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag,
ArrayRef<Metadata *> Ops)
: DebugNode(C, ID, Storage, Tag, Ops) {}
~MDScope() {}
~MDScope() = default;
public:
MDFile *getFile() const { return cast_or_null<MDFile>(getRawFile()); }
@ -461,7 +461,7 @@ class MDFile : public MDScope {
MDFile(LLVMContext &C, StorageType Storage, ArrayRef<Metadata *> Ops)
: MDScope(C, MDFileKind, Storage, dwarf::DW_TAG_file_type, Ops) {}
~MDFile() {}
~MDFile() = default;
static MDFile *getImpl(LLVMContext &Context, StringRef Filename,
StringRef Directory, StorageType Storage,
@ -528,7 +528,7 @@ protected:
: MDScope(C, ID, Storage, Tag, Ops), Line(Line), Flags(Flags),
SizeInBits(SizeInBits), AlignInBits(AlignInBits),
OffsetInBits(OffsetInBits) {}
~MDType() {}
~MDType() = default;
public:
TempMDType clone() const {
@ -607,7 +607,7 @@ class MDBasicType : public MDType {
: MDType(C, MDBasicTypeKind, Storage, Tag, 0, SizeInBits, AlignInBits, 0,
0, Ops),
Encoding(Encoding) {}
~MDBasicType() {}
~MDBasicType() = default;
static MDBasicType *getImpl(LLVMContext &Context, unsigned Tag,
StringRef Name, uint64_t SizeInBits,
@ -658,7 +658,7 @@ protected:
ArrayRef<Metadata *> Ops)
: MDType(C, ID, Storage, Tag, Line, SizeInBits, AlignInBits, OffsetInBits,
Flags, Ops) {}
~MDDerivedTypeBase() {}
~MDDerivedTypeBase() = default;
public:
MDTypeRef getBaseType() const { return MDTypeRef(getRawBaseType()); }
@ -686,7 +686,7 @@ class MDDerivedType : public MDDerivedTypeBase {
uint64_t OffsetInBits, unsigned Flags, ArrayRef<Metadata *> Ops)
: MDDerivedTypeBase(C, MDDerivedTypeKind, Storage, Tag, Line, SizeInBits,
AlignInBits, OffsetInBits, Flags, Ops) {}
~MDDerivedType() {}
~MDDerivedType() = default;
static MDDerivedType *getImpl(LLVMContext &Context, unsigned Tag,
StringRef Name, MDFile *File, unsigned Line,
@ -763,7 +763,7 @@ protected:
: MDDerivedTypeBase(C, ID, Storage, Tag, Line, SizeInBits, AlignInBits,
OffsetInBits, Flags, Ops),
RuntimeLang(RuntimeLang) {}
~MDCompositeTypeBase() {}
~MDCompositeTypeBase() = default;
public:
DebugNodeArray getElements() const {
@ -824,7 +824,7 @@ class MDCompositeType : public MDCompositeTypeBase {
: MDCompositeTypeBase(C, MDCompositeTypeKind, Storage, Tag, Line,
RuntimeLang, SizeInBits, AlignInBits, OffsetInBits,
Flags, Ops) {}
~MDCompositeType() {}
~MDCompositeType() = default;
static MDCompositeType *
getImpl(LLVMContext &Context, unsigned Tag, StringRef Name, Metadata *File,
@ -907,7 +907,7 @@ class MDSubroutineType : public MDCompositeTypeBase {
: MDCompositeTypeBase(C, MDSubroutineTypeKind, Storage,
dwarf::DW_TAG_subroutine_type, 0, 0, 0, 0, 0, Flags,
Ops) {}
~MDSubroutineType() {}
~MDSubroutineType() = default;
static MDSubroutineType *getImpl(LLVMContext &Context, unsigned Flags,
MDTypeRefArray TypeArray,
@ -958,7 +958,7 @@ class MDCompileUnit : public MDScope {
: MDScope(C, MDCompileUnitKind, Storage, dwarf::DW_TAG_compile_unit, Ops),
SourceLanguage(SourceLanguage), IsOptimized(IsOptimized),
RuntimeVersion(RuntimeVersion), EmissionKind(EmissionKind) {}
~MDCompileUnit() {}
~MDCompileUnit() = default;
static MDCompileUnit *
getImpl(LLVMContext &Context, unsigned SourceLanguage, MDFile *File,
@ -1083,7 +1083,7 @@ protected:
MDLocalScope(LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag,
ArrayRef<Metadata *> Ops)
: MDScope(C, ID, Storage, Tag, Ops) {}
~MDLocalScope() {}
~MDLocalScope() = default;
public:
/// \brief Get the subprogram for this scope.
@ -1221,7 +1221,7 @@ class MDSubprogram : public MDLocalScope {
Line(Line), ScopeLine(ScopeLine), Virtuality(Virtuality),
VirtualIndex(VirtualIndex), Flags(Flags), IsLocalToUnit(IsLocalToUnit),
IsDefinition(IsDefinition), IsOptimized(IsOptimized) {}
~MDSubprogram() {}
~MDSubprogram() = default;
static MDSubprogram *
getImpl(LLVMContext &Context, MDScopeRef Scope, StringRef Name,
@ -1383,7 +1383,7 @@ protected:
MDLexicalBlockBase(LLVMContext &C, unsigned ID, StorageType Storage,
ArrayRef<Metadata *> Ops)
: MDLocalScope(C, ID, Storage, dwarf::DW_TAG_lexical_block, Ops) {}
~MDLexicalBlockBase() {}
~MDLexicalBlockBase() = default;
public:
MDLocalScope *getScope() const { return cast<MDLocalScope>(getRawScope()); }
@ -1407,7 +1407,7 @@ class MDLexicalBlock : public MDLexicalBlockBase {
unsigned Column, ArrayRef<Metadata *> Ops)
: MDLexicalBlockBase(C, MDLexicalBlockKind, Storage, Ops), Line(Line),
Column(Column) {}
~MDLexicalBlock() {}
~MDLexicalBlock() = default;
static MDLexicalBlock *getImpl(LLVMContext &Context, MDLocalScope *Scope,
MDFile *File, unsigned Line, unsigned Column,
@ -1455,7 +1455,7 @@ class MDLexicalBlockFile : public MDLexicalBlockBase {
unsigned Discriminator, ArrayRef<Metadata *> Ops)
: MDLexicalBlockBase(C, MDLexicalBlockFileKind, Storage, Ops),
Discriminator(Discriminator) {}
~MDLexicalBlockFile() {}
~MDLexicalBlockFile() = default;
static MDLexicalBlockFile *getImpl(LLVMContext &Context, MDLocalScope *Scope,
MDFile *File, unsigned Discriminator,
@ -1504,7 +1504,7 @@ class MDNamespace : public MDScope {
: MDScope(Context, MDNamespaceKind, Storage, dwarf::DW_TAG_namespace,
Ops),
Line(Line) {}
~MDNamespace() {}
~MDNamespace() = default;
static MDNamespace *getImpl(LLVMContext &Context, MDScope *Scope,
MDFile *File, StringRef Name, unsigned Line,
@ -1549,7 +1549,7 @@ protected:
MDTemplateParameter(LLVMContext &Context, unsigned ID, StorageType Storage,
unsigned Tag, ArrayRef<Metadata *> Ops)
: DebugNode(Context, ID, Storage, Tag, Ops) {}
~MDTemplateParameter() {}
~MDTemplateParameter() = default;
public:
StringRef getName() const { return getStringOperand(0); }
@ -1572,7 +1572,7 @@ class MDTemplateTypeParameter : public MDTemplateParameter {
ArrayRef<Metadata *> Ops)
: MDTemplateParameter(Context, MDTemplateTypeParameterKind, Storage,
dwarf::DW_TAG_template_type_parameter, Ops) {}
~MDTemplateTypeParameter() {}
~MDTemplateTypeParameter() = default;
static MDTemplateTypeParameter *getImpl(LLVMContext &Context, StringRef Name,
MDTypeRef Type, StorageType Storage,
@ -1609,7 +1609,7 @@ class MDTemplateValueParameter : public MDTemplateParameter {
unsigned Tag, ArrayRef<Metadata *> Ops)
: MDTemplateParameter(Context, MDTemplateValueParameterKind, Storage, Tag,
Ops) {}
~MDTemplateValueParameter() {}
~MDTemplateValueParameter() = default;
static MDTemplateValueParameter *getImpl(LLVMContext &Context, unsigned Tag,
StringRef Name, MDTypeRef Type,
@ -1655,7 +1655,7 @@ protected:
MDVariable(LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag,
unsigned Line, ArrayRef<Metadata *> Ops)
: DebugNode(C, ID, Storage, Tag, Ops), Line(Line) {}
~MDVariable() {}
~MDVariable() = default;
public:
unsigned getLine() const { return Line; }
@ -1702,7 +1702,7 @@ class MDGlobalVariable : public MDVariable {
: MDVariable(C, MDGlobalVariableKind, Storage, dwarf::DW_TAG_variable,
Line, Ops),
IsLocalToUnit(IsLocalToUnit), IsDefinition(IsDefinition) {}
~MDGlobalVariable() {}
~MDGlobalVariable() = default;
static MDGlobalVariable *
getImpl(LLVMContext &Context, MDScope *Scope, StringRef Name,
@ -1785,7 +1785,7 @@ class MDLocalVariable : public MDVariable {
ArrayRef<Metadata *> Ops)
: MDVariable(C, MDLocalVariableKind, Storage, Tag, Line, Ops), Arg(Arg),
Flags(Flags) {}
~MDLocalVariable() {}
~MDLocalVariable() = default;
static MDLocalVariable *getImpl(LLVMContext &Context, unsigned Tag,
MDScope *Scope, StringRef Name, MDFile *File,
@ -1882,7 +1882,7 @@ class MDExpression : public MDNode {
MDExpression(LLVMContext &C, StorageType Storage, ArrayRef<uint64_t> Elements)
: MDNode(C, MDExpressionKind, Storage, None),
Elements(Elements.begin(), Elements.end()) {}
~MDExpression() {}
~MDExpression() = default;
static MDExpression *getImpl(LLVMContext &Context,
ArrayRef<uint64_t> Elements, StorageType Storage,
@ -2021,7 +2021,7 @@ class MDObjCProperty : public DebugNode {
: DebugNode(C, MDObjCPropertyKind, Storage, dwarf::DW_TAG_APPLE_property,
Ops),
Line(Line), Attributes(Attributes) {}
~MDObjCProperty() {}
~MDObjCProperty() = default;
static MDObjCProperty *
getImpl(LLVMContext &Context, StringRef Name, MDFile *File, unsigned Line,
@ -2099,7 +2099,7 @@ class MDImportedEntity : public DebugNode {
MDImportedEntity(LLVMContext &C, StorageType Storage, unsigned Tag,
unsigned Line, ArrayRef<Metadata *> Ops)
: DebugNode(C, MDImportedEntityKind, Storage, Tag, Ops), Line(Line) {}
~MDImportedEntity() {}
~MDImportedEntity() = default;
static MDImportedEntity *getImpl(LLVMContext &Context, unsigned Tag,
MDScope *Scope, DebugNodeRef Entity,

View File

@ -89,7 +89,7 @@ protected:
Metadata(unsigned ID, StorageType Storage)
: SubclassID(ID), Storage(Storage), SubclassData16(0), SubclassData32(0) {
}
~Metadata() {}
~Metadata() = default;
/// \brief Default handling of a changed operand, which asserts.
///
@ -253,7 +253,7 @@ protected:
: Metadata(ID, Uniqued), ReplaceableMetadataImpl(V->getContext()), V(V) {
assert(V && "Expected valid value");
}
~ValueAsMetadata() {}
~ValueAsMetadata() = default;
public:
static ValueAsMetadata *get(Value *V);
@ -754,7 +754,7 @@ protected:
MDNode(LLVMContext &Context, unsigned ID, StorageType Storage,
ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None);
~MDNode() {}
~MDNode() = default;
void dropAllReferences();

View File

@ -91,8 +91,8 @@ protected:
NumContainedTys(0), ContainedTys(nullptr) {
setTypeID(tid);
}
~Type() {}
~Type() = default;
void setTypeID(TypeID ID) {
IDAndSubclassData = (ID & 0xFF) | (IDAndSubclassData & 0xFFFFFF00);
assert(getTypeID() == ID && "TypeID data too large for field");

View File

@ -99,8 +99,6 @@ public:
explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64)
: Map(NumInitBuckets), Data(Data) {}
~ValueMap() {}
bool hasMD() const { return MDMap; }
MDMapT &MD() {
if (!MDMap)

View File

@ -77,9 +77,6 @@ class AssemblerConstantPools {
ConstantPoolMapTy ConstantPools;
public:
AssemblerConstantPools() {}
~AssemblerConstantPools() {}
void emitAll(MCStreamer &Streamer);
void emitForCurrentSection(MCStreamer &Streamer);
const MCExpr *addEntry(MCStreamer &Streamer, const MCExpr *Expr,

View File

@ -75,8 +75,6 @@ struct ParseInstructionInfo {
ParseInstructionInfo() : AsmRewrites(nullptr) {}
ParseInstructionInfo(SmallVectorImpl<AsmRewrite> *rewrites)
: AsmRewrites(rewrites) {}
~ParseInstructionInfo() {}
};
/// MCTargetAsmParser - Generic interface to target specific assembly parsers.

View File

@ -1442,8 +1442,6 @@ public:
TheInit(O.TheInit), IsAnonymous(O.IsAnonymous),
ResolveFirst(O.ResolveFirst) { }
~Record() {}
static unsigned getNewUID() { return LastID++; }
unsigned getID() const { return ID; }

View File

@ -90,9 +90,6 @@ typedef iplist<RewriteDescriptor> RewriteDescriptorList;
class RewriteMapParser {
public:
RewriteMapParser() {}
~RewriteMapParser() {}
bool parse(const std::string &MapFile, RewriteDescriptorList *Descriptors);
private:

View File

@ -45,7 +45,6 @@ namespace llvm {
public:
explicit LLLexer(StringRef StartBuf, SourceMgr &SM, SMDiagnostic &,
LLVMContext &C);
~LLLexer() {}
lltok::Kind Lex() {
return CurKind = LexToken();

View File

@ -397,7 +397,6 @@ private:
StackProtectorDescriptor() : ParentMBB(nullptr), SuccessMBB(nullptr),
FailureMBB(nullptr), Guard(nullptr),
GuardReg(0) { }
~StackProtectorDescriptor() { }
/// Returns true if all fields of the stack protector descriptor are
/// initialized implying that we should/are ready to emit a stack protector.

View File

@ -401,9 +401,7 @@ public:
/// NumberedTypes - The numbered types, along with their value.
DenseMap<StructType*, unsigned> NumberedTypes;
TypePrinting() {}
~TypePrinting() {}
TypePrinting() = default;
void incorporateTypes(const Module &M);

View File

@ -87,8 +87,7 @@ private:
public:
TGLexer(SourceMgr &SrcMgr);
~TGLexer() {}
tgtok::TokKind Lex() {
return CurCode = LexToken();
}

View File

@ -54,8 +54,6 @@ public:
RetainAutorelease(nullptr),
RetainAutoreleaseRV(nullptr) { }
~ARCRuntimeEntryPoints() { }
void init(Module *M) {
TheModule = M;
AutoreleaseRV = nullptr;