Lines Matching refs:RegionT
37 RegionT *Parent) in RegionBase()
66 std::vector<RegionT *> RegionQueue; in replaceEntryRecursive()
69 RegionQueue.push_back(static_cast<RegionT *>(this)); in replaceEntryRecursive()
71 RegionT *R = RegionQueue.back(); in replaceEntryRecursive()
75 for (typename RegionT::const_iterator RI = R->begin(), RE = R->end(); in replaceEntryRecursive()
85 std::vector<RegionT *> RegionQueue; in replaceExitRecursive()
88 RegionQueue.push_back(static_cast<RegionT *>(this)); in replaceExitRecursive()
90 RegionT *R = RegionQueue.back(); in replaceExitRecursive()
94 for (typename RegionT::const_iterator RI = R->begin(), RE = R->end(); in replaceExitRecursive()
292 for (typename RegionT::const_iterator RI = begin(), RE = end(); RI != RE; in verifyRegionNest()
301 return GraphTraits<RegionT *>::nodes_begin(static_cast<RegionT *>(this)); in element_begin()
306 return GraphTraits<RegionT *>::nodes_end(static_cast<RegionT *>(this)); in element_end()
312 return GraphTraits<const RegionT *>::nodes_begin( in element_begin()
313 static_cast<const RegionT *>(this)); in element_begin()
319 return GraphTraits<const RegionT *>::nodes_end( in element_end()
320 static_cast<const RegionT *>(this)); in element_end()
324 typename Tr::RegionT *RegionBase<Tr>::getSubRegionNode(BlockT *BB) const { in getSubRegionNode()
325 typedef typename Tr::RegionT RegionT; in getSubRegionNode() typedef
326 RegionT *R = RI->getRegionFor(BB); in getSubRegionNode()
353 RegionNodeT *NewNode = new RegionNodeT(static_cast<RegionT *>(Deconst), BB); in getBBNode()
361 if (RegionT *Child = getSubRegionNode(BB)) in getNode()
368 void RegionBase<Tr>::transferChildrenTo(RegionT *To) { in transferChildrenTo()
377 void RegionBase<Tr>::addSubRegion(RegionT *SubRegion, bool moveChildren) { in addSubRegion()
379 assert(std::find_if(begin(), end(), [&](const std::unique_ptr<RegionT> &R) { in addSubRegion()
384 SubRegion->parent = static_cast<RegionT *>(this); in addSubRegion()
385 children.push_back(std::unique_ptr<RegionT>(SubRegion)); in addSubRegion()
402 std::vector<std::unique_ptr<RegionT>> Keep; in addSubRegion()
419 typename Tr::RegionT *RegionBase<Tr>::removeSubRegion(RegionT *Child) { in removeSubRegion()
424 [&](const std::unique_ptr<RegionT> &R) { return R.get() == Child; }); in removeSubRegion()
434 for (RegionT *R = getParent(); R != nullptr; R = R->getParent()) in getDepth()
441 typename Tr::RegionT *RegionBase<Tr>::getExpandedRegion() const { in getExpandedRegion()
447 RegionT *R = RI->getRegionFor(exit); in getExpandedRegion()
456 return new RegionT(getEntry(), *BlockTraits::child_begin(exit), RI, DT); in getExpandedRegion()
470 return new RegionT(getEntry(), R->getExit(), RI, DT); in getExpandedRegion()
525 for (typename RegionT::iterator RI = begin(), RE = end(); RI != RE; ++RI) in clearNodeCache()
543 void RegionInfoBase<Tr>::verifyBBMap(const RegionT *R) const { in verifyBBMap()
547 const RegionT *SR = I->template getNodeAs<RegionT>(); in verifyBBMap()
658 typename Tr::RegionT *RegionInfoBase<Tr>::createRegion(BlockT *entry, in createRegion()
665 RegionT *region = in createRegion()
666 new RegionT(entry, exit, static_cast<RegionInfoT *>(this), DT); in createRegion()
688 RegionT *lastRegion = nullptr; in findRegionsWithEntry()
700 RegionT *newRegion = createRegion(entry, exit); in findRegionsWithEntry()
735 typename Tr::RegionT *RegionInfoBase<Tr>::getTopMostParent(RegionT *region) { in getTopMostParent()
743 void RegionInfoBase<Tr>::buildRegionsTree(DomTreeNodeT *N, RegionT *region) { in buildRegionsTree()
755 RegionT *newRegion = it->second; in buildRegionsTree()
777 typename Tr::RegionT::PrintStyle RegionInfoBase<Tr>::printStyle =
814 typename Tr::RegionT *RegionInfoBase<Tr>::getRegionFor(BlockT *BB) const { in getRegionFor()
820 void RegionInfoBase<Tr>::setRegionFor(BlockT *BB, RegionT *R) { in setRegionFor()
825 typename Tr::RegionT *RegionInfoBase<Tr>::operator[](BlockT *BB) const {
836 RegionT *R = getRegionFor(BB); in getMaxRegionExit()
849 RegionT *ExitR = getRegionFor(Exit); in getMaxRegionExit()
872 typename Tr::RegionT *RegionInfoBase<Tr>::getCommonRegion(RegionT *A, in getCommonRegion()
873 RegionT *B) const { in getCommonRegion()
886 typename Tr::RegionT *
887 RegionInfoBase<Tr>::getCommonRegion(SmallVectorImpl<RegionT *> &Regions) const { in getCommonRegion()
888 RegionT *ret = Regions.back(); in getCommonRegion()
891 for (RegionT *R : Regions) in getCommonRegion()
898 typename Tr::RegionT *
900 RegionT *ret = getRegionFor(BBs.back()); in getCommonRegion()