Home | History | Annotate | Download | only in Analysis

Lines Matching defs:exit

10 // Calculate a program structure tree built out of single entry single exit
186 /// @brief A single entry single exit Region.
197 /// BasicBlocks that merge several entry or exit edges so that after the merge
198 /// just one entry and one exit edge exists.
204 /// The \e Exit of a Region is the first BasicBlock that is passed after
205 /// leaving the Region. It is not an element of the Region. The exit BasicBlock,
272 // The exit BasicBlock of this region.
274 BlockT *exit;
302 /// @param Exit The exit basic block of the region.
307 RegionBase(BlockT *Entry, BlockT *Exit, RegionInfoT *RI, DomTreeT *DT,
325 /// @brief Replace the exit basic block of the region with the new basic
328 /// @param BB The new exit basic block of the region.
340 /// @brief Recursively replace the exit basic block of the region.
342 /// This function replaces the exit basic block with a new basic block. It
343 /// also updates all child regions that have the same exit basic block as
346 /// @param NewExit The new exit basic block.
349 /// @brief Get the exit BasicBlock of the Region.
350 /// @return The exit BasicBlock of the Region, NULL if this is the TopLevel
352 BlockT *getExit() const { return exit; }
378 bool isTopLevelRegion() const { return exit == nullptr; }
395 /// @brief Return the first block of this region's single exit edge,
398 /// @return The BasicBlock starting this region's single exit edge,
404 /// A region is simple if it has exactly one exit and one entry edge.
573 block_iterator_wrapper(pointer Entry, pointer Exit)
575 // Mark the exit of the region as visited, so that the children of the
576 // exit and the exit itself, i.e. the block outside the region will never
578 super::Visited.insert(Exit);
725 // entry, because it was inherited from exit. In the other case there is an
726 // edge going from entry to BB without passing exit.
727 bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
729 // Check if entry and exit surround a valid region, based on
731 bool isRegion(BlockT *entry, BlockT *exit) const;
733 // Saves a shortcut pointing from entry to exit.
735 void insertShortCut(BlockT *entry, BlockT *exit, BBtoBBMap *ShortCut) const;
742 bool isTrivialRegion(BlockT *entry, BlockT *exit) const;
744 // Creates a single entry single exit region.
745 RegionT *createRegion(BlockT *entry, BlockT *exit);
796 /// @brief Return the exit of the maximal refined region, that starts at a
857 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo *RI, DominatorTree *DT,