[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:29:08 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `amdgpu-offload-rhel-8-cmake-build-only` running on `rocm-docker-rhel-8` while building `llvm` at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/204/builds/4331
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[2096/7701] Building CXX object lib/Frontend/Atomic/CMakeFiles/LLVMFrontendAtomic.dir/Atomic.cpp.o
[2097/7701] Building CXX object lib/DWARFLinker/Parallel/CMakeFiles/LLVMDWARFLinkerParallel.dir/DWARFLinkerImpl.cpp.o
[2098/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPContext.cpp.o
[2099/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMP.cpp.o
[2100/7701] Building CXX object lib/Frontend/Driver/CMakeFiles/LLVMFrontendDriver.dir/CodeGenOptions.cpp.o
[2101/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPIRBuilder.cpp.o
[2102/7701] Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/OffloadWrapper.cpp.o
[2103/7701] Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/Utility.cpp.o
[2104/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AddDiscriminators.cpp.o
[2105/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib/CodeGen -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/include -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o -c /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp
In file included from /usr/include/c++/8/cassert:44,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:64,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Support/PGOOptions.h:17,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Target/TargetMachine.h:24,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:38:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp: In member function ‘virtual void llvm::TargetInstrInfo::genAlternativeCodeSequence(llvm::MachineInstr&, unsigned int, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::DenseMap<llvm::Register, unsigned int>&) const’:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1487:46: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
assert(IndexedReg.index() - MaxWidth >= 0);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1514:75: error: no matching function for call to ‘llvm::TargetInstrInfo::reduceAccumulatorTree(llvm::SmallVector<llvm::Register, 8>&, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::MachineFunction&, llvm::MachineInstr&, llvm::MachineRegisterInfo&, llvm::DenseMap<llvm::Register, unsigned int>&, llvm::Register) const’
InstIdxForVirtReg, Root.getOperand(0).getReg());
^
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1017:6: note: candidate: ‘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::Register) const’
void TargetInstrInfo::reduceAccumulatorTree(
^~~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1017:6: note: no known conversion for argument 6 from ‘llvm::DenseMap<llvm::Register, unsigned int>’ to ‘llvm::DenseMap<unsigned int, unsigned int>&’
[2106/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AMDGPUEmitPrintf.cpp.o
[2107/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AssumeBundleBuilder.cpp.o
[2108/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ASanStackFrameLayout.cpp.o
[2109/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BasicBlockUtils.cpp.o
[2110/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BreakCriticalEdges.cpp.o
[2111/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VirtRegMap.cpp.o
[2112/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAGInstrs.cpp.o
[2113/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TailDuplicator.cpp.o
[2114/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SplitKit.cpp.o
[2115/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VLIWMachineScheduler.cpp.o
[2116/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGVLIW.cpp.o
[2117/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TwoAddressInstructionPass.cpp.o
[2118/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ResourcePriorityQueue.cpp.o
[2119/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGFast.cpp.o
[2120/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WindowScheduler.cpp.o
[2121/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FunctionLoweringInfo.cpp.o
[2122/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGSDNodes.cpp.o
[2123/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGRRList.cpp.o
[2124/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/InstrEmitter.cpp.o
[2125/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGDumper.cpp.o
[2126/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FastISel.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[2096/7701] Building CXX object lib/Frontend/Atomic/CMakeFiles/LLVMFrontendAtomic.dir/Atomic.cpp.o
[2097/7701] Building CXX object lib/DWARFLinker/Parallel/CMakeFiles/LLVMDWARFLinkerParallel.dir/DWARFLinkerImpl.cpp.o
[2098/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPContext.cpp.o
[2099/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMP.cpp.o
[2100/7701] Building CXX object lib/Frontend/Driver/CMakeFiles/LLVMFrontendDriver.dir/CodeGenOptions.cpp.o
[2101/7701] Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPIRBuilder.cpp.o
[2102/7701] Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/OffloadWrapper.cpp.o
[2103/7701] Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/Utility.cpp.o
[2104/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AddDiscriminators.cpp.o
[2105/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib/CodeGen -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/include -I/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o -c /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp
In file included from /usr/include/c++/8/cassert:44,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:64,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Support/PGOOptions.h:17,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Target/TargetMachine.h:24,
from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:38:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp: In member function ‘virtual void llvm::TargetInstrInfo::genAlternativeCodeSequence(llvm::MachineInstr&, unsigned int, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::DenseMap<llvm::Register, unsigned int>&) const’:
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1487:46: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
assert(IndexedReg.index() - MaxWidth >= 0);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1514:75: error: no matching function for call to ‘llvm::TargetInstrInfo::reduceAccumulatorTree(llvm::SmallVector<llvm::Register, 8>&, llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::MachineFunction&, llvm::MachineInstr&, llvm::MachineRegisterInfo&, llvm::DenseMap<llvm::Register, unsigned int>&, llvm::Register) const’
InstIdxForVirtReg, Root.getOperand(0).getReg());
^
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1017:6: note: candidate: ‘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::Register) const’
void TargetInstrInfo::reduceAccumulatorTree(
^~~~~~~~~~~~~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1017:6: note: no known conversion for argument 6 from ‘llvm::DenseMap<llvm::Register, unsigned int>’ to ‘llvm::DenseMap<unsigned int, unsigned int>&’
[2106/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AMDGPUEmitPrintf.cpp.o
[2107/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AssumeBundleBuilder.cpp.o
[2108/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ASanStackFrameLayout.cpp.o
[2109/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BasicBlockUtils.cpp.o
[2110/7701] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BreakCriticalEdges.cpp.o
[2111/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VirtRegMap.cpp.o
[2112/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAGInstrs.cpp.o
[2113/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TailDuplicator.cpp.o
[2114/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SplitKit.cpp.o
[2115/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VLIWMachineScheduler.cpp.o
[2116/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGVLIW.cpp.o
[2117/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TwoAddressInstructionPass.cpp.o
[2118/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ResourcePriorityQueue.cpp.o
[2119/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGFast.cpp.o
[2120/7701] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WindowScheduler.cpp.o
[2121/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FunctionLoweringInfo.cpp.o
[2122/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGSDNodes.cpp.o
[2123/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGRRList.cpp.o
[2124/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/InstrEmitter.cpp.o
[2125/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGDumper.cpp.o
[2126/7701] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FastISel.cpp.o
```
</details>
https://github.com/llvm/llvm-project/pull/126060
More information about the llvm-commits
mailing list