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
* 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 <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.
* 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/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/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.*

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

14
debian/rules vendored
View File

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

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