[LLVMdev] Utilizing gperf for TableGen

Reid Spencer rspencer at reidspencer.com
Wed Jan 2 19:45:35 PST 2008

FYI, gperf is a very good perfect hash utility written originally by Doug Schmidt (of ACE fame). I used it in XPS for speeding up XML parsing by hashing all the element and attribute names.  Unfortunately, its a code generator, which we're trying to get rid of in LLVM. Still, I recommend the tool highly.


On Tue, 1 Jan 2008 13:04:57 -0800
 Chris Lattner <sabre at nondot.org> wrote:
>On Jan 1, 2008, at 1:51 AM, Wilhansen Li wrote:
>> The output of TableGen (intrinsics.gen) seems a bit too clunky
>> specifically the switching parts (input the string, output the enum).
>> Moreover, the code makes MSVC barf due to its nesting limit which even
>> applices to if-else statements.
>Right, fixing the VC++ issue is straight-forward.  I will do it in the  
>next couple of days if noone beats me to it.
>> One one hand, gperf
>> (http://www.gnu.org/software/gperf/manual/gperf.html) offers a way to
>> map strings to records without much difficulty (and it does its job
>> efficiently).
>> My point is, are there plans to utilize gperf for table generation?
>Not that I know of.  Anton is working on a better and more aggressive  
>implementation of this code in question though,
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu

More information about the llvm-dev mailing list