<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-04-28 10:52 GMT-07:00 Krzysztof Parzyszek <span dir="ltr"><<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 4/28/2015 12:46 PM, Alex L wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
I hope that answers your question,<br>
</blockquote>
<br></span>
Partly. :)<br>
I'm wondering what support you would need from each target.  Obviously you'd need to be able to parse the mnemonics and the register names, but that's probably doable without additional target-specific support.<br></blockquote><div><br></div><div>Yes, the mnemonics and register names should be fairly straight forward.</div><div><br></div><div>However, there are several target specific data structures that a machine function might have, like the MachineFunctionInfo. </div><div>The MachineFunctionInfo is particularly interesting, as it can be difficult to serialize on certain targets, like Mips, XCore and Hexagon, </div><div>but luckily the other targets have a pretty simple subclass of MachineFunctionInfo. I think that each target's MachineFunctionInfo</div><div>and other similar classes would have to be extended to contain the intrusive methods for serialization.</div><div><br></div><div>The instructions themselves don't have too many target specific stuff, but they do have a couple of things. Although there are some</div><div>target specific things that don't even need to be serialized - like the MipsCallEntry, which can be used in a MachineMemOperand,</div><div>but doesn't contain any data when LLVM is compiled in release mode.</div><div><br></div><div>Alex.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Also, is this going to support SSA and post-SSA/post-RA code?</blockquote><div><br></div><div>Yes, it's going to support both SSA and post SSA code.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5"><br>
<br>
-Krzysztof<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation<br>
</div></div></blockquote></div><br></div></div>