projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Disable LeakSanitizer in TableGen binaries, see PR18325"
[oota-llvm.git]
/
utils
/
TableGen
/
TGValueTypes.cpp
diff --git
a/utils/TableGen/TGValueTypes.cpp
b/utils/TableGen/TGValueTypes.cpp
index 3ac71a49147f41ce1ce7970d4a07b6534ce119ac..f4893f50a6ff86032509a8b998f4cf39e5ae33d7 100644
(file)
--- a/
utils/TableGen/TGValueTypes.cpp
+++ b/
utils/TableGen/TGValueTypes.cpp
@@
-35,11
+35,15
@@
public:
}
Type(TypeKind K) : Kind(K) {}
virtual unsigned getSizeInBits() const = 0;
}
Type(TypeKind K) : Kind(K) {}
virtual unsigned getSizeInBits() const = 0;
- virtual ~Type()
{}
+ virtual ~Type()
;
};
};
+// Provide out-of-line definition to prevent weak vtable.
+Type::~Type() {}
+
}
}
+namespace {
class ExtendedIntegerType : public Type {
unsigned BitWidth;
public:
class ExtendedIntegerType : public Type {
unsigned BitWidth;
public:
@@
-48,7
+52,7
@@
public:
static bool classof(const Type *T) {
return T->getKind() == TK_ExtendedIntegerType;
}
static bool classof(const Type *T) {
return T->getKind() == TK_ExtendedIntegerType;
}
- unsigned getSizeInBits() const {
+
virtual
unsigned getSizeInBits() const {
return getBitWidth();
}
unsigned getBitWidth() const {
return getBitWidth();
}
unsigned getBitWidth() const {
@@
-65,7
+69,7
@@
public:
static bool classof(const Type *T) {
return T->getKind() == TK_ExtendedVectorType;
}
static bool classof(const Type *T) {
return T->getKind() == TK_ExtendedVectorType;
}
- unsigned getSizeInBits() const {
+
virtual
unsigned getSizeInBits() const {
return getNumElements() * getElementType().getSizeInBits();
}
EVT getElementType() const {
return getNumElements() * getElementType().getSizeInBits();
}
EVT getElementType() const {
@@
-75,6
+79,7
@@
public:
return NumElements;
}
};
return NumElements;
}
};
+} // end anonymous namespace
static std::map<unsigned, const Type *>
ExtendedIntegerTypeMap;
static std::map<unsigned, const Type *>
ExtendedIntegerTypeMap;