-fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations.
llvm-svn: 165571
This commit is contained in:
parent
638d03de17
commit
b6fb381dba
|
|
@ -65,9 +65,6 @@ public:
|
||||||
|
|
||||||
/// \brief A description of a type.
|
/// \brief A description of a type.
|
||||||
class TypeDescriptor {
|
class TypeDescriptor {
|
||||||
/// The name of the type, in a format suitable for including in diagnostics.
|
|
||||||
const char *TypeName;
|
|
||||||
|
|
||||||
/// A value from the \c Kind enumeration, specifying what flavor of type we
|
/// A value from the \c Kind enumeration, specifying what flavor of type we
|
||||||
/// have.
|
/// have.
|
||||||
u16 TypeKind;
|
u16 TypeKind;
|
||||||
|
|
@ -76,6 +73,10 @@ class TypeDescriptor {
|
||||||
/// interpret the meaning of a ValueHandle of this type.
|
/// interpret the meaning of a ValueHandle of this type.
|
||||||
u16 TypeInfo;
|
u16 TypeInfo;
|
||||||
|
|
||||||
|
/// The name of the type follows, in a format suitable for including in
|
||||||
|
/// diagnostics.
|
||||||
|
char TypeName[1];
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum Kind {
|
enum Kind {
|
||||||
/// An integer type. Lowest bit is 1 for a signed value, 0 for an unsigned
|
/// An integer type. Lowest bit is 1 for a signed value, 0 for an unsigned
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue