<div dir="ltr">Should probably be the default - though I implemented it originally for the backwards compatible modules, but it seems to work pretty well without many changes for ModulesTS too.<br><br>It looks like from the commit you mentioned in the other thread ( <a href="https://www.mail-archive.com/cfe-commits@lists.llvm.org/msg54922.html">https://www.mail-archive.com/cfe-commits@lists.llvm.org/msg54922.html</a> ) "This is in preparation for permitting -emit-obj to be used on a module<div>interface unit to produce object code without going via a "full" PCM file" that the second issue you mention (generating the object directly during module creation) is in the works - maybe in that Richard's planning to touch the modules-codegen default? <br><br>Richard? Thoughts - I'm happy to pick up a few pieces to work on independently if that's helpful (like changing the modules-codegen/debuginfo defaults when modules-ts is enabled)<br><br>Speaking of modules-codegen: It seemed to hurt code size* for optimized builds (because many functions are inlined away during compilation, so their definitions ) link inputs. Should there, perhaps, be a version of modules-codegen that only does enough to get correctness for modules? (ie: only externalize the definitions of external (module-internal and otherwise non-inline) entities in the module - leave the inline functions to behave as before).<br><br>* the numbers were pretty limited, and specifically only based on google's internal use of modules, focussed on modularization of protos that have their own fairly esoteric properties (lots of generated inline functions that could skew the distribution compared to "most" code)</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 1, 2017 at 5:31 AM Boris Kolpackov via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I have a couple of questions on Clang's Modules-TS usage/future plans:<br>
<br>
Currently I have to pass -fmodules-codegen -fmodules-debuginfo along with<br>
-fmodules-ts when generation a .pcm file from the module interface unit.<br>
Are there plans to make this the default? Any reason it is not already so?<br>
<br>
Currently the production of .o from the module interface unit requires a<br>
separate compiler invocation. That is: unit -> .pcm -> .o. While there<br>
are good reasons to do it this way (e.g., parallelism), are there plans<br>
to also support the single-invocation mode? This could be faster (and<br>
easier) for build systems that decided not to split this for whatever<br>
reasons (which, I believe, most of the existing build systems will do,<br>
at least initially).<br>
<br>
Thanks,<br>
Boris<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>