[llvm-commits] Deterministic finite automaton based packetizer for VLIW architectures

Anshuman Dasgupta adasgupt at codeaurora.org
Fri Nov 18 20:51:30 PST 2011


Hi,

I'm attaching a patch that adds support for a deterministic finite 
automaton (DFA) based packetizer for VLIW architectures. Specifically, 
it automatically generates a DFA from a VLIW target's Schedule.td file. 
In a VLIW machine, an instruction can typically be dispatched to one or 
many function units. The DFA determines whether there exists a legal 
mapping of instructions to functional unit assignments in a packet. This 
DFA can then be queried by a backend packetization pass to determine 
which instructions can be grouped into a VLIW packet.

This patch contains the machine-independent code that adds a component 
to TableGen. The component autogenerates the DFA and implements the API 
that can be used to query the DFA during packetization. This can be used 
by any VLIW target to packetize its instructions. After the Hexagon 
backend is committed, I will post another Hexagon-specific patch that 
uses this mechanism to construct packets in the Hexagon backend. I ran 
the llvm test suite and this patch did not cause any regressions.

I would appreciate reviews and comments.

Thanks
-Anshu

--
Qualcomm Innovation Center, Inc is a member of Code Aurora Forum

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111118/5bef5f4b/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dfa_packetizer.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111118/5bef5f4b/attachment.ksh>


More information about the llvm-commits mailing list