[zorg] r291687 - [zorg] Add Polly builder for ARM target
Weiming Zhao via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 11 10:27:44 PST 2017
Author: weimingz
Date: Wed Jan 11 12:27:44 2017
New Revision: 291687
URL: http://llvm.org/viewvc/llvm-project?rev=291687&view=rev
Log:
[zorg] Add Polly builder for ARM target
Reviewers: gkistanova, zinob, efriedma, fpetrogalli, kristof.beyls, grosser
Subscribers: aemerson, rengolin, llvm-commits
Differential Revision: https://reviews.llvm.org/D28493
Modified:
zorg/trunk/buildbot/osuosl/master/config/builders.py
zorg/trunk/buildbot/osuosl/master/config/status.py
zorg/trunk/zorg/buildbot/builders/PollyBuilder.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=291687&r1=291686&r2=291687&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Wed Jan 11 12:27:44 2017
@@ -644,7 +644,24 @@ def _get_polly_builders():
reportBuildslave=False,
package_cache="http://parkas1.inria.fr/packages",
submitURL=['http://gcc12.fsffrance.org:8808/submitRun','http://llvm.org/perf/submitRun'],
- testerName='x86_64-penryn-O3-polly-before-vectorizer-detect-only')}
+ testerName='x86_64-penryn-O3-polly-before-vectorizer-detect-only')},
+
+ {'name': "polly-arm-linux",
+ 'slavenames': ["hexagon-build-02", "hexagon-build-03"],
+ 'builddir': "polly-arm-linux",
+ 'factory': PollyBuilder.getPollyBuildFactory(
+ clean=True,
+ install=True,
+ make='ninja',
+ jobs=16,
+ checkFormat=False,
+ extraCmakeArgs=["-G", "Ninja",
+ "-DLLVM_TARGETS_TO_BUILD='ARM;AArch64'",
+ "-DLLVM_DEFAULT_TARGET_TRIPLE=arm-linux-gnueabi",
+ "-DLLVM_TARGET_ARCH=arm-linux-gnueabi",
+ "-DLLVM_ENABLE_ASSERTIONS=True",
+ "-DCMAKE_C_COMPILER:FILEPATH=/local/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang",
+ "-DCMAKE_CXX_COMPILER:FILEPATH=/local/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang++"])}
]
# LLDB builders.
Modified: zorg/trunk/buildbot/osuosl/master/config/status.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/status.py?rev=291687&r1=291686&r2=291687&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/status.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/status.py Wed Jan 11 12:27:44 2017
@@ -168,4 +168,13 @@ def get_status_targets(standard_builders
"llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast",
"clang-with-lto-ubuntu"],
addLogs=False),
+ InformativeMailNotifier(
+ fromaddr = "llvm.buildmaster at lab.llvm.org",
+ sendToInterestedUsers= False,
+ extraRecipients = ["efriedma at codeaurora.org"],
+ subject="Build %(builder)s Failure",
+ mode = "failing",
+ builders = ["polly-arm-linux"],
+ addLogs=False,
+ num_lines = 15),
]
Modified: zorg/trunk/zorg/buildbot/builders/PollyBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/PollyBuilder.py?rev=291687&r1=291686&r2=291687&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/PollyBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/PollyBuilder.py Wed Jan 11 12:27:44 2017
@@ -9,11 +9,28 @@ from buildbot.process.properties import
from zorg.buildbot.builders import LNTBuilder
from zorg.buildbot.builders import ClangBuilder
-def getPollyBuildFactory():
+def getPollyBuildFactory(
+ clean=False,
+ install=False,
+ make='make',
+ jobs=None,
+ checkFormat=True,
+ extraCmakeArgs=[]):
llvm_srcdir = "llvm.src"
llvm_objdir = "llvm.obj"
+ llvm_instdir = "llvm.inst"
polly_srcdir = '%s/tools/polly' % llvm_srcdir
clang_srcdir = '%s/tools/clang' % llvm_srcdir
+ jobs_cmd = []
+ if jobs is not None:
+ jobs_cmd = ["-j"+str(jobs)]
+ build_cmd = [make] + jobs_cmd
+ install_cmd = [make, 'install'] + jobs_cmd
+ check_cmd = [make, 'check-polly'] + jobs_cmd
+ check_format_cmd = [make, 'polly-check-format'] + jobs_cmd
+ cmake_install = []
+ if install:
+ cmake_install = ["-DCMAKE_INSTALL_PREFIX=../%s" % llvm_instdir]
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
@@ -22,7 +39,7 @@ def getPollyBuildFactory():
property="builddir",
description="set build dir",
workdir="."))
- # Get LLVM, clang and Polly
+ # Get LLVM, Clang and Polly
f.addStep(SVN(name='svn-llvm',
mode='update',
baseURL='http://llvm.org/svn/llvm-project/llvm/',
@@ -39,38 +56,66 @@ def getPollyBuildFactory():
defaultBranch='trunk',
workdir=polly_srcdir))
+ # Clean build dir
+ if clean:
+ f.addStep(ShellCommand(name='clean-build-dir',
+ command=['rm', '-rf', llvm_objdir],
+ warnOnFailure=True,
+ description=["clean build dir"],
+ workdir='.'))
+
# Create configuration files with cmake
f.addStep(ShellCommand(name="create-build-dir",
- command=["mkdir", "-p", llvm_objdir],
- haltOnFailure=False,
- description=["create build dir"],
- workdir="."))
+ command=["mkdir", "-p", llvm_objdir],
+ haltOnFailure=False,
+ description=["create build dir"],
+ workdir="."))
cmakeCommand = ["cmake", "../%s" %llvm_srcdir,
- "-DCMAKE_COLOR_MAKEFILE=OFF", "-DPOLLY_TEST_DISABLE_BAR=ON",
- "-DCMAKE_BUILD_TYPE=Release"]
-
+ "-DCMAKE_COLOR_MAKEFILE=OFF",
+ "-DPOLLY_TEST_DISABLE_BAR=ON",
+ "-DCMAKE_BUILD_TYPE=Release"] + cmake_install + extraCmakeArgs
f.addStep(ShellCommand(name="cmake-configure",
- command=cmakeCommand,
+ command=cmakeCommand,
+ haltOnFailure=False,
+ description=["cmake configure"],
+ workdir=llvm_objdir))
+
+ # Build
+ f.addStep(ShellCommand(name="build",
+ command=build_cmd,
+ haltOnFailure=True,
+ description=["build"],
+ workdir=llvm_objdir))
+
+ # Clean install dir
+ if install and clean:
+ f.addStep(ShellCommand(name='clean-install-dir',
+ command=['rm', '-rf', llvm_instdir],
haltOnFailure=False,
- description=["cmake configure"],
- workdir=llvm_objdir))
- # Build Polly
- f.addStep(ShellCommand(name="build_polly",
- command=["make"],
- haltOnFailure=True,
- description=["build polly"],
+ description=["clean install dir"],
+ workdir='.'))
+
+ # Install
+ if install:
+ f.addStep(ShellCommand(name="install",
+ command=install_cmd,
+ haltOnFailure=False,
+ description=["install"],
workdir=llvm_objdir))
+
# Test Polly
f.addStep(ShellCommand(name="test_polly",
- command=["make", "polly-test"],
- haltOnFailure=True,
- description=["test polly"],
- workdir=llvm_objdir))
+ command=check_cmd,
+ haltOnFailure=True,
+ description=["test polly"],
+ workdir=llvm_objdir))
+
# Check formatting
- f.addStep(ShellCommand(name="test_polly_format",
- command=["make", "polly-check-format"],
+ if checkFormat:
+ f.addStep(ShellCommand(name="test_polly_format",
+ command=check_format_cmd,
haltOnFailure=False,
- description=["Check formatting"],
+ description=["check formatting"],
workdir=llvm_objdir))
return f
More information about the llvm-commits
mailing list