[zorg] r253237 - Always build the stage 2 cleanly.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 16 09:40:55 PST 2015


On Mon, Nov 16, 2015 at 9:30 AM, Galina Kistanova via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: gkistanova
> Date: Mon Nov 16 11:30:42 2015
> New Revision: 253237
>
> URL: http://llvm.org/viewvc/llvm-project?rev=253237&view=rev
> Log:
> Always build the stage 2 cleanly.
>
> If the compiler has been changed on the stage 1, we cannot trust any of
> the intermediate file from the old compiler. And if the stage 1 compiler is
> the same, we should not build in the first place.
>

Is this test implemented (the "if the stage 1 compiler is the same" test)?
I don't imagine it'd fire that often, but it could be useful to avoid
documentation changes triggering stage 2 compilations unnecessarily.


>
> Modified:
>     zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>
> Modified: zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
> URL:
> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=253237&r1=253236&r2=253237&view=diff
>
> ==============================================================================
> --- zorg/trunk/zorg/buildbot/builders/ClangBuilder.py (original)
> +++ zorg/trunk/zorg/buildbot/builders/ClangBuilder.py Mon Nov 16 11:30:42
> 2015
> @@ -319,16 +319,16 @@ def getClangBuildFactory(
>
>      # Clean up llvm (stage 2).
>      #
> -    # FIXME: It does not make much sense to skip this for a bootstrap
> builder.
> -    # Check whether there is any reason to skip cleaning here and if not,
> remove
> -    # this condition.
> -    if clean or cmake:
> -        f.addStep(ShellCommand(name="rm-llvm.obj.stage2",
> -                               command=["rm", "-rf", llvm_2_objdir],
> -                               haltOnFailure=True,
> -                               description=["rm build dir", "llvm",
> "(stage 2)"],
> -                               workdir=".",
> -                               env=merged_env))
> +    # We always cleanly build the stage 2. If the compiler has been
> +    # changed on the stage 1, we cannot trust any of the intermediate file
> +    # from the old compiler. And if the stage 1 compiler is the same, we
> should
> +    # not build in the first place.
> +    f.addStep(ShellCommand(name="rm-llvm.obj.stage2",
> +                           command=["rm", "-rf", llvm_2_objdir],
> +                           haltOnFailure=True,
> +                           description=["rm build dir", "llvm", "(stage
> 2)"],
> +                           workdir=".",
> +                           env=merged_env))
>
>      # Configure llvm (stage 2).
>      if not cmake:
> @@ -620,20 +620,17 @@ def getClangCMakeBuildFactory(
>
>      ############# STAGE 2
>      if useTwoStage:
> -        if clean:
> -            f.addStep(ShellCommand(name='clean stage 2',
> -                                   command=['rm','-rf',stage2_build],
> -                                   warnOnFailure=True,
> -                                   description='cleaning stage 2',
> -                                   descriptionDone='clean',
> -                                   workdir='.',
> -                                   env=env))
> -        else:
> -            f.addStep(SetProperty(name="check ninja files 2",
> -                                  workdir=stage2_build,
> -                                  command=check_build_cmd,
> -                                  flunkOnFailure=False,
> -                                  property="exists_ninja_2"))
> +        # We always cleanly build the stage 2. If the compiler has been
> +        # changed on the stage 1, we cannot trust any of the intermediate
> file
> +        # from the old compiler. And if the stage 1 compiler is the same,
> we
> +        # should not build in the first place.
> +        f.addStep(ShellCommand(name='clean stage 2',
> +                               command=['rm','-rf',stage2_build],
> +                               warnOnFailure=True,
> +                               description='cleaning stage 2',
> +                               descriptionDone='clean',
> +                               workdir='.',
> +                               env=env))
>
>          # Set the compiler using the CC and CXX environment variables to
> work around
>          # backslash string escaping bugs somewhere between buildbot and
> cmake. The
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151116/b87d9852/attachment.html>


More information about the llvm-commits mailing list