summaryrefslogtreecommitdiff
path: root/lib/Analysis/IVUsers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/IVUsers.cpp')
-rw-r--r--lib/Analysis/IVUsers.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/Analysis/IVUsers.cpp b/lib/Analysis/IVUsers.cpp
index 38611ccb62..9c472ae73b 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<IVStrideUse>::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());
+}