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

References

include/llvm/Analysis/LoopInfo.h
   75   LoopT *ParentLoop;
   77   std::vector<LoopT *> SubLoops;
   89   LoopBase(const LoopBase<BlockT, LoopT> &) = delete;
   90   const LoopBase<BlockT, LoopT> &
   91   operator=(const LoopBase<BlockT, LoopT> &) = delete;
  100     for (const LoopT *CurLoop = ParentLoop; CurLoop;
  106   LoopT *getParentLoop() const { return ParentLoop; }
  109   void setParentLoop(LoopT *L) {
  115   bool contains(const LoopT *L) const {
  136   const std::vector<LoopT *> &getSubLoops() const {
  140   std::vector<LoopT *> &getSubLoopsVector() {
  144   typedef typename std::vector<LoopT *>::const_iterator iterator;
  146       typename std::vector<LoopT *>::const_reverse_iterator reverse_iterator;
  325   static void getInnerLoopsInPreorder(const LoopT &L,
  341   SmallVector<const LoopT *, 4> getLoopsInPreorder() const {
  348   SmallVector<LoopT *, 4> getLoopsInPreorder() {
  365   void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase<BlockT, LoopT> &LI);
  371   void replaceChildLoopWith(LoopT *OldChild, LoopT *NewChild);
  371   void replaceChildLoopWith(LoopT *OldChild, LoopT *NewChild);
  375   void addChildLoop(LoopT *NewChild) {
  384   LoopT *removeChildLoop(iterator I) {
  396   LoopT *removeChildLoop(LoopT *Child) {
  396   LoopT *removeChildLoop(LoopT *Child) {
  453   void verifyLoopNest(DenseSet<const LoopT *> *Loops) const;
  485     for (auto *SubLoop : SubLoops)
  850   DenseMap<const BlockT *, LoopT *> BBMap;
  851   std::vector<LoopT *> TopLevelLoops;
  886     for (auto *L : TopLevelLoops)
  892   template <typename... ArgsTy> LoopT *AllocateLoop(ArgsTy &&... Args) {
  893     LoopT *Storage = LoopAllocator.Allocate<LoopT>();
  893     LoopT *Storage = LoopAllocator.Allocate<LoopT>();
  894     return new (Storage) LoopT(std::forward<ArgsTy>(Args)...);
  900   typedef typename std::vector<LoopT *>::const_iterator iterator;
  902       typename std::vector<LoopT *>::const_reverse_iterator reverse_iterator;
  914   SmallVector<LoopT *, 4> getLoopsInPreorder();
  924   SmallVector<LoopT *, 4> getLoopsInReverseSiblingPreorder();
  928   LoopT *getLoopFor(const BlockT *BB) const { return BBMap.lookup(BB); }
  931   const LoopT *operator[](const BlockT *BB) const { return getLoopFor(BB); }
  942     const LoopT *L = getLoopFor(BB);
  949   LoopT *removeLoop(iterator I) {
  960   void changeLoopFor(BlockT *BB, LoopT *L) {
  970   void changeTopLevelLoop(LoopT *OldLoop, LoopT *NewLoop) {
  970   void changeTopLevelLoop(LoopT *OldLoop, LoopT *NewLoop) {
  979   void addTopLevelLoop(LoopT *New) {
  999   static bool isNotAlreadyContainedIn(const LoopT *SubLoop,
 1000                                       const LoopT *ParentLoop) {
 1026   void destroy(LoopT *L) {
include/llvm/Analysis/LoopInfoImpl.h
  418 static void discoverAndMapSubloop(LoopT *L, ArrayRef<BlockT *> Backedges,
  419                                   LoopInfoBase<BlockT, LoopT> *LI,
  432     LoopT *Subloop = LI->getLoopFor(PredBB);
  448       while (LoopT *Parent = Subloop->getParentLoop())
  479   LoopInfoBase<BlockT, LoopT> *LI;
  482   PopulateLoopsDFS(LoopInfoBase<BlockT, LoopT> *li) : LI(li) {}
  502   LoopT *Subloop = LI->getLoopFor(Block);
  556       LoopT *L = AllocateLoop(Header);
  562   PopulateLoopsDFS<BlockT, LoopT> DFS(this);
include/llvm/Support/Allocator.h
   81   template <typename T> T *Allocate(size_t Num = 1) {
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
lib/Transforms/Vectorize/VPlan.h
 1521     const VPLoop *FromLoop = VPLI->getLoopFor(FromBlock);
 1522     const VPLoop *ToLoop = VPLI->getLoopFor(ToBlock);
 1533     if (const VPLoop *ParentVPL = VPLInfo->getLoopFor(Block))
lib/Transforms/Vectorize/VPlanLoopInfo.h
   27 class VPLoop : public LoopBase<VPBlockBase, VPLoop> {
   40 typedef LoopInfoBase<VPBlockBase, VPLoop> VPLoopInfo;
unittests/Transforms/Vectorize/VPlanLoopInfoTest.cpp
   62   VPLoop *VPLp = *VPLI.begin();
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
utils/unittest/googletest/include/gtest/gtest.h
 1475       T* rhs) {