<div dir="ltr"><div>Dear Matthew,</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2019 at 1:02 AM Arsenault, Matthew <<a href="mailto:Matthew.Arsenault@amd.com">Matthew.Arsenault@amd.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_-7302961935559293098WordSection1">
<p class="MsoNormal">Yes, <a href="http://llvm.org/docs/MIRLangRef.html#id12" target="_blank">http://llvm.org/docs/MIRLangRef.html#id12</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Usually you use -stop-before=passname or -stop-after=passname to get some MIR at a relevant point. Note that currently not all information tracked is really serialized, especially target specific MachineFunctionInfo. Some targets partially
 implement this, but there are still a lot of gaps.</p></div></div></blockquote><div><br></div><div>Thanks for your prompt response. That is helpful.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7302961935559293098WordSection1"><p class="MsoNormal"> </p><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">Also note nothing about MIR is remotely stable, so this may differ from what you mean by “persistent”
<u></u><u></u></p>
<p class="MsoNormal"><u></u> </p></div></div></blockquote><div>Could you explain a little bit more about what do you mean by "remotely stable" ? Can the serialized YAML MIR be compiled into a final executable?</div><div><br></div><div></div><div>Lele</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7302961935559293098WordSection1"><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">-Matt<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From: </span></b><span style="font-size:12pt;color:black">llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>> on behalf of llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Reply-To: </b>Lele Ma <<a href="mailto:lelema.cn@gmail.com" target="_blank">lelema.cn@gmail.com</a>><br>
<b>Date: </b>Thursday, November 21, 2019 at 08:09<br>
<b>To: </b>llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject: </b>[llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent File<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">Dear LLVM developers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Just as LLVM IR can be read/write via persistent bitcode (*.bc *.ll) files, is there any similar implementation in LLVM to read/write Machine IR (MIR) via a persistent file?
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">If not and I would like to add it (e.g. for ARM or RISC-V), could you direct me materials and/or LLVM source code modules where I should start with?
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Best Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Lele Ma<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>

</blockquote></div></div>