[llvm] [AArch64][MachineCombiner] Reassociate long chains of accumulation instructions into a tree to increase ILP (PR #126060)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 23 04:41:41 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-nvptx-nvidia-win` running on `as-builder-8` while building `llvm` at step 6 "build-unified-tree".

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

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

```
Step 6 (build-unified-tree) failure: build (failure)
...
[1839/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\CriticalAntiDepBreaker.cpp.obj
[1840/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineLoopInfo.cpp.obj
[1841/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\AggressiveAntiDepBreaker.cpp.obj
[1842/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineCombiner.cpp.obj
[1843/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineCSE.cpp.obj
[1844/2711] Building CXX object lib\Target\X86\CMakeFiles\LLVMX86CodeGen.dir\X86ShuffleDecodeConstantPool.cpp.obj
[1845/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\Analysis.cpp.obj
[1846/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MacroFusion.cpp.obj
[1847/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineOperand.cpp.obj
[1848/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\TargetInstrInfo.cpp.obj
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.obj 
C:\ninja\ccache.exe C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe  /nologo /TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\build\lib\CodeGen -IC:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\lib\CodeGen -IC:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\build\include -IC:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2  -MD  /EHs-c- /GR- -UNDEBUG -std:c++17 /showIncludes /Folib\CodeGen\CMakeFiles\LLVMCodeGen.dir\TargetInstrInfo.cpp.obj /Fdlib\CodeGen\CMakeFiles\LLVMCodeGen.dir\LLVMCodeGen.pdb /FS -c C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\lib\CodeGen\TargetInstrInfo.cpp
C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\lib\CodeGen\TargetInstrInfo.cpp(1513): error C2664: 'void llvm::TargetInstrInfo::reduceAccumulatorTree(llvm::SmallVectorImpl<llvm::Register> &,llvm::SmallVectorImpl<llvm::MachineInstr *> &,llvm::MachineFunction &,llvm::MachineInstr &,llvm::MachineRegisterInfo &,llvm::DenseMap<unsigned int,unsigned int,llvm::DenseMapInfo<unsigned int,void>,llvm::detail::DenseMapPair<KeyT,ValueT>> &,llvm::Register) const': cannot convert argument 6 from 'llvm::DenseMap<llvm::Register,unsigned int,llvm::DenseMapInfo<llvm::Register,void>,llvm::detail::DenseMapPair<KeyT,ValueT>>' to 'llvm::DenseMap<unsigned int,unsigned int,llvm::DenseMapInfo<unsigned int,void>,llvm::detail::DenseMapPair<KeyT,ValueT>> &'
        with
        [
            KeyT=unsigned int,
            ValueT=unsigned int
        ]
        and
        [
            KeyT=llvm::Register,
            ValueT=unsigned int
        ]
        and
        [
            KeyT=unsigned int,
            ValueT=unsigned int
        ]
C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\lib\CodeGen\TargetInstrInfo.cpp(1017): note: see declaration of 'llvm::TargetInstrInfo::reduceAccumulatorTree'
C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\lib\CodeGen\TargetInstrInfo.cpp(1513): note: while trying to match the argument list '(llvm::SmallVector<ValueT,8>, llvm::SmallVectorImpl<llvm::MachineInstr *>, llvm::MachineFunction, llvm::MachineInstr, llvm::MachineRegisterInfo, llvm::DenseMap<llvm::Register,unsigned int,llvm::DenseMapInfo<llvm::Register,void>,llvm::detail::DenseMapPair<KeyT,ValueT>>, llvm::Register)'
        with
        [
            ValueT=llvm::Register
        ]
        and
        [
            KeyT=llvm::Register,
            ValueT=unsigned int
        ]
[1849/2711] Building CXX object lib\Target\X86\CMakeFiles\LLVMX86CodeGen.dir\X86TargetObjectFile.cpp.obj
[1850/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\GCRootLowering.cpp.obj
[1851/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\IfConversion.cpp.obj
[1852/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineCycleAnalysis.cpp.obj
[1853/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineFunctionSplitter.cpp.obj
[1854/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\MachineCopyPropagation.cpp.obj
[1855/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\LiveDebugVariables.cpp.obj
[1856/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\ReachingDefAnalysis.cpp.obj
[1857/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\PseudoProbeInserter.cpp.obj
[1858/2711] Building CXX object lib\CodeGen\CMakeFiles\LLVMCodeGen.dir\InlineSpiller.cpp.obj

```

</details>

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


More information about the llvm-commits mailing list