14#ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVCOMPARE_H
15#define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVCOMPARE_H
20namespace logicalview {
25using LVPassEntry = std::tuple<LVReader *, LVElement *, LVComparePass>;
44 bool FirstMissing =
true;
45 bool PrintLines =
false;
46 bool PrintScopes =
false;
47 bool PrintSymbols =
false;
48 bool PrintTypes =
false;
50 static void setInstance(
LVCompare *Compare);
52 void printCurrentStack();
53 void printSummary()
const;
72 PassTable.emplace_back(Reader, Element,
Pass);
79#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
Lightweight error class with error context and mandatory checking.
Pass interface - Implemented by all 'passes'.
void push_back(const T &Elt)
void print(raw_ostream &OS) const
void printItem(LVElement *Element, LVComparePass Pass)
LVCompare(const LVCompare &)=delete
static LVCompare & getInstance()
LVCompare & operator=(const LVCompare &)=delete
const LVPassTable & getPassTable() const &
void push(LVScope *Scope)
Error execute(LVReader *ReferenceReader, LVReader *TargetReader)
void addPassEntry(LVReader *Reader, LVElement *Element, LVComparePass Pass)
The logical reader owns of all the logical elements created during the debug information parsing.
This class implements an extremely fast bulk output stream that can only output to a stream.
std::tuple< LVReader *, LVElement *, LVComparePass > LVPassEntry
std::vector< LVPassEntry > LVPassTable
LVCompare & getComparator()
This is an optimization pass for GlobalISel generic memory operations.
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.