File indexing completed on 2026-05-10 08:43:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef LLVM_EXECUTIONENGINE_ORC_DEBUGUTILS_H
0014 #define LLVM_EXECUTIONENGINE_ORC_DEBUGUTILS_H
0015
0016 #include "llvm/ADT/ArrayRef.h"
0017 #include "llvm/ExecutionEngine/Orc/Core.h"
0018 #include "llvm/ExecutionEngine/Orc/SymbolStringPool.h"
0019 #include "llvm/Support/Error.h"
0020 #include "llvm/Support/raw_ostream.h"
0021 #include <memory>
0022 #include <string>
0023
0024 namespace llvm {
0025
0026 class MemoryBuffer;
0027
0028 namespace orc {
0029
0030
0031
0032
0033 raw_ostream &operator<<(raw_ostream &OS, const SymbolNameSet &Symbols);
0034
0035
0036 raw_ostream &operator<<(raw_ostream &OS, const SymbolNameVector &Symbols);
0037
0038
0039 raw_ostream &operator<<(raw_ostream &OS, ArrayRef<SymbolStringPtr> Symbols);
0040
0041
0042 raw_ostream &operator<<(raw_ostream &OS, const JITSymbolFlags &Flags);
0043
0044
0045 raw_ostream &operator<<(raw_ostream &OS, const SymbolFlagsMap::value_type &KV);
0046
0047
0048 raw_ostream &operator<<(raw_ostream &OS, const SymbolMap::value_type &KV);
0049
0050
0051 raw_ostream &operator<<(raw_ostream &OS, const SymbolFlagsMap &SymbolFlags);
0052
0053
0054 raw_ostream &operator<<(raw_ostream &OS, const SymbolMap &Symbols);
0055
0056
0057 raw_ostream &operator<<(raw_ostream &OS,
0058 const SymbolDependenceMap::value_type &KV);
0059
0060
0061 raw_ostream &operator<<(raw_ostream &OS, const SymbolDependenceMap &Deps);
0062
0063
0064 raw_ostream &operator<<(raw_ostream &OS, const MaterializationUnit &MU);
0065
0066
0067 raw_ostream &operator<<(raw_ostream &OS,
0068 const JITDylibLookupFlags &JDLookupFlags);
0069
0070
0071 raw_ostream &operator<<(raw_ostream &OS, const SymbolLookupFlags &LookupFlags);
0072
0073
0074 raw_ostream &operator<<(raw_ostream &OS, const SymbolLookupSet::value_type &KV);
0075
0076
0077 raw_ostream &operator<<(raw_ostream &OS, const SymbolLookupSet &LookupSet);
0078
0079
0080 raw_ostream &operator<<(raw_ostream &OS,
0081 const JITDylibSearchOrder &SearchOrder);
0082
0083
0084 raw_ostream &operator<<(raw_ostream &OS, const SymbolAliasMap &Aliases);
0085
0086
0087 raw_ostream &operator<<(raw_ostream &OS, const SymbolState &S);
0088
0089
0090 raw_ostream &operator<<(raw_ostream &OS, const LookupKind &K);
0091
0092
0093 raw_ostream &operator<<(raw_ostream &OS, const SymbolStringPool &SSP);
0094
0095
0096
0097 class DumpObjects {
0098 public:
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112 DumpObjects(std::string DumpDir = "", std::string IdentifierOverride = "");
0113
0114
0115 Expected<std::unique_ptr<MemoryBuffer>>
0116 operator()(std::unique_ptr<MemoryBuffer> Obj);
0117
0118 private:
0119 StringRef getBufferIdentifier(MemoryBuffer &B);
0120 std::string DumpDir;
0121 std::string IdentifierOverride;
0122 };
0123
0124 }
0125 }
0126
0127 #endif