-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[HashRecognize] Introduce dump methods for debug #142748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Introduce dump methods to aid interactive debugging with GDB/LLDB. While at it, also fix the header comment in HashRecognize.cpp.
@llvm/pr-subscribers-llvm-analysis Author: Ramkumar Ramachandra (artagnon) ChangesIntroduce dump methods to aid interactive debugging with GDB/LLDB. While at it, also fix the header comment in HashRecognize.cpp. Full diff: https://github.com/llvm/llvm-project/pull/142748.diff 2 Files Affected:
diff --git a/llvm/include/llvm/Analysis/HashRecognize.h b/llvm/include/llvm/Analysis/HashRecognize.h
index 7a31ab681bed5..86051f0580719 100644
--- a/llvm/include/llvm/Analysis/HashRecognize.h
+++ b/llvm/include/llvm/Analysis/HashRecognize.h
@@ -34,7 +34,11 @@ using ErrBits = std::tuple<KnownBits, unsigned, bool>;
/// A custom std::array with 256 entries, that also has a print function.
struct CRCTable : public std::array<APInt, 256> {
- void print(raw_ostream &OS) const;
+ LLVM_DUMP_METHOD void print(raw_ostream &OS) const;
+
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ LLVM_DUMP_METHOD void dump() const;
+#endif
};
/// The structure that is returned when a polynomial algorithm was recognized by
@@ -87,7 +91,11 @@ class HashRecognize {
// and return a 256-entry CRC table.
CRCTable genSarwateTable(const APInt &GenPoly, bool ByteOrderSwapped) const;
- void print(raw_ostream &OS) const;
+ LLVM_DUMP_METHOD void print(raw_ostream &OS) const;
+
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ LLVM_DUMP_METHOD void dump() const;
+#endif
};
class HashRecognizePrinterPass
diff --git a/llvm/lib/Analysis/HashRecognize.cpp b/llvm/lib/Analysis/HashRecognize.cpp
index c6e9f2b64f876..22e88eacd6ff8 100644
--- a/llvm/lib/Analysis/HashRecognize.cpp
+++ b/llvm/lib/Analysis/HashRecognize.cpp
@@ -1,4 +1,4 @@
-//===- HashRecognize.h ------------------------------------------*- C++ -*-===//
+//===- HashRecognize.cpp ----------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -274,7 +274,7 @@ struct RecurrenceInfo {
RecurrenceInfo(const Loop &L) : L(L) {}
operator bool() const { return BO; }
- void print(raw_ostream &OS, unsigned Indent) const {
+ LLVM_DUMP_METHOD void print(raw_ostream &OS, unsigned Indent = 0) const {
OS.indent(Indent) << "Phi: ";
Phi->print(OS);
OS << "\n";
@@ -294,6 +294,10 @@ struct RecurrenceInfo {
}
}
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ LLVM_DUMP_METHOD void dump() const { print(dbgs()); }
+#endif
+
bool matchSimpleRecurrence(const PHINode *P);
bool matchConditionalRecurrence(
const PHINode *P,
@@ -628,6 +632,10 @@ void CRCTable::print(raw_ostream &OS) const {
}
}
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+void CRCTable::dump() const { print(dbgs()); }
+#endif
+
void HashRecognize::print(raw_ostream &OS) const {
if (!L.isInnermost())
return;
@@ -671,6 +679,10 @@ void HashRecognize::print(raw_ostream &OS) const {
genSarwateTable(Info.RHS, Info.ByteOrderSwapped).print(OS);
}
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+void HashRecognize::dump() const { print(dbgs()); }
+#endif
+
HashRecognize::HashRecognize(const Loop &L, ScalarEvolution &SE)
: L(L), SE(SE) {}
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Introduce dump methods to aid interactive debugging with GDB/LLDB. While at it, also fix the header comment in HashRecognize.cpp.
Introduce dump methods to aid interactive debugging with GDB/LLDB. While at it, also fix the header comment in HashRecognize.cpp.
Introduce dump methods to aid interactive debugging with GDB/LLDB. While at it, also fix the header comment in HashRecognize.cpp.