[llvm] [IR] Implement successors as Use iterators (PR #186616)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 14 12:15:17 PDT 2026


================
@@ -2547,9 +2547,9 @@ void JumpThreadingPass::updateBlockFreqAndEdgeWeight(BasicBlock *PredBB,
   // Collect updated outgoing edges' frequencies from BB and use them to update
   // edge probabilities.
   SmallVector<uint64_t, 4> BBSuccFreq;
-  for (succ_iterator I = succ_begin(BB), E = succ_end(BB); I != E; ++I) {
+  for (succ_iterator B = succ_begin(BB), I = B, E = succ_end(BB); I != E; ++I) {
     auto BB2SuccBBFreq =
-        BBOrigFreq * BPI->getEdgeProbability(BB, I.getSuccessorIndex());
+        BBOrigFreq * BPI->getEdgeProbability(BB, std::distance(B, I));
----------------
nikic wrote:

Similary here.

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


More information about the llvm-commits mailing list