[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