[LLVMdev] Differences and Relationship between VLIW scheduler and VLIW packetizer?
Ivan Llopard
ivanllopard at gmail.com
Mon Jul 23 01:09:37 PDT 2012
Hi Yang,
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.
I've read in this list that scheduling on the selectionDAG is likely to
be replaced by the machine scheduling in the near future.
Ivan
On 23/07/2012 09:02, Triple Yang wrote:
> 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.
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120723/b928bfeb/attachment.html>
More information about the llvm-dev
mailing list