[LLVMdev] [llvm-commits] [PATCH] Refactoring the DFA generator
ivanllopard at gmail.com
Fri Jun 15 02:00:36 CDT 2012
Hi Anshu, Sean,
Thanks for your quick feedbacks!
Sean, I ran your command and I had the following output:
$nm DFAPacketizerEmitter.o | awk '$2 == "T"' | c++filt
0000000000000000 T llvm::EmitDFAPacketizer(llvm::RecordKeeper&,
which I think it's correct.
On 14/06/2012 21:15, Anshuman Dasgupta wrote:
> 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.
> Qualcomm Innovation Center, Inc is a member of the Code Aurora Forum
> On 6/14/2012 8:22 AM, Ivan Llopard wrote:
>> 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 ?
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the LLVMdev