[clang] [CIR] Run the CIR lowering pipeline without a live ASTContext and accept serialized .cir as cc1 input (PR #219048)

Konstantinos Parasyris via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 26 15:51:30 PDT 2026


koparasy wrote:

@erichkeane Thanks! will do the splitting. Mapping to your "necessary to remove existing uses vs. the effort to remove them":

1. Reroute existing AST/target uses onto LowerModule: purely removing existing uses. The pipeline already had these dependencies; I'm just sourcing them from LowerModule instead of ASTContext, no new behavior. Small, self-contained.

2. Make the facts self-contained. serialize the LangOpts/target facts into module attributes so lowering reads the module, not the invocation (per Andy's review, see above).  This is the actual removal effort, and where the static-local-style materialization lives.

3. Accept .cir as cc1 input — the new capability, on top of (1)+(2).

Is this is roughly what you have in mind?

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


More information about the cfe-commits mailing list