[clang] [clang][NFC] Increase NumStmtBits by 2 as we are approaching the limit (PR #120341)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 18 08:34:11 PST 2024
erichkeane wrote:
> > Let's just increase to 9 bits.
> > Have you checked whether the size of `Stmt` or `Expr` changes when you do this?
>
> I have these concerns as well, this ends up affecting the size of a lot of things....
>
> That said, StmtNodes.td already has 267 items in it (as far as I can tell, just a wc -l on appearances of 'def'). So I don't know how we're getting away with this already.
>
> Can you confirm how many are present currently?
>
> I also think 9 should be plenty, 512 should cover us for many many years.
I THINK I just tracked down that our current max is ~249, and I intend to add a few more for OpenACC, so this would cause us to exceed the limit, even without a downstream. Additionally, Reflection is likely to add a few, as will contracts, so even without OpenACC, we'd continue to exceed the limit.
I'd like to see some level of analysis of what we're paying for this increase, and whether we can 'get it back' elsewhere (some of our bitfields have padding we could perhaps steal, or some too-large-but-nothing-better-needs-the-bits fields), so we should make sure we minimize the sizeof our important things.
Perhaps some level of "print sizeof every AST node before and after" could be done, and compared?
https://github.com/llvm/llvm-project/pull/120341
More information about the cfe-commits
mailing list