<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Yang,<br>
    <br>
    They have different implementations because they don't do the same
    thing and don't rely on the same structures. VLIW scheduling works
    on the SelectionDAG, right after the instruction selection, and it
    will schedule the DAG but it will not build any packet. The VLIW
    packetizer has been designed to work with machine instructions,
    using the ScheduleDAGInstr, and it does build packets (not
    scheduling). Both implementations have something in common, the
    DFAPacketizer which provides information about valid instruction
    packets. The former use it as a parameter for the computation of
    scheduling priorities and the latter use it to actually build the
    packets.<br>
    I've read in this list that scheduling on the selectionDAG is likely
    to be replaced by the machine scheduling in the near future.<br>
    <br>
    Ivan<br>
    <br>
    On 23/07/2012 09:02, Triple Yang wrote:
    <blockquote
cite="mid:CAGxstLSHsD1FvW9rWvbFNEi0SS4rx1UYpvF38Uf3JRvwjHbA0A@mail.gmail.com"
      type="cite">
      <pre wrap="">Hi,

I notice that there exist some classes for VLIW packetizing and other
classes for VLIW scheduling.
Apparently these classes share something in common. Can someone
explain why they
should have separate implementation (i.e., in different function passes)?

Best regards.

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
  </body>
</html>