<div dir="rtl"><div dir="ltr">I am trying to eliminate the consumer of consumer pattern we have where BackendConsumer is mostly a thin layer around a ModuleBuilder it creates for itself. Most of the additional functionality being in HandleTranslationUnit calling EmitBackendOutput to create bc, ll or object files. Most the input aguments of BackendConsumer are needed for CreateLLVMCodeGen only. </div><div dir="ltr"><br></div><div dir="ltr">EmitBackendOutput already supports a "Backend_EmitNothing" action. If we merge BackendConsumer functionality into ModuleBuilder and eliminate BackendConsumer , I think that every existing ModuleBuilder could continue using "new" ModuleBuilder with Action = Backend_EmitNothing and OS = nullptr just the same.</div><div dir="ltr"><br></div><div dir="ltr">Mark, would that work for you?</div><div dir="ltr"><br></div><div dir="ltr"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2014-12-30 15:18 GMT+02:00 Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 30 December 2014 at 06:34, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>> wrote:<br>
> True, I checked now and cling uses the ModuleBuilder. It can't switch to<br>
> BackendConsumer as it's still using the old JIT.<br>
<br>
</span>The old JIT has been removed, so that should not hold a decision on<br>
what to do on trunk.<br>
<br>
Cheers,<br>
Rafael<br>
</blockquote></div><br></div>