<div dir="ltr">The only good way that I can think of to break up this dependency would be to make the printing of MIR<div>be part of CodeGen, and have the parsing as a separate MIRParser library under CodeGen. This way</div><div>MIRParser will depend on CodeGen but CodeGen won't depend on MIRParser.</div><div><br></div><div>I've attached a patch that updates the reverted commit with this reorganization.</div><div><br></div><div>Cheers,</div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-05-22 9:38 GMT-07:00 Alex L <span dir="ltr"><<a href="mailto:arphaman@gmail.com" target="_blank">arphaman@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I'm not sure if it would possible to break this circular dependency.</div><div><br></div><div>LLVMMIR has to depend on LLVMCodeGen as it needs to access all the machine IR state.</div><div>But at the same time LLVMCodeGen has to connect to LLVMMIR to create a printing pass and </div><div>then later to parse the machine functions, as llc does all the pass setup with LLVMCodeGen.</div><div><br></div><div>If this dependency is a problem maybe LLVMMIR should be a part of LLVMCodeGen?</div><div><br></div><div>Alex.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-05-22 7:48 GMT-07:00 NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com" target="_blank">geek4civic@gmail.com</a>></span>:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Reverted in r238007. Could you reorganize MIR to dissolve dependencies between LLVMCodeGen and LLVMMIR?<br>
<br>
<br>
/llvm/trunk/lib/CodeGen/MIR/MIRPrintingPass.cpp:18 This depends on LLVMCodeGen.<br>
/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp:153 This depends on LLVMMIR.<br>
/llvm/trunk/include/llvm/CodeGen/Passes.h:379 I suggest it might be logically in include/llvm/CodeGen/MIR.<br>
<div><div><br>
USERS<br>
  arphaman (Author)<br>
<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_rL237954&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=6U1y1eQUJ4D2qsqXlUHDSK_KWvgbA0fBRXg_3oCHrPw&s=qyRI6S4zpkqk34UWovzTFvzRnPjaqch0Cuu_W2ZdUVE&e=" target="_blank">http://reviews.llvm.org/rL237954</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_settings_panel_emailpreferences_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=6U1y1eQUJ4D2qsqXlUHDSK_KWvgbA0fBRXg_3oCHrPw&s=r9o3jHsiCQHQRj9wToCmElTAN_K7FosZgi3EKIeaQlE&e=" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>