From 65dff285b401ba3477d0ef25f7cf27444517fddc Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Thu, 4 Apr 2019 16:59:58 +0200 Subject: [PATCH] initial support of mlir --- debian/changelog | 13 ++++++++++++- debian/control | 17 +++++++++++++++++ debian/liblldb-7.install.kfreebsd | 2 +- debian/liblldb-X.Y.install.in | 2 +- debian/libmlir-X.Y-dev.lintian-overrides.in | 18 ++++++++++++++++++ debian/orig-tar.sh | 8 ++++++++ debian/rules | 14 +++++++++++++- debian/unpack.sh | 3 ++- 8 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 debian/libmlir-X.Y-dev.lintian-overrides.in diff --git a/debian/changelog b/debian/changelog index 084b761c..136d41ba 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +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 - * python2.7/site-packages/readline.so removed from liblldb -- Sylvestre Ledru Sat, 16 Mar 2019 11:57:35 +0100 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/liblldb-7.install.kfreebsd b/debian/liblldb-7.install.kfreebsd index 231e7242..8ae5cf7b 100644 --- a/debian/liblldb-7.install.kfreebsd +++ b/debian/liblldb-7.install.kfreebsd @@ -1,2 +1,2 @@ usr/lib/llvm-7/lib/liblldb-7.so.1 /usr/lib/i386-kfreebsd-gnu/ -#usr/lib/llvm-7/lib/python2.7/site-packages/readline.so +usr/lib/llvm-7/lib/python2.7/site-packages/readline.so diff --git a/debian/liblldb-X.Y.install.in b/debian/liblldb-X.Y.install.in index c84bf430..73f1b98b 100644 --- a/debian/liblldb-X.Y.install.in +++ b/debian/liblldb-X.Y.install.in @@ -1,4 +1,4 @@ usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ -#usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/readline.so +usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/readline.so usr/lib/llvm-@LLVM_VERSION@/lib/liblldbIntelFeatures.so.* 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/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 f20cb71b..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-lld.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 @@ -23,6 +23,7 @@ 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