[clang] [llvm] [Clang][PCH] Use metadata for embedding AST (PR #214135)

Steffen Larsen via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 9 02:10:51 PDT 2026


steffenlarsen wrote:

> +329 -19 doesn't feel right to me....

It was previously suggested that I split the PR up, but I wanted to wait for general concensus on the approach. If we think this is the best option (even if it is not a great option) I would be happy to go split it.

> > To avoid the size restriction that may be imposed by the address spaces of the target
> 
> What's the size restriction?

The AST would previously embed into a global variable to get it into the corresponding sections, then rely on the memory not being instantiated. With https://github.com/llvm/llvm-project/pull/179625, this doesn't fly with the verifier as it requires memory to fit in its corresponding address space, i.e. be addressible, so if an address space uses 32-bit pointers any memory object inside it can be at most ~4GB, which might not be enough for embedded AST on some projects. Note that https://github.com/llvm/llvm-project/pull/212733 was the initially proposed alternative.

https://github.com/llvm/llvm-project/pull/214135


More information about the cfe-commits mailing list