[LLVMdev] RFC: Upcoming Build System Changes

Chris Lattner clattner at apple.com
Tue Nov 1 16:40:10 PDT 2011


On Nov 1, 2011, at 4:33 PM, Óscar Fuentes wrote:

> greened at obbligato.org (David A. Greene) writes:
> 
>> Joachim Durchholz <jo at durchholz.org> writes:
>> 
>>> On the reasons why make-based builds are slow, Peter Miller has some 
>>> insight to offer:
>>> http://miller.emu.id.au/pmiller/books/rmch/ .
>>> I'm not sure how widely recognized that paper is. Maybe it's widely 
>>> known and today's build times stem from other things than recursive make.
>> 
>> The paper is widely recognized.  Its lessons, unfortunatly, are not.
>> 
>> Chris is absolutely on-target as to why the current build is slow.  It's
>> slow because recursive make hides the parallelism.  It hides the
>> parallelism because it hides the dependencies.  There is no way to get
>> around that problem with a recursive make build system.
> 
> You keep repeating that and I say that it is wrong. Can you mention a
> serialization point on the LLVM build caused by recursive make?
> (GenLibDeps is not such example, as described on a previous message.)

Any use of DIRS is a serialization point.  For example, lib/Support -> lib/TableGen -> utils are all built in serial before anything else is.

-Chris



More information about the llvm-dev mailing list