[LLVMdev] [llvm-commits] [PATCH] Refactoring the DFA generator

Anshuman Dasgupta adasgupt at codeaurora.org
Thu Jun 14 12:15:01 PDT 2012


Ivan,

Thanks for working on the DFA generator. I'll take a look at the changes 
in detail but from your description, I like the general nature of the 
modifications.

-Anshu

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


On 6/14/2012 8:22 AM, Ivan Llopard wrote:
> Hi,
>
> I've refactored the DFA generator in TableGen because it takes too 
> much time to build the table of our BE and I'd like to share it.
> We have 15 functional units and 13 different itineraries which, in the 
> worst case, can produce 13! states. Fortunately, many of those states 
> are reused :-) but it still takes up to 11min to build the entire 
> table. This patch reduces the build time to 5min, giving a speed-up 
> factor greater than 2.
>
> It contains small changes:
> - Transitions are stored in a set for quicker searches
> - canAddInsnClass() API is split in two API's:
>   - canAddInsnClass() which perform a quick verification about the 
> possibility of having new states for a given InsnClass
>   - AddInsnClass() performs the actual computation of possible states.
>
> I've regenerated the DFA table of Hexagon and all seems to be ok.
>
> What do you think about these changes ?
>
>
> Ivan
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120614/230d9b24/attachment.html>


More information about the llvm-dev mailing list