Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

upgrade pinned builds to clang 10 & boost 1.72 #8751

Merged
merged 3 commits into from
Apr 3, 2020
Merged

Conversation

spoonincode
Copy link
Contributor

Change Description

The state DB layout has changed in develop: any post-2.0 release will require users to migrate via a portable snapshot. Might as well take the opportunity to bump our pinned compiler environment.

Upgrade clang from 8.0 to 10.0. Upgrade Boost from 1.71.0 to 1.72.0. Non-optimized replay performance shows a marginal but measurable performance gain. It's nice to have the latest anyways, right?

Also took this opportunity to migrate our clang/llvm clone to the official GitHub monorepo.

This is being left as draft until clang 10.0 final is released, and documentation may need adjustment too.

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

@spoonincode
Copy link
Contributor Author

I had @emorybarlow run our automated benchmarking suite and it shows a 2% improvement.

@spoonincode spoonincode marked this pull request as ready for review March 25, 2020 02:35
# build clang10
RUN git clone --single-branch --branch llvmorg-10.0.0 https://github.com/llvm/llvm-project clang10 && \
mkdir /clang10/build && cd /clang10/build && \
cmake -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX='/usr/local' -DLLVM_ENABLE_PROJECTS='lld;polly;clang;clang-tools-extra;libcxx;libcxxabi;libunwind;compiler-rt' -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_INCLUDE_DOCS=OFF -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release ../llvm && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to build clang-tools-extra? Would speed up the build just a tad if we don't.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can try w/o it and see if it works. Originally I was just doing a 1:1 with what was already there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what we would need it for. But if it sped up the build time, it'd still be a small win. But judging off of the tests so far, it looks like building on Mac is having issues?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the builds were okay (mac issue was something fleet related). So we don't need it... but on the other hand I think the idea was this was a full featured toolchain. Probably okay to just keep it in for this PR as that's how it was previously. We can remove it in the future (even soon).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants