[llvm-commits] [PATCH] Add MSVC multi processor compilation to build system

Erik Olofsson Erik.Olofsson at hansoft.se
Tue Mar 1 19:36:42 PST 2011


> -----Original Message-----
> From: Óscar Fuentes [mailto:ofv at wanadoo.es]
>
> > Yes, this is even better. Would you like that code in
> > HandleLLVMOptions.cmake or CMakeLists.txt or both with option
> > definition split from logic?
>
> Put everything in HandleLLVMOptions.cmake, so it can be used when Clang
> is built using LLVM as an external library.

Sorry, I just sent a patch that was split before I saw your message, please ignore it. A patch for only HandleLLVMOptions.cmake attached.

> Certainly, there are superfluous tblgen dependencies, but accurately
> determining them is tricky. About the dependencies between libraries,
> there are some among LLVM targets and its subsidiaries (e.g. LLVMX86 and
> LLVMX86AsmParser) and sometimes a dependency is declared from a library
> into another when, actually, it should be on its tablegenned products (e.g.
> LLVMX86 depending on LLVMTarget). In general, those cases can be easily
> fixed, although I've seen cases of linker errors on Linux due to missing
> vtables while linking the LLVM tools. If you know more instances of
> unnecessary inter-library dependencies, please mention them.

Actually LLVM looks pretty good, it's clang that has more dependencies. For example clangParse has a dependecy on clangLex.

> Parallel builds work fine on Linux with make -jN, there is little room to
> improve, but it seems that tablegenning on Windows is slow (in release
> mode, if you are building on debug mode it can take a very long time. I
> thought about always building tblgen.exe on release mode for avoiding
> such excruciating build times.)

I was building in Debug mode so tblgen in Release mode would probably help a lot, but one tblgen project includes to several tblgen, this gives room for improvement on msbuild where they are all run sequentially in each project.

Regards,
Erik
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: llvm-msvc-multi-processor-compilation.patch.txt
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110302/ec81a6a3/attachment.txt>


More information about the llvm-commits mailing list