From f7d848349e25f470e63bc176d4d120bdcf0e1649 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Mon, 1 Feb 2010 22:51:23 +0000 Subject: [PATCH] Add "dump" method to IVUsersOneStride. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95022 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/IVUsers.h | 5 +++++ lib/Analysis/IVUsers.cpp | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/include/llvm/Analysis/IVUsers.h b/include/llvm/Analysis/IVUsers.h index 50f7d45e19a..b69bda8b772 100644 --- a/include/llvm/Analysis/IVUsers.h +++ b/include/llvm/Analysis/IVUsers.h @@ -165,6 +165,11 @@ public: void removeUser(IVStrideUse *User) { Users.erase(User); } + + void print(raw_ostream &OS) const; + + /// dump - This method is used for debugging. + void dump() const; }; class IVUsers : public LoopPass { diff --git a/lib/Analysis/IVUsers.cpp b/lib/Analysis/IVUsers.cpp index 38611ccb621..9c472ae73bc 100644 --- a/lib/Analysis/IVUsers.cpp +++ b/lib/Analysis/IVUsers.cpp @@ -386,3 +386,26 @@ void IVStrideUse::deleted() { Parent->Users.erase(this); // this now dangles! } + +void IVUsersOfOneStride::print(raw_ostream &OS) const { + OS << "IV Users of one stride:\n"; + + if (Stride) + OS << " Stride: " << *Stride << '\n'; + + OS << " Users:\n"; + + unsigned Count = 1; + + for (ilist::const_iterator + I = Users.begin(), E = Users.end(); I != E; ++I) { + const IVStrideUse &SU = *I; + OS << " " << Count++ << '\n'; + OS << " Offset: " << *SU.getOffset() << '\n'; + OS << " Instr: " << *SU << '\n'; + } +} + +void IVUsersOfOneStride::dump() const { + print(dbgs()); +}