LLDB builder: clean LLVM only if its revision number changed since
the last build.  Otherwise, only clean LLDB.

git-svn-id: https://llvm.org/svn/llvm-project/zorg/trunk@143030 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/zorg/buildbot/builders/ClangBuilder.py b/zorg/buildbot/builders/ClangBuilder.py
index 45bf406..943bbc7 100644
--- a/zorg/buildbot/builders/ClangBuilder.py
+++ b/zorg/buildbot/builders/ClangBuilder.py
@@ -36,6 +36,7 @@
             use_pty_in_tests=False,
             trunk_revision=None,
             force_checkout=False,
+            extra_clean_step=None,
             checkout_compiler_rt=False):
     # Prepare environmental variables. Set here all env we want everywhere.
     merged_env = {
@@ -158,8 +159,12 @@
                                               description="cleaning llvm",
                                               descriptionDone="clean llvm",
                                               workdir=llvm_1_objdir,
+                                              doStepIf=clean,
                                               env=merged_env))
 
+    if extra_clean_step:
+        f.addStep(extra_clean_step)
+
     f.addStep(WarningCountingShellCommand(name="compile",
                                           command=['nice', '-n', '10',
                                                    make, WithProperties("-j%s" % jobs)],