koparasy wrote: Thanks @andykaylor, agreed!
Your comments fall into two categories: 1. Target-derived — CXXABI, size_t/guard width, isOSDarwin, comdat/Wasm. These all follow from the triple, which is already in the module. I'll build the LowerModule's TargetInfo from the module triple instead of the invocation 2. Genuine LangOpts flags (e.g. Exceptions (506)). These have no module representation today, so I'll serialize them at CIRGen, following the pattern from #215921. One clarification on the mechanism: LowerModule is really a derived holder. It's job is turning the triple into a `clang::TargetInfo` and caching the ABI lowering info. I read your comments as: "keep LowerModule, but construct it from the module's attributes (triple + serialized facts) rather than the invocation". Is that what you have in mind, or would you rather the passes read the attributes directly without a LowerModule at all? https://github.com/llvm/llvm-project/pull/219048 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
