[LLVMdev] Dynamic configuration for llvmc2

Patrick Walton pcwalton at cs.ucla.edu
Mon Nov 17 10:40:47 PST 2008


Thanks for the reply!

> The plan now is to make this functionality easier to use, so you'll be able to
> just say:
> 
> llvmc2 --load MyPlugin.td MyFile.cpp
> 
> and have llvmc2 build and load MyPlugin.td behind the scenes.

That sounds like a good idea.

Part of the reason I suggested making the system less dependent on 
TableGen is that in the process of developing a plugin I've found some 
things to be difficult to express in the current framework. For 
instance, when parsing options, I've found that often I want to save 
some kind of information in a variable and then use that variable when 
constructing the command line. This is not possible without hooks, but 
hooks are limited in what they can do (they can only do simple string 
substitution).

Basically, my concern with TableGen is that a lot of work has gone into 
creating a small domain-specific scripting language in TableGen, when 
maybe a real scripting language would be easier to use (not to mention 
to maintain), and would have the added benefit of not having to recompile.

How would you feel about a plugin that reads its configuration from an 
external specs file written in, say, Lua? It looks like the design of 
llvmc2 allows plugins that dynamically set up nodes and edges instead of 
statically reading them, and it could be a good solution for drivers 
with complex requirements. I could start work on such a thing if you 
thought it was a good idea.

Patrick

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3250 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081117/887daf9d/attachment.bin>


More information about the llvm-dev mailing list