Skip to content

[Target] Use llvm::append_range (NFC) #133606

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

kazutakahirata
Copy link
Contributor

No description provided.

@llvmbot
Copy link
Member

llvmbot commented Mar 30, 2025

@llvm/pr-subscribers-backend-amdgpu
@llvm/pr-subscribers-backend-spir-v
@llvm/pr-subscribers-backend-hexagon
@llvm/pr-subscribers-backend-x86

@llvm/pr-subscribers-backend-directx

Author: Kazu Hirata (kazutakahirata)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/133606.diff

11 Files Affected:

  • (modified) llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp (+1-3)
  • (modified) llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp (+1-3)
  • (modified) llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp (+1-2)
  • (modified) llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp (+1-2)
  • (modified) llvm/lib/Target/DirectX/DXILDataScalarization.cpp (+1-3)
  • (modified) llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp (+1-2)
  • (modified) llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp (+4-10)
  • (modified) llvm/lib/Target/SPIRV/SPIRVUtils.cpp (+2-4)
  • (modified) llvm/lib/Target/X86/X86CmovConversion.cpp (+1-2)
  • (modified) llvm/lib/Target/X86/X86InterleavedAccess.cpp (+1-3)
  • (modified) llvm/lib/Target/X86/X86WinEHState.cpp (+1-2)
