<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16414" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I am working with the SelectionDAG/ScheduleDAG 
framework to implement a variation of the List scheduling Algorithm in 
LLVM.</FONT></DIV>
<DIV><FONT face=Arial size=2>I was trying to understand the existing List 
scheduler implementation in LLVM. I have a doubt about the SUnits 
structure which contain flagged nodes together. The 
instructions within a Sunit are scheduled as a single unit. 
My understanding is that the nodes in the original DAG fall into exactly one of 
the Sunits. So, I was wondering if the instructions (SDNodes) within a 
SUnit need to be scheduled seperately? For example, it may be necessary to 
insert a No-op between the instructions (within 
one SUnit) in certain cases. Or is the nodes which 
are flagged together (apart from the main node) are psuedo ops which don't 
need to be actually emitted?</FONT></DIV>
<DIV><FONT face=Arial size=2>A general overview will also be helpful. 
</FONT></DIV>
<DIV><FONT face=Arial size=2>(The documentation does not provide much details 
and the source is too complicated to understand at times).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thank you</FONT></DIV>
<DIV><FONT face=Arial size=2>-Kaushik</FONT></DIV>
<DIV> </DIV></BODY></HTML>