initial support of mlir

This commit is contained in:
Sylvestre Ledru 2019-04-04 16:59:58 +02:00
parent d890282f14
commit 65dff285b4
8 changed files with 72 additions and 5 deletions

13
debian/changelog vendored
View File

@ -1,9 +1,20 @@
llvm-toolchain-snapshot (1:9~svn357689-1~exp1) experimental; urgency=medium
* New snapshot release
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 04 Apr 2019 14:55:35 +0200
llvm-toolchain-snapshot (1:9~svn357673-1~exp1) experimental; urgency=medium
* New snapshot release
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 04 Apr 2019 08:28:34 +0200
llvm-toolchain-snapshot (1:9~svn356321-1~exp1) experimental; urgency=medium llvm-toolchain-snapshot (1:9~svn356321-1~exp1) experimental; urgency=medium
* New snapshot release * New snapshot release
* Remove libc++fs.a (done upstream) * Remove libc++fs.a (done upstream)
* add clang-doc in clang-tools * add clang-doc in clang-tools
* python2.7/site-packages/readline.so removed from liblldb
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 16 Mar 2019 11:57:35 +0100 -- Sylvestre Ledru <sylvestre@debian.org> Sat, 16 Mar 2019 11:57:35 +0100

17
debian/control vendored
View File

@ -606,3 +606,20 @@ Description: LLVM low level support for a standard C++ library (development file
. .
* Correctness as defined by the C++ standards. * Correctness as defined by the C++ standards.
* Provide a portable sublayer to ease the porting of libc++ * 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.

View File

@ -1,2 +1,2 @@
usr/lib/llvm-7/lib/liblldb-7.so.1 /usr/lib/i386-kfreebsd-gnu/ 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

View File

@ -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/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.* usr/lib/llvm-@LLVM_VERSION@/lib/liblldbIntelFeatures.so.*

View File

@ -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

8
debian/orig-tar.sh vendored
View File

@ -9,6 +9,7 @@
# llvm-toolchain-snapshot-3.2_3.2repack.orig-openmp.tar.bz2 # 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-libcxx.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-libcxxabi.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 # llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2
set -e set -e
@ -193,6 +194,13 @@ rm -rf $OPENMP_TARGET/www/
tar jcf $FULL_VERSION.orig-openmp.tar.bz2 $OPENMP_TARGET tar jcf $FULL_VERSION.orig-openmp.tar.bz2 $OPENMP_TARGET
rm -rf $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
LIBCXX_TARGET=libcxx_$VERSION LIBCXX_TARGET=libcxx_$VERSION
checkout_sources libcxx $(get_svn_url libcxx $BRANCH $TAG) $LIBCXX_TARGET "$BRANCH" $REVISION checkout_sources libcxx $(get_svn_url libcxx $BRANCH $TAG) $LIBCXX_TARGET "$BRANCH" $REVISION

14
debian/rules vendored
View File

@ -304,6 +304,13 @@ override_dh_auto_configure: preconfigure
ln -s ../compiler-rt .; \ ln -s ../compiler-rt .; \
readlink 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 \ if test "$(OPENMP_ENABLE)" = yes; then \
cd projects/ && \ cd projects/ && \
if test -h openmp; then \ if test -h openmp; then \
@ -727,7 +734,9 @@ override_dh_install:
ifeq (${POLLY_ENABLE},yes) ifeq (${POLLY_ENABLE},yes)
# only for arch:any builds # only for arch:any builds
ifneq (,$(filter libclang-common-$(LLVM_VERSION)-dev, $(shell dh_listpackages))) 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 # On old Debian & Ubuntu, removing the files is necessary
rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake
else else
@ -780,6 +789,9 @@ endif
# Libcxxabi # Libcxxabi
$(MAKE) $(MAKE) -C libcxxabi/build check-libcxxabi || true $(MAKE) $(MAKE) -C libcxxabi/build check-libcxxabi || true
# MLIR
$(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-mlir || true
# LLDB tests # LLDB tests
ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel)) ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel))
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))

3
debian/unpack.sh vendored
View File

@ -9,7 +9,7 @@ LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION.orig.tar.bz2
echo "unpack of $LLVM_ARCHIVE" echo "unpack of $LLVM_ARCHIVE"
tar jxf $LLVM_ARCHIVE tar jxf $LLVM_ARCHIVE
cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~$VERSION/ || ( echo "Bad SVN_REV:\"$SVN_REV\"" && exit 1 ) 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" echo "Unpack of $f"
tar jxf $f tar jxf $f
done done
@ -23,6 +23,7 @@ ln -s lld_$MAJOR_VERSION~$VERSION lld
ln -s openmp_$MAJOR_VERSION~$VERSION openmp ln -s openmp_$MAJOR_VERSION~$VERSION openmp
ln -s libcxx_$MAJOR_VERSION~$VERSION libcxx ln -s libcxx_$MAJOR_VERSION~$VERSION libcxx
ln -s libcxxabi_$MAJOR_VERSION~$VERSION libcxxabi ln -s libcxxabi_$MAJOR_VERSION~$VERSION libcxxabi
ln -s mlir_$MAJOR_VERSION~$VERSION mlir
cp -R ../snapshot/debian . cp -R ../snapshot/debian .
QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0 QUILT_PATCHES=debian/patches/ quilt push -a --fuzz=0