[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