diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2018-01-26 14:14:11 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2018-01-26 14:14:11 +0000 |
commit | 0763d20f307e6aa5c30656a0c8755d9503dd905d (patch) | |
tree | e04d6cd77c5a3b20702f8fb8f76d1f0ef46c9cf6 /lib/AST/Decl.cpp | |
parent | 5029924c9ffbcc2cca86d0bd08846d8cdfcea8a0 (diff) |
[AST] Use bit packing to reduce sizeof(TypedefNameDecl) from 88 to 80.
We can stash the cached transparent tag bit in existing pointer padding.
Everything coming out of ASTContext is always aligned to a multiple of
8, so we have 8 spare bits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@323528 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index f8010695c9..9c73ee7ede 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -4372,9 +4372,7 @@ bool TypedefNameDecl::isTransparentTagSlow() const { }; bool isTransparent = determineIsTransparent(); - CacheIsTransparentTag = 1; - if (isTransparent) - CacheIsTransparentTag |= 0x2; + MaybeModedTInfo.setInt((isTransparent << 1) | 1); return isTransparent; } |