[llvm-dev] Organization of LLVM utilities
Paul C. Anagnostopoulos via llvm-dev
llvm-dev at lists.llvm.org
Tue Aug 4 13:34:39 PDT 2020
Until people pointed it out, it hadn't registered that of course TableGen is not just one table generator, but many, depending on the backends attached. So the common code is separate from the various backends for at least that reason.
At 8/4/2020 04:06 PM, Chris Lattner wrote:
>It may be confusing but it is not the case that âllvm/libâ contains all the libraries, and âllvm/toolsâ contains all the tools. At a course grain, the main llvm repo builds in four phases:
>1) llvm/utils. -> this builds some executables like tablegen
>2) llvm/lib. -> This is all libraries, shouldnât include executables.
>3) llvm/tools. -> Generally executables, also some libraries that are tool specific.
>4) tests.. -> Things that depend on the above.
>In theory, we could have a much finer grain build system that allows tracking exactly which tests depend on which executables, which executables depend on which libraries, etc, but this hasnât been done. In theory this could help the build cycle if youâre running a single âllvm-mcâ like test, for example.
More information about the llvm-dev