<div dir="auto">Thanks, I'll check it out. Is the interface that functions mutate DAG and return Chain nodes and we can traverse DAG using Chain? How do I traverse DAG in BFS order?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 3, 2020, 11:14 PM Eli Friedman <<a href="mailto:efriedma@quicinc.com">efriedma@quicinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="m_-4647695505953544662WordSection1">
<p class="MsoNormal">Have you read <a href="http://llvm.org/docs/CodeGenerator.html#instruction-selection-section" target="_blank" rel="noreferrer">
http://llvm.org/docs/CodeGenerator.html#instruction-selection-section</a> ?  That covers the general DAG representation and the meaning of a “chain”.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">In general, if you don’t understand how something in SelectionDAG is supposed to work, I’d suggest looking at other targets, and using the dumping options frequently.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">-Eli<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b>From:</b> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>jeniffer lesley via llvm-dev<br>
<b>Sent:</b> Saturday, August 1, 2020 10:35 AM<br>
<b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> [EXT] [llvm-dev] Understanding assert in SelectionDAGBuilder.cpp<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Hi,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">I am new to LLVM. I am experimenting with a toy backend. I don't understand
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">"LowerFormalArguments didn't return a valid chain" in SelectionDAGBuilder.cpp file. What is the interface here? What does it mean by returning a Chain?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Jen. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div>