cmu-db / peloton

The Self-Driving Database Management System
http://pelotondb.io
Apache License 2.0
2.03k stars 623 forks source link

LLVM 5.0 and 6.0 compatibility #1389

Closed mbutrovich closed 6 years ago

mbutrovich commented 6 years ago

Addresses #1318. Note that these are only compatibility changes. This PR does not change toolchain packages or build settings. We’ll discuss those in the future and make LLVM version changes in a separate PR.

These changes simply let us change the LLVM version in the future and are backwards compatible with the current 3.7-based toolchain. Tested configurations:

Ubuntu 16.04 (dev5): LLVM 3.7 (fails, but expected due to bad CPU support, master fails too) LLVM 5.0 (passes make check, Debug, ASAN on) LLVM 6.0 (passes make check, Debug, ASAN on)

Ubuntu 16.04 (VM): LLVM 3.7 (passes make check, Debug, ASAN on)

Ubuntu 18.04 (VM): LLVM 6.0 (passes make check, Debug, ASAN on)

macOS: LLVM 3.7 (passes make check, Debug, ASAN on) LLVM 6.0 (passes make check, Debug, ASAN on)

Code modifications based on: http://lists.llvm.org/pipermail/llvm-dev/2015-August/089706.html https://reviews.llvm.org/rL298010 https://stackoverflow.com/questions/46367910/llvm-5-0-linking-error-with-llvmmoduledump

We'll need to discuss what we want the minimum version to be going forward (CMake, packages.sh) once these code changes go in.

coveralls commented 6 years ago

Coverage Status

Coverage decreased (-0.04%) to 77.357% when pulling c8dfd330830873c97688cc855de7f2612c0a9327 on mbutrovich:llvm6 into 3d66d13901028ae4eec543488c692175c8dba65b on cmu-db:master.

apavlo commented 6 years ago

Let's merge this next.