diff --git a/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
index 6496d56d74b2c..2c559d4beb5d1 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
+++ b/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
@@ -482,9 +482,7 @@ void applyExtUaddvToUaddlv(MachineInstr &MI, MachineRegisterInfo &MRI,
     // the values inside a small vec
     extractParts(SrcReg, SrcTy, MainTy, LeftoverTy, WorkingRegisters,
                  LeftoverRegs, B, MRI);
-    for (unsigned I = 0; I < LeftoverRegs.size(); I++) {
-      WorkingRegisters.push_back(LeftoverRegs[I]);
-    }
+    llvm::append_range(WorkingRegisters, LeftoverRegs);
   } else {
     WorkingRegisters.push_back(SrcReg);
     MainTy = SrcTy;
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
index f9facfa461748..70274a8101f89 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
@@ -1265,9 +1265,7 @@ bool AMDGPUSwLowerLDS::run() {
     for (Instruction *Inst : AsanInfo.Instructions) {
       SmallVector<InterestingMemoryOperand, 1> InterestingOperands;
       getInterestingMemoryOperands(M, Inst, InterestingOperands);
-      for (auto &Operand : InterestingOperands) {
-        OperandsToInstrument.push_back(Operand);
-      }
+      llvm::append_range(OperandsToInstrument, InterestingOperands);
     }
     for (auto &Operand : OperandsToInstrument) {
       Value *Addr = Operand.getPtr();
diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
index 71fe990e5ab7c..6843ec895e69c 100644
--- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -6907,8 +6907,7 @@ bool ARMPipelinerLoopInfo::tooMuchRegisterPressure(SwingSchedulerDAG &SSD,
           SMS.getInstructions(Cycle + Stage * SMS.getInitiationInterval());
       std::sort(Instrs.begin(), Instrs.end(),
                 [](SUnit *A, SUnit *B) { return A->NodeNum > B->NodeNum; });
-      for (SUnit *SU : Instrs)
-        ProposedSchedule.push_back(SU);
+      llvm::append_range(ProposedSchedule, Instrs);
     }
 
   // Learn whether the last use/def of each cross-iteration register is a use or
diff --git a/llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp b/llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
index 12fd8c7924565..18d5c232378a7 100644
--- a/llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
+++ b/llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
@@ -303,8 +303,7 @@ MachineInstr *MVETPAndVPTOptimisations::CheckForLRUseInPredecessors(
     }
 
     Visited.insert(MBB);
-    for (auto *Pred : MBB->predecessors())
-      Worklist.push_back(Pred);
+    llvm::append_range(Worklist, MBB->predecessors());
   }
   return LoopStart;
 }
diff --git a/llvm/lib/Target/DirectX/DXILDataScalarization.cpp b/llvm/lib/Target/DirectX/DXILDataScalarization.cpp
index a0dd17904f6fa..1f2700ac55647 100644
--- a/llvm/lib/Target/DirectX/DXILDataScalarization.cpp
+++ b/llvm/lib/Target/DirectX/DXILDataScalarization.cpp
@@ -144,9 +144,7 @@ bool DataScalarizerVisitor::visitGetElementPtrInst(GetElementPtrInst &GEPI) {
     return false;
 
   IRBuilder<> Builder(&GEPI);
-  SmallVector<Value *, MaxVecSize> Indices;
-  for (auto &Index : GEPI.indices())
-    Indices.push_back(Index);
+  SmallVector<Value *, MaxVecSize> Indices(GEPI.indices());
 
   Value *NewGEP =
       Builder.CreateGEP(NewGlobal->getValueType(), NewGlobal, Indices,
diff --git a/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp b/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
index dd054846f03c8..02b0282bbddad 100644
--- a/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
@@ -1062,8 +1062,7 @@ static SmallVector<unsigned, 4> getInputSegmentList(ShuffleMask SM,
       Segs.set(M >> Shift);
   }
 
-  for (unsigned B : Segs.set_bits())
-    SegList.push_back(B);
+  llvm::append_range(SegList, Segs.set_bits());
   return SegList;
 }
 
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index 939d9e920d05b..900bb1a8a46d2 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -1241,8 +1241,7 @@ void SPIRVEmitIntrinsics::preprocessCompositeConstants(IRBuilder<> &B) {
           for (unsigned i = 0; i < COp->getNumElements(); ++i)
             Args.push_back(COp->getElementAsConstant(i));
         else
-          for (auto &COp : AggrConst->operands())
-            Args.push_back(COp);
+          llvm::append_range(Args, AggrConst->operands());
         if (!BPrepared) {
           IsPhi ? B.SetInsertPointPastAllocas(I->getParent()->getParent())
                 : B.SetInsertPoint(I);
@@ -1387,8 +1386,7 @@ Instruction *SPIRVEmitIntrinsics::visitGetElementPtrInst(GetElementPtrInst &I) {
   SmallVector<Type *, 2> Types = {I.getType(), I.getOperand(0)->getType()};
   SmallVector<Value *, 4> Args;
   Args.push_back(B.getInt1(I.isInBounds()));
-  for (auto &Op : I.operands())
-    Args.push_back(Op);
+  llvm::append_range(Args, I.operands());
   auto *NewI = B.CreateIntrinsic(Intrinsic::spv_gep, {Types}, {Args});
   replaceAllUsesWithAndErase(B, &I, NewI);
   return NewI;
@@ -1716,9 +1714,7 @@ Instruction *SPIRVEmitIntrinsics::visitExtractValueInst(ExtractValueInst &I) {
     return &I;
   IRBuilder<> B(I.getParent());
   B.SetInsertPoint(&I);
-  SmallVector<Value *> Args;
-  for (auto &Op : I.operands())
-    Args.push_back(Op);
+  SmallVector<Value *> Args(I.operands());
   for (auto &Op : I.indices())
     Args.push_back(B.getInt32(Op));
   auto *NewI =
@@ -1794,9 +1790,7 @@ Instruction *SPIRVEmitIntrinsics::visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) {
   assert(I.getType()->isAggregateType() && "Aggregate result is expected");
   IRBuilder<> B(I.getParent());
   B.SetInsertPoint(&I);
-  SmallVector<Value *> Args;
-  for (auto &Op : I.operands())
-    Args.push_back(Op);
+  SmallVector<Value *> Args(I.operands());
   Args.push_back(B.getInt32(
       static_cast<uint32_t>(getMemScope(I.getContext(), I.getSyncScopeID()))));
   Args.push_back(B.getInt32(
diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
index 6bef6b7e9b16e..60b67a4f5ec5e 100644
--- a/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVUtils.cpp
@@ -689,8 +689,7 @@ bool sortBlocks(Function &F) {
   Order.reserve(F.size());
 
   ReversePostOrderTraversal<Function *> RPOT(&F);
-  for (BasicBlock *BB : RPOT)
-    Order.push_back(BB);
+  llvm::append_range(Order, RPOT);
 
   assert(&*F.begin() == Order[0]);
   BasicBlock *LastBlock = &*F.begin();
@@ -785,8 +784,7 @@ CallInst *buildIntrWithMD(Intrinsic::ID IntrID, ArrayRef<Type *> Types,
   SmallVector<Value *, 4> Args;
   Args.push_back(Arg2);
   Args.push_back(buildMD(Arg));
-  for (auto *Imm : Imms)
-    Args.push_back(Imm);
+  llvm::append_range(Args, Imms);
   return B.CreateIntrinsic(IntrID, {Types}, Args);
 }
 
diff --git a/llvm/lib/Target/X86/X86CmovConversion.cpp b/llvm/lib/Target/X86/X86CmovConversion.cpp
index d639ca56b77d6..488b3126b8609 100644
--- a/llvm/lib/Target/X86/X86CmovConversion.cpp
+++ b/llvm/lib/Target/X86/X86CmovConversion.cpp
@@ -240,8 +240,7 @@ bool X86CmovConverterPass::runOnMachineFunction(MachineFunction &MF) {
   // Note that we need to check size on each iteration as we accumulate child
   // loops.
   for (int i = 0; i < (int)Loops.size(); ++i)
-    for (MachineLoop *Child : Loops[i]->getSubLoops())
-      Loops.push_back(Child);
+    llvm::append_range(Loops, Loops[i]->getSubLoops());
 
   for (MachineLoop *CurrLoop : Loops) {
     // Optimize only innermost loops.
diff --git a/llvm/lib/Target/X86/X86InterleavedAccess.cpp b/llvm/lib/Target/X86/X86InterleavedAccess.cpp
index efab93d61c7c5..1eb47e3b2cd18 100644
--- a/llvm/lib/Target/X86/X86InterleavedAccess.cpp
+++ b/llvm/lib/Target/X86/X86InterleavedAccess.cpp
@@ -829,10 +829,8 @@ bool X86TargetLowering::lowerInterleavedStore(StoreInst *SI,
 
   // Holds the indices of SVI that correspond to the starting index of each
   // interleaved shuffle.
-  SmallVector<unsigned, 4> Indices;
   auto Mask = SVI->getShuffleMask();
-  for (unsigned i = 0; i < Factor; i++)
-    Indices.push_back(Mask[i]);
+  SmallVector<unsigned, 4> Indices(Mask.take_front(Factor));
 
   ArrayRef<ShuffleVectorInst *> Shuffles = ArrayRef(SVI);
 
diff --git a/llvm/lib/Target/X86/X86WinEHState.cpp b/llvm/lib/Target/X86/X86WinEHState.cpp
index 7d6d3f8d21f25..1bcbc7d6e6703 100644
--- a/llvm/lib/Target/X86/X86WinEHState.cpp
+++ b/llvm/lib/Target/X86/X86WinEHState.cpp
@@ -721,8 +721,7 @@ void WinEHStatePass::addStateStores(Function &F, WinEHFuncInfo &FuncInfo) {
     // enqueue it's successors to see if we can infer their states.
     InitialStates.insert({BB, PredState});
     FinalStates.insert({BB, PredState});
-    for (BasicBlock *SuccBB : successors(BB))
-      Worklist.push_back(SuccBB);
+    llvm::append_range(Worklist, successors(BB));
   }
 
   // Try to hoist stores from successors.

@kazutakahirata kazutakahirata merged commit ad1ba15 into llvm:main Mar 30, 2025
21 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_001_append_range_llvm_Target branch March 30, 2025 01:47
@arsenm
Copy link
Contributor

arsenm commented Mar 30, 2025

This is breaking the macOS build:

FAILED: lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHState.cpp.o 
/usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/matt/src/llvm-project/build_rel_with_debinfo/lib/Target/X86 -I/Users/matt/src/llvm-project/llvm/lib/Target/X86 -I/Users/matt/src/llvm-project/build_rel_with_debinfo/include -I/Users/matt/src/llvm-project/llvm/include -isystem /opt/local/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -O2 -g -DNDEBUG -std=c++17 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -gsplit-dwarf -MD -MT lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHState.cpp.o -MF lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHState.cpp.o.d -o lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHState.cpp.o -c /Users/matt/src/llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp
In file included from /Users/matt/src/llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:17:
In file included from /Users/matt/src/llvm-project/llvm/include/llvm/ADT/PostOrderIterator.h:19:
In file included from /Users/matt/src/llvm-project/llvm/include/llvm/ADT/GraphTraits.h:22:
In file included from /Users/matt/src/llvm-project/llvm/include/llvm/ADT/STLExtras.h:21:
In file included from /Users/matt/src/llvm-project/llvm/include/llvm/ADT/Hashing.h:52:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/algorithm:1795:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__algorithm/copy_backward.h:98:68: error: invalid operands to binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>' and 'long')
   98 |       auto __iter        = std::__copy_backward<_AlgPolicy>(__last - __size, __last, __local_last).second;
      |                                                             ~~~~~~ ^ ~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h:109:19: note: in instantiation of function template specialization 'std::__copy_backward_loop<std::_ClassicAlgPolicy>::operator()<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, std::__deque_iterator<llvm::BasicBlock *, llvm::BasicBlock **, llvm::BasicBlock *&, llvm::BasicBlock ***, long>, 0>' requested here
  109 |   auto __result = _Algorithm()(std::move(__range.first), std::move(__range.second), std::__unwrap_iter(__out_first));
      |                   ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__algorithm/copy_move_common.h:133:15: note: in instantiation of function template specialization 'std::__unwrap_and_dispatch<std::__overload<std::__copy_backward_loop<std::_ClassicAlgPolicy>, std::__copy_backward_trivial>, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, std::__deque_iterator<llvm::BasicBlock *, llvm::BasicBlock **, llvm::BasicBlock *&, llvm::BasicBlock ***, long>, 0>' requested here
  133 |   return std::__unwrap_and_dispatch<_Algorithm>(std::move(__first), std::move(__last), std::move(__out_first));
      |               ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__algorithm/copy_backward.h:121:15: note: in instantiation of function template specialization 'std::__dispatch_copy_or_move<std::_ClassicAlgPolicy, std::__copy_backward_loop<std::_ClassicAlgPolicy>, std::__copy_backward_trivial, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, std::__deque_iterator<llvm::BasicBlock *, llvm::BasicBlock **, llvm::BasicBlock *&, llvm::BasicBlock ***, long>>' requested here
  121 |   return std::__dispatch_copy_or_move<_AlgPolicy, __copy_backward_loop<_AlgPolicy>, __copy_backward_trivial>(
      |               ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__algorithm/copy_backward.h:132:15: note: in instantiation of function template specialization 'std::__copy_backward<std::_ClassicAlgPolicy, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, std::__deque_iterator<llvm::BasicBlock *, llvm::BasicBlock **, llvm::BasicBlock *&, llvm::BasicBlock ***, long>>' requested here
  132 |   return std::__copy_backward<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second;
      |               ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/deque:1929:12: note: in instantiation of function template specialization 'std::copy_backward<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, std::__deque_iterator<llvm::BasicBlock *, llvm::BasicBlock **, llvm::BasicBlock *&, llvm::BasicBlock ***, long>>' requested here
 1929 |       std::copy_backward(__f, __m, __old_end);
      |            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/deque:1865:10: note: in instantiation of function template specialization 'std::deque<llvm::BasicBlock *>::__insert_bidirectional<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>>' requested here
 1865 |   return __insert_bidirectional(__p, __f, __l, std::distance(__f, __l));
      |          ^
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2121:5: note: in instantiation of function template specialization 'std::deque<llvm::BasicBlock *>::insert<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>, 0>' requested here
 2121 |   C.insert(C.end(), adl_begin(R), adl_end(R));
      |     ^
/Users/matt/src/llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in instantiation of function template specialization 'llvm::append_range<std::deque<llvm::BasicBlock *>, llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>>>' requested here
  724 |     llvm::append_range(Worklist, successors(BB));
      |           ^
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/APInt.h:2193:14: note: candidate function not viable: no known conversion from 'llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>' to 'APInt' for 1st argument
 2193 | inline APInt operator-(APInt a, uint64_t RHS) {
      |              ^         ~~~~~~~
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/APInt.h:2182:14: note: candidate function not viable: no known conversion from 'llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>' to 'APInt' for 1st argument
 2182 | inline APInt operator-(APInt a, const APInt &b) {
      |              ^         ~~~~~~~
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/APInt.h:2187:14: note: candidate function not viable: no known conversion from 'llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>' to 'const APInt' for 1st argument
 2187 | inline APInt operator-(const APInt &a, APInt &&b) {
      |              ^         ~~~~~~~~~~~~~~
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/APInt.h:2198:14: note: candidate function not viable: no known conversion from 'llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>' to 'uint64_t' (aka 'unsigned long long') for 1st argument
 2198 | inline APInt operator-(uint64_t LHS, APInt b) {
      |              ^         ~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__iterator/move_iterator.h:304:1: note: candidate template ignored: could not match 'move_iterator' against 'SuccIterator'
  304 | operator-(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) -> decltype(__x.base() - __y.base()) {
      | ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:288:1: note: candidate template ignored: could not match 'reverse_iterator' against 'SuccIterator'
  288 | operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
      | ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:182:5: note: candidate template ignored: could not match '__wrap_iter' against 'SuccIterator'
  182 |     operator-(const __wrap_iter<_Iter1>& __x,
      |     ^
/Users/matt/src/llvm-project/llvm/include/llvm/IR/CFG.h:213:7: note: candidate function not viable: no known conversion from 'long' to 'const Self' (aka 'const SuccIterator<llvm::Instruction, llvm::BasicBlock>') for 1st argument
  213 |   int operator-(const Self &RHS) const {
      |       ^         ~~~~~~~~~~~~~~~
/Users/matt/src/llvm-project/llvm/include/llvm/ADT/APInt.h:2157:14: note: candidate function not viable: requires single argument 'v', but 2 arguments were provided
 2157 | inline APInt operator-(APInt v) {
      |              ^         ~~~~~~~
1 error generated.
[11/18] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMBaseInstrInfo.cpp.o
ninja: build stopped: subcommand failed.

@maxim-kuvyrkov
Copy link
Contributor

Also breaks LLVM build for android on linux. Same file, same error.

@damyanp damyanp moved this to Closed in HLSL Support Apr 25, 2025
@damyanp damyanp removed this from HLSL Support Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants