Home | History | Annotate | Download | only in Analysis

Lines Matching defs:exit

10 // Calculate a program structure tree built out of single entry single exit
187 /// @brief A single entry single exit Region.
198 /// BasicBlocks that merge several entry or exit edges so that after the merge
199 /// just one entry and one exit edge exists.
205 /// The \e Exit of a Region is the first BasicBlock that is passed after
206 /// leaving the Region. It is not an element of the Region. The exit BasicBlock,
273 // The exit BasicBlock of this region.
275 BlockT *exit;
303 /// @param Exit The exit basic block of the region.
308 RegionBase(BlockT *Entry, BlockT *Exit, RegionInfoT *RI, DomTreeT *DT,
326 /// @brief Replace the exit basic block of the region with the new basic
329 /// @param BB The new exit basic block of the region.
341 /// @brief Recursively replace the exit basic block of the region.
343 /// This function replaces the exit basic block with a new basic block. It
344 /// also updates all child regions that have the same exit basic block as
347 /// @param NewExit The new exit basic block.
350 /// @brief Get the exit BasicBlock of the Region.
351 /// @return The exit BasicBlock of the Region, NULL if this is the TopLevel
353 BlockT *getExit() const { return exit; }
379 bool isTopLevelRegion() const { return exit == nullptr; }
396 /// @brief Return the first block of this region's single exit edge,
399 /// @return The BasicBlock starting this region's single exit edge,
405 /// A region is simple if it has exactly one exit and one entry edge.
574 block_iterator_wrapper(value_type Entry, value_type Exit)
576 // Mark the exit of the region as visited, so that the children of the
577 // exit and the exit itself, i.e. the block outside the region will never
579 super::Visited.insert(Exit);
747 // entry, because it was inherited from exit. In the other case there is an
748 // edge going from entry to BB without passing exit.
749 bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
751 // Check if entry and exit surround a valid region, based on
753 bool isRegion(BlockT *entry, BlockT *exit) const;
755 // Saves a shortcut pointing from entry to exit.
757 void insertShortCut(BlockT *entry, BlockT *exit, BBtoBBMap *ShortCut) const;
764 bool isTrivialRegion(BlockT *entry, BlockT *exit) const;
766 // Creates a single entry single exit region.
767 RegionT *createRegion(BlockT *entry, BlockT *exit);
818 /// @brief Return the exit of the maximal refined region, that starts at a
879 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo *RI, DominatorTree *DT,