#ifndef LLVM_CGDATA_CODEGENDATA_H
#define LLVM_CGDATA_CODEGENDATA_H
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/CGData/OutlinedHashTree.h"
#include "llvm/CGData/OutlinedHashTreeRecord.h"
#include "llvm/IR/Module.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/Triple.h"
#include <mutex>
namespace llvm {
enum CGDataSectKind { … };
std::string getCodeGenDataSectionName(CGDataSectKind CGSK,
Triple::ObjectFormatType OF,
bool AddSegmentInfo = true);
enum class CGDataKind { … };
const std::error_category &cgdata_category();
enum class cgdata_error { … };
inline std::error_code make_error_code(cgdata_error E) { … }
class CGDataError : public ErrorInfo<CGDataError> { … };
enum CGDataMode { … };
class CodeGenData { … };
namespace cgdata {
inline bool hasOutlinedHashTree() { … }
inline const OutlinedHashTree *getOutlinedHashTree() { … }
inline bool emitCGData() { … }
inline void
publishOutlinedHashTree(std::unique_ptr<OutlinedHashTree> HashTree) { … }
void warn(Error E, StringRef Whence = "");
void warn(Twine Message, std::string Whence = "", std::string Hint = "");
}
namespace IndexedCGData {
const uint64_t Magic = …;
enum CGDataVersion { … };
const uint64_t Version = …;
struct Header { … };
}
}
#endif