[LLVMdev] Adding sub-commands and option classes to the command line library.
tobias at grosser.es
Sun Oct 23 03:16:41 PDT 2011
On 10/23/2011 12:27 AM, Michael Spencer wrote:
> There was discussion on IRC about merging all of the compiler hacker
> tools (llvm-as, bugpoint, llc, lli, etc...) into a single llvm
> megatool. This tool would work similar to how most version control cli
> programs work. One would call 'llvm as bitcode.ll' instead of 'llvm-as
> bitcode.ll'. The main reason for this is to improve link time, but it
> also reduces the total file size (especially in the case of static
> linking), and makes it easier to discover the tools available.
Why don't you use --enable-shared for this? Does this not solve the file
size and the link time problem?
I am a little worried the additional complexity in the command line
system and other parts of LLVM are worth the benefits. At the moment
tools like 'opt' are nice and simple examples of how to use LLVM. They
allow new people to jump into LLVM and understand its structure easily.
Also, your proposal may increase the link and compilation time for me.
I mainly develop opt passes and often want to recompile the opt tool,
but don't really care about anything else. Following your proposal, the
linking of the mega tool would draw in a lot more libraries as opt uses
today and therefore will take significantly longer. I may solve this
with --enable-shared, but I will still have the problem that unrelated
libraries need to be recompiled, in case some global header changed.
Today only the necessary libraries are recompiled which should be a lot
More information about the llvm-dev