[llvm] [NFC] Switch a number of DenseMaps to SmallDenseMaps for speedup (PR #109417)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 25 06:28:57 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `ml-opt-rel-x86-64` running on `ml-opt-rel-x86-64-b1` while building `llvm` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/185/builds/5854

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
...
4.772 [3/22/685] Building CXX object unittests/tools/llvm-mca/CMakeFiles/LLVMMCATests.dir/X86/TestIncrementalMCA.cpp.o
4.785 [3/21/686] Building CXX object unittests/tools/llvm-mca/CMakeFiles/LLVMMCATests.dir/X86/X86TestBase.cpp.o
4.887 [2/21/687] Linking CXX executable unittests/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerTests
4.888 [2/20/688] Linking CXX executable unittests/tools/llvm-profgen/LLVMProfgenTests
4.966 [2/19/689] Linking CXX executable unittests/Target/RISCV/RISCVTests
4.968 [2/18/690] Linking CXX executable unittests/Passes/Plugins/PluginsTests
5.016 [2/17/691] Linking CXX executable unittests/tools/llvm-profdata/LLVMProfdataTests
5.062 [2/16/692] Linking CXX executable unittests/Transforms/Vectorize/VectorizeTests
5.105 [2/15/693] Linking CXX executable unittests/ExecutionEngine/MCJIT/MCJITTests
5.211 [2/14/694] Building CXX object unittests/Analysis/CMakeFiles/AnalysisTests.dir/SparsePropagation.cpp.o
FAILED: unittests/Analysis/CMakeFiles/AnalysisTests.dir/SparsePropagation.cpp.o 
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/ml-opt-rel-x86-64-b1/build/unittests/Analysis -I/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis -I/var/lib/buildbot/.local/lib/python3.7/site-packages/tensorflow/include -I/b/ml-opt-rel-x86-64-b1/build/include -I/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include -I/b/ml-opt-rel-x86-64-b1/llvm-project/third-party/unittest/googletest/include -I/b/ml-opt-rel-x86-64-b1/llvm-project/third-party/unittest/googlemock/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wno-variadic-macros -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -Wno-suggest-override -std=c++17 -MD -MT unittests/Analysis/CMakeFiles/AnalysisTests.dir/SparsePropagation.cpp.o -MF unittests/Analysis/CMakeFiles/AnalysisTests.dir/SparsePropagation.cpp.o.d -o unittests/Analysis/CMakeFiles/AnalysisTests.dir/SparsePropagation.cpp.o -c /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis/SparsePropagation.cpp
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis/SparsePropagation.cpp:141:8: error: ‘void {anonymous}::TestLatticeFunc::ComputeInstructionState(llvm::Instruction&, llvm::DenseMap<llvm::PointerIntPair<llvm::Value*, 2, {anonymous}::IPOGrouping>, {anonymous}::TestLatticeVal>&, llvm::SparseSolver<llvm::PointerIntPair<llvm::Value*, 2, {anonymous}::IPOGrouping>, {anonymous}::TestLatticeVal, llvm::LatticeKeyInfo<llvm::PointerIntPair<llvm::Value*, 2, {anonymous}::IPOGrouping> > >&)’ marked ‘override’, but does not override
  141 |   void ComputeInstructionState(
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis/SparsePropagation.cpp:230:19: error: cannot declare field ‘{anonymous}::SparsePropagationTest::Lattice’ to be of abstract type ‘{anonymous}::TestLatticeFunc’
  230 |   TestLatticeFunc Lattice;
      |                   ^~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis/SparsePropagation.cpp:98:7: note:   because the following virtual functions are pure within ‘{anonymous}::TestLatticeFunc’:
   98 | class TestLatticeFunc
      |       ^~~~~~~~~~~~~~~
In file included from /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/unittests/Analysis/SparsePropagation.cpp:9:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include/llvm/Analysis/SparsePropagation.h:90:16: note:     ‘void llvm::AbstractLatticeFunction<LatticeKey, LatticeVal>::ComputeInstructionState(llvm::Instruction&, llvm::SmallDenseMap<LatticeKey, LatticeVal, 16>&, llvm::SparseSolver<LatticeKey, LatticeVal>&) [with LatticeKey = llvm::PointerIntPair<llvm::Value*, 2, {anonymous}::IPOGrouping>; LatticeVal = {anonymous}::TestLatticeVal]’
   90 |   virtual void ComputeInstructionState(
      |                ^~~~~~~~~~~~~~~~~~~~~~~
5.523 [2/13/695] Linking CXX executable unittests/Target/AMDGPU/AMDGPUTests
5.529 [2/12/696] Linking CXX executable unittests/Target/X86/X86Tests
5.969 [2/11/697] Linking CXX executable unittests/tools/llvm-cfi-verify/CFIVerifyTests
6.000 [2/10/698] Linking CXX executable unittests/Transforms/Scalar/ScalarTests
6.146 [2/9/699] Linking CXX executable unittests/Transforms/Utils/UtilsTests
6.516 [2/8/700] Linking CXX executable unittests/CodeGen/CodeGenTests
6.574 [2/7/701] Linking CXX executable unittests/MIR/MIRTests
6.773 [2/6/702] Linking CXX executable unittests/tools/llvm-mca/LLVMMCATests
6.803 [2/5/703] Linking CXX executable unittests/CodeGen/GlobalISel/GlobalISelTests
6.851 [2/4/704] Linking CXX executable unittests/DebugInfo/DWARF/DebugInfoDWARFTests
7.116 [2/3/705] Linking CXX executable unittests/Target/TargetMachineCTests
7.184 [2/2/706] Linking CXX executable unittests/MI/MITests
7.420 [2/1/707] Linking CXX executable unittests/tools/llvm-exegesis/LLVMExegesisTests
ninja: build stopped: subcommand failed.

```

</details>

https://github.com/llvm/llvm-project/pull/109417


More information about the llvm-commits mailing list