freebsd-skq/lib/clang
dim 905ed8bc75 Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially.  Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.

This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.

I tested this on a 24-core machine, with make -j48 buildworld (N = 6):

                before    stddev       after    stddev
                =======   ======       =======  ======
real time        1741.1     16.5         959.8     2.7
user time       12468.7     16.4       14393.0    16.8
sys  time        1825.0     54.8        2110.6    22.8

(user+sys)/real     8.2                   17.1

E.g. the build was approximately 45% faster in real time.  On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive.  But at least you can now almost max out a machine with
buildworld!

Submitted by:	jilles
MFC after:	2 weeks
2014-03-26 22:30:38 +00:00
..
include Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libclanganalysis Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangarcmigrate
libclangast Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangbasic
libclangcodegen Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangdriver Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangedit
libclangfrontend
libclangfrontendtool
libclanglex
libclangparse Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangrewritecore
libclangrewritefrontend
libclangsema Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangserialization
libclangstaticanalyzercheckers Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangstaticanalyzercore Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libclangstaticanalyzerfrontend
liblldb
liblldbAPI Update LLDB bmake build for r262187 2014-02-18 19:58:01 +00:00
liblldbBreakpoint
liblldbCommands Update LLDB bmake build for r262187 2014-02-18 19:58:01 +00:00
liblldbCore Update LLDB bmake build for r262187 2014-02-18 19:58:01 +00:00
liblldbDataFormatters Update LLDB to upstream r194122 snapshot 2013-11-12 17:25:33 +00:00
liblldbExpression
liblldbHostCommon Update LLDB bmake build for r262187 2014-02-18 19:58:01 +00:00
liblldbHostFreeBSD
liblldbInterpreter
liblldbPluginABISysV_x86_64
liblldbPluginCXXItaniumABI
liblldbPluginDisassemblerLLVM
liblldbPluginDynamicLoaderPosixDYLD
liblldbPluginDynamicLoaderStatic
liblldbPluginInstructionARM
liblldbPluginObjectContainerBSDArchive
liblldbPluginObjectFileELF
liblldbPluginPlatformFreeBSD
liblldbPluginPlatformGDB
liblldbPluginProcessElfCore Update LLDB to upstream r194122 snapshot 2013-11-12 17:25:33 +00:00
liblldbPluginProcessFreeBSD lldb: Threaded inferior support for FreeBSD 2013-12-03 21:29:45 +00:00
liblldbPluginProcessGDBRemote
liblldbPluginProcessPOSIX Update LLDB to upstream r194122 snapshot 2013-11-12 17:25:33 +00:00
liblldbPluginProcessUtility Update LLDB to upstream r196259 snapshot 2013-12-03 19:23:54 +00:00
liblldbPluginSymbolFileDWARF Update LLDB to upstream r194122 snapshot 2013-11-12 17:25:33 +00:00
liblldbPluginSymbolFileSymtab
liblldbPluginSymbolVendorELF
liblldbPluginUnwindAssemblyInstEmulation
liblldbPluginUnwindAssemblyX86
liblldbSymbol
liblldbTarget Update LLDB bmake build for r262187 2014-02-18 19:58:01 +00:00
liblldbUtility Update LLDB to upstream r194122 snapshot 2013-11-12 17:25:33 +00:00
libllvmanalysis Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmarmasmparser
libllvmarmcodegen
libllvmarmdesc Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmarmdisassembler
libllvmarminfo
libllvmarminstprinter
libllvmasmparser
libllvmasmprinter Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmbitreader
libllvmbitwriter
libllvmcodegen Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmcore Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmdebuginfo Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmexecutionengine Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvminstcombine
libllvminstrumentation Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvminterpreter
libllvmipa
libllvmipo
libllvmirreader
libllvmjit Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmlinker
libllvmmc Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmmcdisassembler
libllvmmcjit
libllvmmcparser
libllvmmipsasmparser
libllvmmipscodegen Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmmipsdesc Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmmipsdisassembler
libllvmmipsinfo
libllvmmipsinstprinter
libllvmobjcarcopts
libllvmobject Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmoption Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmpowerpcasmparser Enable llvm's integrated assembler for PowerPC, since it should now be 2013-12-16 18:45:21 +00:00
libllvmpowerpccodegen Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmpowerpcdesc Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmpowerpcinfo
libllvmpowerpcinstprinter
libllvmruntimedyld
libllvmscalaropts Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmselectiondag
libllvmsparcasmparser Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsparccodegen Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsparcdesc Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsparcdisassembler Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsparcinfo Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsparcinstprinter Add Makefile glue to build the Sparc backend libraries and link them 2014-02-20 22:22:39 +00:00
libllvmsupport Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmtablegen
libllvmtarget
libllvmtransformutils Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmvectorize Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmx86asmparser
libllvmx86codegen
libllvmx86desc Upgrade our copy of llvm/clang to 3.4 release. This version supports 2014-02-16 19:44:07 +00:00
libllvmx86disassembler
libllvmx86info
libllvmx86instprinter
libllvmx86utils
clang.build.mk Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental. 2014-03-23 12:49:25 +00:00
clang.lib.mk
lldb.lib.mk
Makefile Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process 2014-03-26 22:30:38 +00:00