reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/Analysis/RegionInfo.h
  688   using BlockTraits = GraphTraits<BlockT *>;
  689   using InvBlockTraits = GraphTraits<Inverse<BlockT *>>;
  693   using BBtoBBMap = DenseMap<BlockT *, BlockT *>;
  693   using BBtoBBMap = DenseMap<BlockT *, BlockT *>;
  694   using BBtoRegionMap = DenseMap<BlockT *, RegionT *>;
  762   bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
  762   bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
  762   bool isCommonDomFrontier(BlockT *BB, BlockT *entry, BlockT *exit) const;
  766   bool isRegion(BlockT *entry, BlockT *exit) const;
  766   bool isRegion(BlockT *entry, BlockT *exit) const;
  770   void insertShortCut(BlockT *entry, BlockT *exit, BBtoBBMap *ShortCut) const;
  770   void insertShortCut(BlockT *entry, BlockT *exit, BBtoBBMap *ShortCut) const;
  777   bool isTrivialRegion(BlockT *entry, BlockT *exit) const;
  777   bool isTrivialRegion(BlockT *entry, BlockT *exit) const;
  780   RegionT *createRegion(BlockT *entry, BlockT *exit);
  780   RegionT *createRegion(BlockT *entry, BlockT *exit);
  783   void findRegionsWithEntry(BlockT *entry, BBtoBBMap *ShortCut);
  819   RegionT *getRegionFor(BlockT *BB) const;
  825   void setRegionFor(BlockT *BB, RegionT *R);
  832   RegionT *operator[](BlockT *BB) const;
  838   BlockT *getMaxRegionExit(BlockT *BB) const;
  838   BlockT *getMaxRegionExit(BlockT *BB) const;
  852   RegionT *getCommonRegion(BlockT *A, BlockT *B) const {
  852   RegionT *getCommonRegion(BlockT *A, BlockT *B) const {
  866   RegionT *getCommonRegion(SmallVectorImpl<BlockT *> &BBs) const;
include/llvm/Analysis/RegionInfoImpl.h
  558       BlockT *BB = Element->template getNodeAs<BlockT>();
  558       BlockT *BB = Element->template getNodeAs<BlockT>();
  566 bool RegionInfoBase<Tr>::isCommonDomFrontier(BlockT *BB, BlockT *entry,
  566 bool RegionInfoBase<Tr>::isCommonDomFrontier(BlockT *BB, BlockT *entry,
  567                                              BlockT *exit) const {
  568   for (BlockT *P : make_range(InvBlockTraits::child_begin(BB),
  578 bool RegionInfoBase<Tr>::isRegion(BlockT *entry, BlockT *exit) const {
  578 bool RegionInfoBase<Tr>::isRegion(BlockT *entry, BlockT *exit) const {
  601   for (BlockT *Succ : *entrySuccs) {
  611   for (BlockT *Succ : *exitSuccs) {
  620 void RegionInfoBase<Tr>::insertShortCut(BlockT *entry, BlockT *exit,
  620 void RegionInfoBase<Tr>::insertShortCut(BlockT *entry, BlockT *exit,
  633     BlockT *BB = e->second;
  650 bool RegionInfoBase<Tr>::isTrivialRegion(BlockT *entry, BlockT *exit) const {
  650 bool RegionInfoBase<Tr>::isTrivialRegion(BlockT *entry, BlockT *exit) const {
  663 typename Tr::RegionT *RegionInfoBase<Tr>::createRegion(BlockT *entry,
  664                                                        BlockT *exit) {
  685 void RegionInfoBase<Tr>::findRegionsWithEntry(BlockT *entry,
  694   BlockT *lastExit = entry;
  699     BlockT *exit = N->getBlock();
  729   BlockT *entry = GraphTraits<FuncPtrT>::getEntryNode(&F);
  750   BlockT *BB = N->getBlock();
  768   for (DomTreeNodeBase<BlockT> *C : *N) {
  819 typename Tr::RegionT *RegionInfoBase<Tr>::getRegionFor(BlockT *BB) const {
  825 void RegionInfoBase<Tr>::setRegionFor(BlockT *BB, RegionT *R) {
  830 typename Tr::RegionT *RegionInfoBase<Tr>::operator[](BlockT *BB) const {
  835 typename RegionInfoBase<Tr>::BlockT *
  836 RegionInfoBase<Tr>::getMaxRegionExit(BlockT *BB) const {
  837   BlockT *Exit = nullptr;
  859     for (BlockT *Pred : make_range(InvBlockTraits::child_begin(Exit),
  903 RegionInfoBase<Tr>::getCommonRegion(SmallVectorImpl<BlockT *> &BBs) const {
  907   for (BlockT *BB : BBs)
  923   BlockT *BB = GraphTraits<FuncPtrT>::getEntryNode(&F);