[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:42:00 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `lldb-remote-linux-ubuntu` running on `as-builder-9` while building `llvm` at step 7 "build-default".

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

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

```
Step 7 (build-default) failure: cmake (failure)
...
28.603 [1995/66/3219] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DirectIvarAssignment.cpp.o
28.918 [1994/66/3220] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VirtRegMap.cpp.o
28.968 [1993/66/3221] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ExpandImm.cpp.o
28.992 [1992/66/3222] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PrologEpilogInserter.cpp.o
29.031 [1991/66/3223] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocFast.cpp.o
29.115 [1990/66/3224] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackSlotColoring.cpp.o
29.132 [1989/66/3225] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveDebugVariables.cpp.o
29.204 [1988/66/3226] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGVLIW.cpp.o
29.271 [1987/66/3227] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ModuloSchedule.cpp.o
29.804 [1986/66/3228] 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 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/lib/CodeGen -I/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen -I/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/include -I/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/include -D__OPTIMIZE__ -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-maybe-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 -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -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/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp
In file included from /usr/include/c++/13/cassert:44,
                 from /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:64,
                 from /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/include/llvm/Support/PGOOptions.h:17,
                 from /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/include/llvm/Target/TargetMachine.h:24,
                 from /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:38:
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/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/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1487:46: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 1487 |         assert(IndexedReg.index() - MaxWidth >= 0);
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1514:29: error: cannot convert ‘llvm::DenseMap<llvm::Register, unsigned int>’ to ‘llvm::DenseMap<unsigned int, unsigned int>&’
 1514 |                             InstIdxForVirtReg, Root.getOperand(0).getReg());
      |                             ^~~~~~~~~~~~~~~~~
      |                             |
      |                             llvm::DenseMap<llvm::Register, unsigned int>
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp:1021:35: note:   initializing argument 6 of ‘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’
 1021 |     DenseMap<unsigned, unsigned> &InstrIdxForVirtReg,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
29.924 [1986/65/3229] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ResourcePriorityQueue.cpp.o
29.964 [1986/64/3230] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineOutliner.cpp.o
30.251 [1986/63/3231] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RDFGraph.cpp.o
30.609 [1986/62/3232] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TailDuplicator.cpp.o
30.848 [1986/61/3233] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o
31.570 [1986/60/3234] Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGFast.cpp.o
31.655 [1986/59/3235] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockPlacement.cpp.o
31.675 [1986/58/3236] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VLIWMachineScheduler.cpp.o
31.793 [1986/57/3237] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ShrinkWrap.cpp.o
31.949 [1986/56/3238] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SplitKit.cpp.o
32.060 [1986/55/3239] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineSink.cpp.o
32.079 [1986/54/3240] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
32.244 [1986/53/3241] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAGInstrs.cpp.o
32.397 [1986/52/3242] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineVerifier.cpp.o
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp: In member function ‘void {anonymous}::MachineVerifier::visitMachineOperand(const llvm::MachineOperand*, unsigned int)’:
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:2525:26: warning: possibly dangling reference to a temporary [-Wdangling-reference]
 2525 |     const MCOperandInfo &MCOI = MCID.operands()[MONum];
      |                          ^~~~
/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:2525:54: note: the temporary was destroyed at the end of the full expression ‘(& MCID)->llvm::MCInstrDesc::operands().llvm::ArrayRef<llvm::MCOperandInfo>::operator[](((size_t)MONum))’
 2525 |     const MCOperandInfo &MCOI = MCID.operands()[MONum];

```

</details>

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


More information about the llvm-commits mailing list