Add a getUniqueExitBlock utility function, similar to getExitBlock,
authorDan Gohman <gohman@apple.com>
Thu, 25 Jun 2009 00:09:57 +0000 (00:09 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 25 Jun 2009 00:09:57 +0000 (00:09 +0000)
but for getUniqueExitBlocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74145 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/LoopInfo.h

index fb0b584d41cd01d73ecd3061ed0a20c7f7e47d61..9e5f57e9a199fe62ab10cbbc109f3047eef220fe 100644 (file)
@@ -281,6 +281,16 @@ public:
     }
   }
 
+  /// getUniqueExitBlock - If getUniqueExitBlocks would return exactly one
+  /// block, return that block. Otherwise return null.
+  BlockT *getUniqueExitBlock() const {
+    SmallVector<BlockT*, 8> UniqueExitBlocks;
+    getUniqueExitBlocks(UniqueExitBlocks);
+    if (UniqueExitBlocks.size() == 1)
+      return UniqueExitBlocks[0];
+    return 0;
+  }
+
   /// getLoopPreheader - If there is a preheader for this loop, return it.  A
   /// loop has a preheader if there is only one edge to the header of the loop
   /// from outside of the loop.  If this is the case, the block branching to the