<div dir="ltr">Hi all,<div>this is Jeehoon Kang, a CS PhD student and a newbie to LLVM.</div><div><br></div><div>I am wondering why LLVM IR's basic block consists of a list of instructions,</div><div>rather than a DAG of instruction as in the low level (ISelectionDAG).<br clear="all"><div><br></div><div>My gut feeling tells me that LLVM IR in DAG form may admit more optimisations in a systematic manner. This is because data dependence is more explicit in a DAG of instructions than in a list of those.</div><div><br></div><div>However, I found an exact opposite proposal: removing DAG structure at all (<a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061238.html">http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061238.html</a>). I am a newbie to LLVM (and compiler in general), so I could not understand the rationale behind the proposal.</div><div><br></div><div>Would you please give me some advice on this matter?</div><div><br></div><div>Thanks,</div><div>Jeehoon</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><a href="http://sf.snu.ac.kr/jeehoon.kang" target="_blank">Jeehoon Kang (Ph.D. student)</a><div><a href="http://sf.snu.ac.kr" target="_blank">Software Foundations Laboratory</a><div><a href="http://www.snu.ac.kr" target="_blank">Seoul National University</a></div></div></div></div>
</div></div>