Home | History | Annotate | Download | only in Analysis

Lines Matching defs:exit

10 // Calculate a program structure tree built out of single entry single exit
193 /// @brief A single entry single exit Region.
204 /// BasicBlocks that merge several entry or exit edges so that after the merge
205 /// just one entry and one exit edge exists.
211 /// The \e Exit of a Region is the first BasicBlock that is passed after
212 /// leaving the Region. It is not an element of the Region. The exit BasicBlock,
277 // The exit BasicBlock of this region.
279 BlockT *exit;
307 /// @param Exit The exit basic block of the region.
312 RegionBase(BlockT *Entry, BlockT *Exit, RegionInfoT *RI, DomTreeT *DT,
333 /// @brief Replace the exit basic block of the region with the new basic
336 /// @param BB The new exit basic block of the region.
348 /// @brief Recursively replace the exit basic block of the region.
350 /// This function replaces the exit basic block with a new basic block. It
351 /// also updates all child regions that have the same exit basic block as
354 /// @param NewExit The new exit basic block.
357 /// @brief Get the exit BasicBlock of the Region.
358 /// @return The exit BasicBlock of the Region, NULL if this is the TopLevel
360 BlockT *getExit() const { return exit; }
386 bool isTopLevelRegion() const { return exit == nullptr; }
403 /// @brief Return the first block of this region's single exit edge,
406 /// @return The BasicBlock starting this region's single exit edge,
410 /// @brief Collect all blocks of this region's single exit edge, if existing.
412 /// @return True if this region contains all the predecessors of the exit.
417 /// A region is simple if it has exactly one exit and one entry edge.
587 block_iterator_wrapper(value_type Entry, value_type Exit)
589 // Mark the exit of the region as visited, so that the children of the
590 // exit and the exit itself, i.e. the block outside the region will never
592 super::Visited.insert(Exit);
760 // entry, because it was inherited from exit. In the other case there is an
761 // edge going from entry to BB without passing exit.
762 bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
764 // Check if entry and exit surround a valid region, based on
766 bool isRegion(BlockT *entry, BlockT *exit) const;
768 // Saves a shortcut pointing from entry to exit.
770 void insertShortCut(BlockT *entry, BlockT *exit, BBtoBBMap *ShortCut) const;
777 bool isTrivialRegion(BlockT *entry, BlockT *exit) const;
779 // Creates a single entry single exit region.
780 RegionT *createRegion(BlockT *entry, BlockT *exit);
834 /// @brief Return the exit of the maximal refined region, that starts at a
895 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo *RI, DominatorTree *DT,