[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