<div dir="ltr">Just go through DILocation (a specialized meta data created for dwarf) flow through IR->SDNode->MI. <div>MDNode is fundamental unit which is encapsulated into MDNodeSDNode in DAG</div><div>and MachineOperand kind = MO_metadata in MI phases.<div><br></div><div>Thanks <br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 2, 2017 at 5:17 PM, 陳韋任 via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'd recommend you writing RFC to the list to explain the motivation and how you want to do, so that others in interested might have a look.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-29 8:21 GMT-05:00 Jonathan via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Seems llvm cannot pass metadata to MachineInstr, or setting operand description in class Instruction and pass to class MachineInstr.<div>Is it a good idea to extend llvm kernel structure to having this feature?</div><span class="m_-373946701176597864HOEnZb"><font color="#888888"><div><br></div><div>Jonathan</div></font></span><div><div class="h5"><div><div class="m_-373946701176597864h5"><div><br></div><div><br><div><blockquote type="cite"><div>On Nov 27, 2017, at 9:01 PM, Jatin Bhateja <<a href="mailto:jatin.bhateja@gmail.com" target="_blank">jatin.bhateja@gmail.com</a>> wrote:</div><br class="m_-373946701176597864m_7623214023593157913Apple-interchange-newline"><div><div dir="auto"><span style="font-family:sans-serif;font-size:16.512px">SelectionDAGBuilder contained within SelectionDAGISel has a map (NodeMap) b/w Value (Instruction) and corrosponding dag value (SDValue).</span><div dir="auto" style="font-family:sans-serif;font-size:16.512px"><br></div><div dir="auto" style="font-family:sans-serif;font-size:16.512px">Isn't that usable for your purpose.</div><div dir="auto" style="font-family:sans-serif;font-size:16.512px"><br></div><div dir="auto" style="font-family:sans-serif;font-size:16.512px">Thanks,</div><div dir="auto" style="font-family:sans-serif;font-size:16.512px">Jatin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 27 Nov 2017 18:21, "Jonathan via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote"><div style="word-wrap:break-word">I am working on llvm gpu backend. The instruction metadata can only get in IR (class instruction). In DAG stage, the instructions are reordered, so I cannot map the metadata to correct instruction if I cannot access instruction from DAG or MachineInstr structure.<div><br></div><div><br><div><blockquote type="cite"><div>On Nov 26, 2017, at 11:02 PM, Ryan Taylor <<a href="mailto:ryta1203@gmail.com" target="_blank">ryta1203@gmail.com</a>> wrote:</div><br class="m_-373946701176597864m_7623214023593157913m_-6393046661858355501Apple-interchange-newline"><div><div dir="auto">It might be a more useful to know what it is you need from the IR in the DAG or what it is you r trying to do?<div dir="auto"><br></div><div dir="auto"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Nov 25, 2017 7:59 PM, "Jonathan via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote">The llvm backend uses class Instruction in IR handle stage, create SDVaule and DAG in DAG translation stage and class MachineInstr in Machine instruction translation stage.<br>
Can I access class Instruction from DAG structure or stage, or access DAG and Instruction from MachineInstr structure or stage?<br>
<br>
Jonathan<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>
</div></blockquote></div><br></div></div><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div></div>
</div></blockquote></div><br></div></div></div></div></div></div><div><div class="h5"><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></div></div></blockquote></div><br><br clear="all"><span class=""><div><br></div>-- <br><div class="m_-373946701176597864gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Wei-Ren Chen (陳韋任)<br>Homepage: <a href="https://people.cs.nctu.edu.tw/~chenwj" target="_blank">https://people.cs.nctu.edu.tw/<wbr>~chenwj</a></div></div></div>
</span></div>
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>