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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to