diff --git a/debian/TODO b/debian/TODO index bd5d2479..b0f378d5 100644 --- a/debian/TODO +++ b/debian/TODO @@ -1,3 +1,5 @@ +* package utils/creduce-clang-crash.py + * add the support of libclang in llvm default (for now, it is called libclang1-3.3.so) diff --git a/debian/changelog b/debian/changelog index a8066be2..136d41ba 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,20 @@ +llvm-toolchain-snapshot (1:9~svn357689-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 04 Apr 2019 14:55:35 +0200 + +llvm-toolchain-snapshot (1:9~svn357673-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 04 Apr 2019 08:28:34 +0200 + llvm-toolchain-snapshot (1:9~svn356321-1~exp1) experimental; urgency=medium * New snapshot release + * Remove libc++fs.a (done upstream) + * add clang-doc in clang-tools -- Sylvestre Ledru Sat, 16 Mar 2019 11:57:35 +0100 diff --git a/debian/clang-tools-X.Y.install.in b/debian/clang-tools-X.Y.install.in index a06d334b..c5c54e3f 100644 --- a/debian/clang-tools-X.Y.install.in +++ b/debian/clang-tools-X.Y.install.in @@ -26,6 +26,7 @@ usr/lib/llvm-@LLVM_VERSION@/bin/clang-refactor usr/lib/llvm-@LLVM_VERSION@/bin/diagtool usr/lib/llvm-@LLVM_VERSION@/bin/hmaptool usr/lib/llvm-@LLVM_VERSION@/bin/clang-extdef-mapping +usr/lib/llvm-@LLVM_VERSION@/bin/clang-doc tools/clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ tools/clang/tools/scan-build-py-@LLVM_VERSION@ usr/share/clang/ @@ -55,3 +56,4 @@ usr/bin/clang-refactor-@LLVM_VERSION@ usr/bin/diagtool-@LLVM_VERSION@ usr/bin/hmaptool-@LLVM_VERSION@ usr/bin/clang-extdef-mapping-@LLVM_VERSION@ +usr/bin/clang-doc-@LLVM_VERSION@ diff --git a/debian/control b/debian/control index 854bd5b0..79be767a 100644 --- a/debian/control +++ b/debian/control @@ -606,3 +606,20 @@ Description: LLVM low level support for a standard C++ library (development file . * Correctness as defined by the C++ standards. * Provide a portable sublayer to ease the porting of libc++ + +Package: libmlir-9-dev +Section: libdevel +Architecture: any +Multi-Arch: same +#Depends: libc++abi1-9 (= ${binary:Version}), ${misc:Depends} +#Breaks: libc++abi-dev (<= 44) +Provides: libmlir-x.y-dev +Conflicts: libmlir-x.y-dev +Replaces: libmlir-x.y-dev +Description: Multi-Level Intermediate Representation (development files) + The MLIR project aims to define a common intermediate representation (IR) that + will unify the infrastructure required to execute high performance machine + learning models in TensorFlow and similar ML frameworks. This project will + include the application of HPC techniques, along with integration of search + algorithms like reinforcement learning. This project aims to reduce the cost + to bring up new hardware, and improve usability for existing TensorFlow users. diff --git a/debian/libc++-X.Y-dev.install.in b/debian/libc++-X.Y-dev.install.in index d14e68c7..027e0b6a 100644 --- a/debian/libc++-X.Y-dev.install.in +++ b/debian/libc++-X.Y-dev.install.in @@ -1,5 +1,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a -usr/lib/llvm-@LLVM_VERSION@/lib/libc++fs.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a usr/lib/llvm-@LLVM_VERSION@/include/c++/ diff --git a/debian/libc++-X.Y-dev.lintian-overrides.in b/debian/libc++-X.Y-dev.lintian-overrides.in index f3a3487b..ea105924 100644 --- a/debian/libc++-X.Y-dev.lintian-overrides.in +++ b/debian/libc++-X.Y-dev.lintian-overrides.in @@ -1,3 +1,2 @@ libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a -libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++fs.a libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a diff --git a/debian/libmlir-X.Y-dev.lintian-overrides.in b/debian/libmlir-X.Y-dev.lintian-overrides.in new file mode 100644 index 00000000..2fb35ae2 --- /dev/null +++ b/debian/libmlir-X.Y-dev.lintian-overrides.in @@ -0,0 +1,18 @@ +# Not multiarch ready +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRAffineOps.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRAnalysis.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRDialect.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIREDSC.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRExecutionEngine.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRFxpMathOps.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRIR.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRLLVMIR.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRParser.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRPass.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRQuantization.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRStandardOps.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRSupport.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRTargetLLVMIR.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRTransforms.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRTranslation.a +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libMLIRVectorOps.a diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index f1b9ecef..7af5688e 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -9,6 +9,7 @@ # llvm-toolchain-snapshot-3.2_3.2repack.orig-openmp.tar.bz2 # llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxx.tar.bz2 # llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxxabi.tar.bz2 +# llvm-toolchain-snapshot-3.2_3.2repack.orig-mlir.tar.bz2 # llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2 set -e @@ -193,6 +194,13 @@ rm -rf $OPENMP_TARGET/www/ tar jcf $FULL_VERSION.orig-openmp.tar.bz2 $OPENMP_TARGET rm -rf $OPENMP_TARGET +# MLIR +MLIR_TARGET=mlir_$VERSION +git clone https://github.com/tensorflow/mlir.git $MLIR_TARGET +rm -rf $MLIR_TARGET/.git +tar jcf $FULL_VERSION.orig-mlir.tar.bz2 $MLIR_TARGET +rm -rf $MLIR_TARGET + # LIBCXX LIBCXX_TARGET=libcxx_$VERSION checkout_sources libcxx $(get_svn_url libcxx $BRANCH $TAG) $LIBCXX_TARGET "$BRANCH" $REVISION diff --git a/debian/patches/libcxx/libcxx-silent-failure-arm64.diff b/debian/patches/libcxx/libcxx-silent-failure-arm64.diff index f3b20636..bdf5878a 100644 --- a/debian/patches/libcxx/libcxx-silent-failure-arm64.diff +++ b/debian/patches/libcxx/libcxx-silent-failure-arm64.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +Index: llvm-toolchain-snapshot_9~svn357176/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_9~svn353687.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp -+++ llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +--- llvm-toolchain-snapshot_9~svn357176.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++++ llvm-toolchain-snapshot_9~svn357176/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// // @@ -10,14 +10,15 @@ Index: llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.conditi // FLAKY_TEST. -Index: llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +Index: llvm-toolchain-snapshot_9~svn357176/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp =================================================================== ---- llvm-toolchain-snapshot_9~svn353687.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -+++ llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp -@@ -8,6 +8,7 @@ +--- llvm-toolchain-snapshot_9~svn357176.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp ++++ llvm-toolchain-snapshot_9~svn357176/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +@@ -8,7 +8,7 @@ // // UNSUPPORTED: libcpp-has-no-threads // UNSUPPORTED: c++98, c++03, c++11 +-// XFAIL: dylib-has-no-shared_mutex +// XFAIL: * // FLAKY_TEST. diff --git a/debian/patches/lldb/lldb-link-atomic-cmake.patch b/debian/patches/lldb/lldb-link-atomic-cmake.patch index 0c514751..bddeab87 100644 --- a/debian/patches/lldb/lldb-link-atomic-cmake.patch +++ b/debian/patches/lldb/lldb-link-atomic-cmake.patch @@ -6,11 +6,11 @@ Last-Update: 2016-07-27 lldb/cmake/LLDBDependencies.cmake | 6 ++++++ 1 file changed, 6 insertions(+) -Index: llvm-toolchain-snapshot_9~svn351647/lldb/source/Utility/CMakeLists.txt +Index: llvm-toolchain-snapshot_9~svn357377/lldb/source/Utility/CMakeLists.txt =================================================================== ---- llvm-toolchain-snapshot_9~svn351647.orig/lldb/source/Utility/CMakeLists.txt -+++ llvm-toolchain-snapshot_9~svn351647/lldb/source/Utility/CMakeLists.txt -@@ -32,6 +32,14 @@ endif() +--- llvm-toolchain-snapshot_9~svn357377.orig/lldb/source/Utility/CMakeLists.txt ++++ llvm-toolchain-snapshot_9~svn357377/lldb/source/Utility/CMakeLists.txt +@@ -2,6 +2,13 @@ set(LLDB_SYSTEM_LIBS) list(APPEND LLDB_SYSTEM_LIBS ${system_libs}) @@ -21,7 +21,6 @@ Index: llvm-toolchain-snapshot_9~svn351647/lldb/source/Utility/CMakeLists.txt + list(APPEND LLDB_SYSTEM_LIBS atomic) +endif() + -+ - if (LLVM_BUILD_STATIC) - if (NOT LLDB_DISABLE_PYTHON) - list(APPEND LLDB_SYSTEM_LIBS python2.7 util) + if (CMAKE_SYSTEM_NAME MATCHES "Windows") + list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4) + endif () diff --git a/debian/rules b/debian/rules index 5cb533e7..058cc372 100755 --- a/debian/rules +++ b/debian/rules @@ -304,6 +304,13 @@ override_dh_auto_configure: preconfigure ln -s ../compiler-rt .; \ readlink compiler-rt + cd projects/ && \ + if test -h mlir; then \ + rm mlir; \ + fi; \ + ln -s ../mlir .; \ + readlink mlir + if test "$(OPENMP_ENABLE)" = yes; then \ cd projects/ && \ if test -h openmp; then \ @@ -727,7 +734,9 @@ override_dh_install: ifeq (${POLLY_ENABLE},yes) # only for arch:any builds ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages))) - dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly + if test ! -f debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/PollyConfig.cmake; then \ + dh_install -p libclang-common-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly; \ + fi # On old Debian & Ubuntu, removing the files is necessary rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake else @@ -780,6 +789,9 @@ endif # Libcxxabi $(MAKE) $(MAKE) -C libcxxabi/build check-libcxxabi || true +# MLIR + $(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-mlir || true + # LLDB tests ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel)) ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) diff --git a/debian/unpack.sh b/debian/unpack.sh index 1cbdc34e..b9ca3f2e 100644 --- a/debian/unpack.sh +++ b/debian/unpack.sh @@ -9,7 +9,7 @@ LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig.tar.bz2 echo "unpack of $LLVM_ARCHIVE" tar jxf $LLVM_ARCHIVE cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION/ || ( echo "Bad SVN_REV:\"$SVN_REV\"" && exit 1 ) -for f in ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-clang.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-clang-tools-extra.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-compiler-rt.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-lldb.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-polly.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-libcxxabi.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-libcxx.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-openmp.tar.bz2; do +for f in ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-clang.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-clang-tools-extra.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-compiler-rt.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-lldb.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-lld.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-polly.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-libcxxabi.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-libcxx.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-openmp.tar.bz2 ../llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig-mlir.tar.bz2; do echo "Unpack of $f" tar jxf $f done @@ -19,9 +19,11 @@ ln -s clang-tools-extra_$MAJOR_VERSION~$VERSION clang-tools-extra ln -s compiler-rt_$MAJOR_VERSION~$VERSION compiler-rt ln -s polly_$MAJOR_VERSION~$VERSION polly ln -s lldb_$MAJOR_VERSION~$VERSION lldb +ln -s lld_$MAJOR_VERSION~$VERSION lld ln -s openmp_$MAJOR_VERSION~$VERSION openmp ln -s libcxx_$MAJOR_VERSION~$VERSION libcxx ln -s libcxxabi_$MAJOR_VERSION~$VERSION libcxxabi +ln -s mlir_$MAJOR_VERSION~$VERSION mlir cp -R ../snapshot/debian . QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0