recursing llvm

Do the llvm nightly scripts "recurse" the compiler or just test that it can self host itself?

No idea what you mean here. Can you explain?


Eric Christopher <> writes:

You missed a step 4 too "verify that the output of step 2 and step 3 are the same" :slight_smile:

I'll let David pipe up with what the scripts do, but if they don't do this then we should fix them to do so.


recursing a compiler means this.

clang/llvm source == src

compile src using clang/llvm (which may have been built using gcc) -> clang/llvm' (prime)

compile src using clang/llvm' -> clang/llvm''

verify that the binaries for clang/llvm' == binaries for clang/llvm''

A compiler can be self hosted (made using itself) by just producing clang/llvm'

That is not as strong a test as recursing the compiler, even though you might run the full
test suite using clang/llvm"

So... what I said? This is usually called a "bootstrap" of the compiler with "verification".


Okay. Cool.

So do you bootrstrap and verify as part of the usual testing?

Do the nightly scripts do this?


Doesn't look like it. We could probably use this as a makefile target or something so that everyone can rather than the nightly tests.

I've filed a bug internally here, but a PR probably wouldn't go amiss if there isn't one already.


Hi Reed,

So do you bootrstrap and verify as part of the usual testing?

the buildbots are doing this on every commit (though they can't always keep
up, so it's more like every 5 commits).

Ciao, Duncan.