From 1827e8263c9cb5dc29eea4999d8729f7376af4e1 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 8 May 2009 20:07:23 +0000 Subject: [PATCH] Add a getExitBlock utility function to LoopInfo which returns the exit block of a loop, if there is exactly one, similar to getExitingBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71245 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/LoopInfo.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h index 01e5fa96fcc..69773a66ec1 100644 --- a/include/llvm/Analysis/LoopInfo.h +++ b/include/llvm/Analysis/LoopInfo.h @@ -213,6 +213,16 @@ public: ExitBlocks.push_back(*I); } + /// getExitBlock - If getExitBlocks would return exactly one block, + /// return that block. Otherwise return null. + BlockT *getExitBlock() const { + SmallVector ExitBlocks; + getExitBlocks(ExitBlocks); + if (ExitBlocks.size() == 1) + return ExitBlocks[0]; + return 0; + } + /// getUniqueExitBlocks - Return all unique successor blocks of this loop. /// These are the blocks _outside of the current loop_ which are branched to. /// This assumes that loop is in canonical form.