mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 14:10:41 +00: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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266256 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a6ab26162c
commit
55e47a634f
@ -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