[llvm-dev] Incrementally compiling LLVM

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Sat Apr 17 10:56:14 PDT 2021


FWIW, there are some build systems that do the fingerprinting sort of
thing you're thinking of - but yeah, most do it with timestamps. (once
the bazel build files are in-tree, you could try those, for instance -
as bazel does fingerprinting (though I'm not sure, maybe it skips
that/is faster when the timestamps are enough to conclude that no work
needs to be done))

On Sat, Apr 17, 2021 at 5:43 AM Francesco Bertolaccini via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> On 16/04/2021 16:57, Stephen Neuendorffer wrote:
> > Good point.  I don't think it's the same flow....sorry for the confusion.
> >
> > Steve
> >
> >
> > On Thu, Apr 15, 2021, 11:36 AM Mehdi AMINI <joker.eph at gmail.com
> > <mailto:joker.eph at gmail.com>> wrote:
> >
> >     Is it the same flow?
> >     As far as I can tell you're not getting a build directory in order
> >     to do an incremental rebuild with modified sources, but instead
> >     getting the build artifacts in order to build a downstream project
> >     entirely.
> >
> >     The only way I can see incremental compilation to work would be to
> >     get the entire source tree from the cache alongside with the build
> >     tree, and then run `git fetch && git checkout <rev>`. This would
> >     mark only the source file changed by git during the checkout.
> >     Otherwise a fresh `git clone` will have the source files modified
> >     data as the time of the checkout, so more recent than the cached
> >     build dir.
> >
> >     --
> >     Mehdi
> >
>
> Thanks guys, I finally figured it out. Caching the whole git repo +
> build artifacts was the missing piece.
>
> Cheers!
>
> Francesco
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list