mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
[IR] Optimize memory usage of Metadata on MSVC
An unsigned 2 bit bitfield takes 4 bytes in MSVC. Instead of a bitfield, just use an unsigned char. We can go back to a bitfield when someone implements the TODO of exposing and reusing the remaining 6 bits. llvm-svn: 266256
This commit is contained in:
parent
e98adefed7
commit
17e6fe60ac
@ -52,7 +52,7 @@ protected:
|
||||
enum StorageType { Uniqued, Distinct, Temporary };
|
||||
|
||||
/// \brief Storage flag for non-uniqued, otherwise unowned, metadata.
|
||||
unsigned Storage : 2;
|
||||
unsigned char Storage;
|
||||
// TODO: expose remaining bits to subclasses.
|
||||
|
||||
unsigned short SubclassData16;
|
||||
@ -93,6 +93,7 @@ public:
|
||||
protected:
|
||||
Metadata(unsigned ID, StorageType Storage)
|
||||
: SubclassID(ID), Storage(Storage), SubclassData16(0), SubclassData32(0) {
|
||||
static_assert(sizeof(*this) == 8, "Metdata fields poorly packed");
|
||||
}
|
||||
~Metadata() = default;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user