<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">From SDNode and MachineInstr class, I see no link between them and IR/SDNode. The other places you can check are SelectionDAGBuilder [1] and InstrEmitter [1], which responsible for translating IR to SDNode, and SDNode to MachineInstr respectively.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I know you can retrieve the corresponding BasicBlock for a MachineBasicBlock, which is easy. However, since we will do lowering and combine during IR to SDNode transformation, I think it's hard to track the relationship. Not sure it's the same for SDNode to MachineInstr transformation, though.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">[1] <a href="http://llvm.org/doxygen/classllvm_1_1SelectionDAGBuilder.html">http://llvm.org/doxygen/classllvm_1_1SelectionDAGBuilder.html</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">[2] <a href="http://llvm.org/doxygen/classllvm_1_1InstrEmitter.html">http://llvm.org/doxygen/classllvm_1_1InstrEmitter.html</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-26 8:58 GMT+08: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">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">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><br><br clear="all"><div><br></div>-- <br><div class="gmail_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/~chenwj</a></div></div></div>
</div>