Utilizing gperf for TableGen


One one hand, gperf
(Perfect Hash Function Generator) offers a way to
map strings to records without much difficulty (and it does its job

My point is, are there plans to utilize gperf for table generation?

I'm aware about gperf. However we're planning to utilize some another
approach based on tries. The idea behind this is pretty simple: almost
all strings being mapped have the form: "foo.bar.baz", so the idea is to
split stuff more or less effectively on such blocks and switch over them.

The advantages are: make stuff in TableGen better, bring up new data
structure to LLVM :).

Gperf will be also fine and almost automatic solution, but this is extra
dependence (and, even worse, some extra headache with maintaining of
auto-generated files), which LLVM tries to reduce.