[zorg] r287498 - [zorg] ClangBuilder with LLD

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 20 08:14:36 PST 2016


Author: rengolin
Date: Sun Nov 20 10:14:35 2016
New Revision: 287498

URL: http://llvm.org/viewvc/llvm-project?rev=287498&view=rev
Log:
[zorg] ClangBuilder with LLD

Add the option to checkout LLD, which will run its tests during "check-all"
and allow bootstrap with LLD as well as using it by default on tests. It'll
also allow bots to use '-fuse-ld=lld' on their CFLAGS and -DLLVM_ENABLE_LLD=True
in the CMake config, to use LLD for test-suite, stage 2, etc.

Also, forcing checkout_lld=False on all current bots for safety, since the
default behaviour was requested to be True for all checkouts. I'll add a new
AArch64 LLD buildbot soon that will use this setting.


Modified:
    zorg/trunk/buildbot/osuosl/master/config/builders.py
    zorg/trunk/zorg/buildbot/builders/ClangBuilder.py

Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=287498&r1=287497&r2=287498&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Sun Nov 20 10:14:35 2016
@@ -157,6 +157,7 @@ def _get_clang_builders():
          'factory' : ClangBuilder.getClangCMakeBuildFactory(
                        clean=False,
                        checkout_compiler_rt=False,
+                       checkout_lld=False,
                        useTwoStage=False,
                        stage1_config='Release',
                        test=True,
@@ -172,6 +173,7 @@ def _get_clang_builders():
                       jobs=4,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       test=False,
                       useTwoStage=False,
                       runTestSuite=True,
@@ -195,6 +197,7 @@ def _get_clang_builders():
                       jobs=2,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       test=False,
                       useTwoStage=False,
                       runTestSuite=True,
@@ -214,6 +217,7 @@ def _get_clang_builders():
                       jobs=2,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       useTwoStage=True,
                       testStage1=False,
                       env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
@@ -232,6 +236,7 @@ def _get_clang_builders():
                       jobs=4,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
                       extra_cmake_args=["-DCMAKE_C_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -marm'",
                                         "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -marm'",
@@ -247,6 +252,7 @@ def _get_clang_builders():
                       jobs=4,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
                       extra_cmake_args=["-DCMAKE_C_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -mthumb'",
                                         "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -mthumb'",
@@ -262,6 +268,7 @@ def _get_clang_builders():
                       jobs=4,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       useTwoStage=True,
                       testStage1=False,
                       env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
@@ -279,6 +286,7 @@ def _get_clang_builders():
                       jobs=8,
                       clean=False,
                       checkout_compiler_rt=False,
+                      checkout_lld=False,
                       test=True,
                       useTwoStage=False,
                       runTestSuite=True,
@@ -298,6 +306,7 @@ def _get_clang_builders():
                         vs='%VS140COMNTOOLS%',
                         vs_target_arch='x86',
                         checkout_compiler_rt=False,
+                        checkout_lld=False,
                         testStage1=True,
                         useTwoStage=True,
                         stage1_config='RelWithDebInfo',
@@ -309,6 +318,7 @@ def _get_clang_builders():
          'builddir' :"clang-ppc64be-lnt",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
                                                             jobs=16,
+                                                            checkout_lld=False,
                                                             useTwoStage=False,
                                                             runTestSuite=True,
                                                             stage1_config='Release',
@@ -321,6 +331,7 @@ def _get_clang_builders():
          'builddir' :"clang-ppc64le-lnt",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
                                                             jobs=6,
+                                                            checkout_lld=False,
                                                             useTwoStage=False,
                                                             runTestSuite=True,
                                                             stage1_config='Release',
@@ -332,6 +343,7 @@ def _get_clang_builders():
          'slavenames' :["ppc64be-clang-multistage-test"],
          'builddir' :"clang-ppc64be-multistage",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
+                                                            checkout_lld=False,
                                                             useTwoStage=True,
                                                             stage1_config='Release',
                                                             stage2_config='Release',
@@ -342,6 +354,7 @@ def _get_clang_builders():
          'slavenames' :["ppc64le-clang-multistage-test"],
          'builddir' :"clang-ppc64le-multistage",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
+                                                            checkout_lld=False,
                                                             useTwoStage=True,
                                                             stage1_config='Release',
                                                             stage2_config='Release',
@@ -352,6 +365,7 @@ def _get_clang_builders():
          'slavenames':["ppc64be-clang-test"],
          'builddir':"clang-ppc64be",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
+                                                            checkout_lld=False,
                                                             useTwoStage=False,
                                                             stage1_config='Release',
                                                             extra_cmake_args=["-DLLVM_ENABLE_ASSERTIONS=ON"]),
@@ -361,6 +375,7 @@ def _get_clang_builders():
          'slavenames':["ppc64le-clang-test"],
          'builddir':"clang-ppc64le",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
+                                                            checkout_lld=False,
                                                             useTwoStage=False,
                                                             stage1_config='Release',
                                                             extra_cmake_args=["-DLLVM_ENABLE_ASSERTIONS=ON"]),
@@ -370,6 +385,7 @@ def _get_clang_builders():
          'slavenames':["systemz-1"],
          'builddir':"clang-s390x-linux",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(clean=False,
+                                                            checkout_lld=False,
                                                             useTwoStage=False,
                                                             stage1_config='Release',
                                                             extra_cmake_args=["-DLLVM_ENABLE_ASSERTIONS=ON"]),
@@ -420,6 +436,7 @@ def _get_clang_builders():
             jobs=16,
             checkout_clang_tools_extra=False,
             checkout_compiler_rt=False,
+            checkout_lld=False,
             env={'LD_LIBRARY_PATH': '/local/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib'},
             extra_cmake_args=[
               "-DCMAKE_BUILD_TYPE:STRING=Release",
@@ -459,6 +476,7 @@ def _get_clang_builders():
          'slavenames' : ["modules-slave-1"],
          'builddir' : "clang-x86_64-linux-selfhost-modules",
          'factory' : ClangBuilder.getClangBuildFactory(triple='x86_64-pc-linux-gnu',
+                                                       checkout_lld=False,
                                                        useTwoStage=True,
                                                        clean=False,
                                                        stage1_config='Release',
@@ -474,6 +492,7 @@ def _get_clang_builders():
          'slavenames' : ["modules-slave-2"],
          'builddir' : "clang-x86_64-linux-selfhost-modules-2",
          'factory' : ClangBuilder.getClangBuildFactory(triple='x86_64-pc-linux-gnu',
+                                                       checkout_lld=False,
                                                        useTwoStage=True,
                                                        clean=False,
                                                        stage1_config='Release',
@@ -490,6 +509,7 @@ def _get_clang_builders():
          'builddir' : "clang-x64-ninja-win7",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(
                         clean=False,
+                        checkout_lld=False,
                         vs='%VS140COMNTOOLS%',
                         vs_target_arch='x64',
                         testStage1=True,
@@ -503,6 +523,7 @@ def _get_clang_builders():
          'slavenames' : ["freebsd01"],
          'builddir' : "clang-x86_64-freebsd",
          'factory': ClangBuilder.getClangCMakeBuildFactory(
+                       checkout_lld=False,
                        clean=False)},
 
         {'name' : "clang-3stage-ubuntu",
@@ -749,6 +770,7 @@ def _get_sanitizer_builders():
            'factory' : ClangBuilder.getClangCMakeBuildFactory(
                         jobs=4,
                         clean=False,
+                        checkout_lld=False,
                         env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
                         extra_cmake_args=["-DCMAKE_C_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -marm'",
                                           "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a15 -mfpu=vfpv3 -marm'",
@@ -764,6 +786,7 @@ def _get_sanitizer_builders():
            'factory' : ClangBuilder.getClangCMakeBuildFactory(
                         jobs=2,
                         clean=False,
+                        checkout_lld=False,
                         useTwoStage=True,
                         testStage1=False,
                         env={'PATH':'/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
@@ -782,6 +805,7 @@ def _get_sanitizer_builders():
                       jobs=8,
                       clean=False,
                       checkout_compiler_rt=True,
+                      checkout_lld=False,
                       test=True,
                       useTwoStage=True,
                       testStage1=False,
@@ -801,6 +825,7 @@ def _get_sanitizer_builders():
                       jobs=8,
                       clean=False,
                       checkout_compiler_rt=True,
+                      checkout_lld=False,
                       test=True,
                       useTwoStage=False,
                       runTestSuite=False,
@@ -818,6 +843,7 @@ def _get_sanitizer_builders():
                       jobs=8,
                       clean=False,
                       checkout_compiler_rt=True,
+                      checkout_lld=False,
                       test=True,
                       useTwoStage=False,
                       runTestSuite=False,
@@ -834,6 +860,7 @@ def _get_sanitizer_builders():
            'factory' : ClangBuilder.getClangCMakeBuildFactory(
                         jobs=4,
                         clean=True,
+                        checkout_lld=False,
                         useTwoStage=True,
                         testStage1=True,
                         extra_cmake_args=["-DLLVM_TARGETS_TO_BUILD='ARM;AArch64'"])},
@@ -851,6 +878,7 @@ def _get_sanitizer_builders():
            'factory' : ClangBuilder.getClangCMakeGCSBuildFactory(
                            clean=False,
                            checkout_compiler_rt=True,
+                           checkout_lld=False,
                            extra_cmake_args=["-DLLVM_HOST_TRIPLE=mips-unknown-linux-gnu",
                                              "-DLLVM_DEFAULT_TARGET_TRIPLE=mips-unknown-linux-gnu",
                                              "-DLLVM_TARGET_ARCH=Mips"],
@@ -869,6 +897,7 @@ def _get_sanitizer_builders():
            'factory' : ClangBuilder.getClangCMakeGCSBuildFactory(
                            clean=False,
                            checkout_compiler_rt=True,
+                           checkout_lld=False,
                            extra_cmake_args=["-DLLVM_HOST_TRIPLE=mipsel-unknown-linux-gnu",
                                              "-DLLVM_DEFAULT_TARGET_TRIPLE=mipsel-unknown-linux-gnu",
                                              "-DLLVM_TARGET_ARCH=Mips"],
@@ -1096,6 +1125,7 @@ def _get_experimental_scheduled_builders
          'slavenames' : ["bpf-build-slave01"],
          'builddir' : "clang-bpf-build",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(useTwoStage=False,
+                                                            checkout_lld=False,
                                                             clean=False,
                                                             test=True,
                                                             stage1_config='Release'),
@@ -1105,6 +1135,7 @@ def _get_experimental_scheduled_builders
          'slavenames' : ["cuda-build-test-01"],
          'builddir' : "clang-cuda-build",
          'factory' : ClangBuilder.getClangCMakeBuildFactory(
+                     checkout_lld=False,
                      useTwoStage=False,
                      clean=False,
                      test=True,

Modified: zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=287498&r1=287497&r2=287498&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/ClangBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/ClangBuilder.py Sun Nov 20 10:14:35 2016
@@ -338,7 +338,8 @@ def getClangBuildFactory(
 def addSVNUpdateSteps(f,
                       checkout_clang_tools_extra,
                       checkout_compiler_rt,
-                      checkout_test_suite):
+                      checkout_test_suite,
+                      checkout_lld):
     # We *must* checkout at least Clang+LLVM
     f.addStep(SVN(name='svn-llvm',
                   mode='update', baseURL='http://llvm.org/svn/llvm-project/llvm/',
@@ -369,6 +370,11 @@ def addSVNUpdateSteps(f,
                       mode='update', baseURL='http://llvm.org/svn/llvm-project/test-suite/',
                       defaultBranch='trunk',
                       workdir='test/test-suite'))
+    if checkout_lld:
+        f.addStep(SVN(name='svn-lld',
+                      mode='update', baseURL='http://llvm.org/svn/llvm-project/lld/',
+                      defaultBranch='trunk',
+                      workdir='llvm/tools/lld'))
 
 def addGCSUploadSteps(f, package_name, install_prefix, gcs_directory, env,
                       gcs_url_property=None):
@@ -446,6 +452,7 @@ def getClangCMakeGCSBuildFactory(
             # Extra repositories
             checkout_clang_tools_extra=True,
             checkout_compiler_rt=True,
+            checkout_lld=True,
 
             # Upload artifacts to Google Cloud Storage (for the llvmbisect tool)
             stage1_upload_directory=None,
@@ -461,6 +468,7 @@ def getClangCMakeGCSBuildFactory(
                env=env, extra_cmake_args=extra_cmake_args,
                checkout_clang_tools_extra=checkout_clang_tools_extra,
                checkout_compiler_rt=checkout_compiler_rt,
+               checkout_lld=checkout_lld,
                stage1_upload_directory=stage1_upload_directory,
                trigger_after_stage1=trigger_after_stage1)
 
@@ -493,7 +501,8 @@ def getClangCMakeBuildFactory(
 
             # Extra repositories
             checkout_clang_tools_extra=True,
-            checkout_compiler_rt=True):
+            checkout_compiler_rt=True,
+            checkout_lld=True):
     return _getClangCMakeBuildFactory(
                clean=clean, test=test, cmake=cmake, jobs=jobs, vs=vs,
                vs_target_arch=vs_target_arch, useTwoStage=useTwoStage,
@@ -502,6 +511,7 @@ def getClangCMakeBuildFactory(
                nt_flags=nt_flags, submitURL=submitURL, testerName=testerName,
                env=env, extra_cmake_args=extra_cmake_args,
                checkout_clang_tools_extra=checkout_clang_tools_extra,
+               checkout_lld=checkout_lld,
                checkout_compiler_rt=checkout_compiler_rt)
 
 def _getClangCMakeBuildFactory(
@@ -534,6 +544,7 @@ def _getClangCMakeBuildFactory(
             # Extra repositories
             checkout_clang_tools_extra=True,
             checkout_compiler_rt=True,
+            checkout_lld=True,
 
             # Upload artifacts to Google Cloud Storage (for the llvmbisect tool)
             stage1_upload_directory=None,
@@ -547,6 +558,7 @@ def _getClangCMakeBuildFactory(
     addSVNUpdateSteps(f,
                       checkout_clang_tools_extra=checkout_clang_tools_extra,
                       checkout_compiler_rt=checkout_compiler_rt,
+                      checkout_lld=checkout_lld,
                       checkout_test_suite=runTestSuite)
 
     # If jobs not defined, Ninja will choose a suitable value




More information about the llvm-commits mailing list