[PATCH] D71040: [ThinLTO/WPD] Fix index-based WPD for alias vtables
Alexandre Ganea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 12 20:22:56 PST 2019
aganea added a comment.
I was able to successfully create an ThinLTO-built clang.exe with this patch. However when compiling with assertions on, I'm still getting this:
Assertion failed: P.VTableVI.getSummaryList().size() == 1 || llvm::count_if( P.VTableVI.getSummaryList(), [&](const std::unique_ptr<GlobalValueSummary> &Summary) { return GlobalValue::isExternalLinkage(Summary->linkage()); }) <= 1, file D:\llvm-project\llvm\lib\Transforms\IPO\WholeProgramDevirt.cpp, line 852
I simply built a 2-stage clang with the following cmd-line:
stage 1: cmake -GNinja ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PROJECTS="clang;lld;llvm" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DLLVM_ENABLE_LLD=true -DLLVM_ENABLE_PDB=ON
stage 2: cmake -GNinja ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PROJECTS="clang;lld;llvm" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_C_COMPILER="../stage1/bin/clang-cl.exe" -DCMAKE_CXX_COMPILER="../stage1/bin/clang-cl.exe" -DCMAKE_LINKER="../stage1/bin/lld-link.exe" -DLLVM_ENABLE_LLD=true -DLLVM_ENABLE_PDB=ON -DLLVM_USE_CRT_RELEASE=MT -DCMAKE_CXX_FLAGS="-march=skylake-avx512 /GS- -Xclang -O3 -Xclang -fwhole-program-vtables -fstrict-aliasing" -DCMAKE_C_FLAGS="-march=skylake-avx512 /GS- -Xclang -O3 -Xclang -fwhole-program-vtables -fstrict-aliasing" -DLLVM_ENABLE_LTO=THIN -DLLVM_PARALLEL_LINK_JOBS=10
Let me know if you need more info.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71040/new/
https://reviews.llvm.org/D71040
More information about the llvm-commits
mailing list