Hi! I've always built the complete LLVM tree manually, on my own, but now for the sake of more convenient updates and more comfortable patching, I'll move to the MacPorts LLVM builds (*).
I know there's a supposedly officially supported multistage build in LLVM (see https://llvm.org/docs/AdvancedBuilds.html). I've never used it (mainly because LLVM is usually a bit lagging in terms of documentation: before the monorepo you even had to guess where each subproject was supposed to be downloaded in the tree). Anyway, despite not using this official multistaging, I've always built LLVM in manual stages (at least two: first stage with my current compiler, second stage with the first stage compiler). At the end I issued a "make check-all" for checking how the result looks in terms of tests passes/failures. Now, looking at the portfile, it seems like LLVM/clang is built with one stage only in MacPorts and no checks are performed (unless I'm missing some bits, because I'm still no expert at portfile syntax). Don't you check the validity of the resulting compiler in some way? I suppose you do, at least for internal tests, don't you? Kind regards and thanks a lot, César (*) When I say "LLVM", I mean the whole tree (including flang when LLVM 11 gets released --I'm tempted to try the RC1, but there seem to be some fatal reports from release testers in the mailing list, so maybe it's wiser to wait for at least RC2 --although the developer doing the MacOS build reported total success with RC1 --he didn't build flang, though). Looking at the portfiles, it looks like the port for "everything" is clang rather than llvm, if I'm not mistaken.