[llvm] [Support] Do not use `llvm::size` in `getLoopPreheader` (PR #94540)

Ben Barham via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 7 21:10:35 PDT 2024


================
@@ -208,7 +208,10 @@ BlockT *LoopBase<BlockT, LoopT>::getLoopPreheader() const {
     return nullptr;
 
   // Make sure there is only one exit out of the preheader.
-  if (llvm::size(llvm::children<BlockT *>(Out)) != 1)
+  typedef GraphTraits<BlockT *> BlockTraits;
+  typename BlockTraits::ChildIteratorType SI = BlockTraits::child_begin(Out);
+  ++SI;
+  if (SI != BlockTraits::child_end(Out))
----------------
bnbarham wrote:

Ah nice, much better. Switched to `llvm::hasSingleElement`, thanks!

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


More information about the llvm-commits mailing list