LLVM 20.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
CodeGenData.h File Reference
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/StableHashing.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/CGData/OutlinedHashTree.h"
#include "llvm/CGData/OutlinedHashTreeRecord.h"
#include "llvm/CGData/StableFunctionMapRecord.h"
#include "llvm/IR/Module.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Caching.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/TargetParser/Triple.h"
#include <mutex>
#include "llvm/CGData/CodeGenData.inc"

Go to the source code of this file.

Classes

class  llvm::CGDataError
 
class  llvm::CodeGenData
 
struct  llvm::cgdata::StreamCacheData
 
struct  llvm::IndexedCGData::Header
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::cgdata
 
namespace  llvm::IndexedCGData
 

Macros

#define CG_DATA_SECT_ENTRY(Kind, SectNameCommon, SectNameCoff, Prefix)   Kind,
 

Enumerations

enum  llvm::CGDataSectKind
 
enum class  llvm::CGDataKind { llvm::Unknown = 0x0 , llvm::FunctionOutlinedHashTree = 0x1 , llvm::StableFunctionMergingMap = 0x2 }
 
enum class  llvm::cgdata_error {
  llvm::success = 0 , llvm::eof , llvm::bad_magic , llvm::bad_header ,
  llvm::empty_cgdata , llvm::malformed , llvm::unsupported_version
}
 
enum  llvm::CGDataMode { llvm::None = 0 , llvm::Read , llvm::Write }
 
enum  llvm::IndexedCGData::CGDataVersion { llvm::IndexedCGData::Version1 = 1 , llvm::IndexedCGData::Version2 = 2 , llvm::IndexedCGData::CurrentVersion = CG_DATA_INDEX_VERSION }
 

Functions

std::string llvm::getCodeGenDataSectionName (CGDataSectKind CGSK, Triple::ObjectFormatType OF, bool AddSegmentInfo=true)
 
const std::error_category & llvm::cgdata_category ()
 
std::error_code llvm::make_error_code (cgdata_error E)
 
bool llvm::cgdata::hasOutlinedHashTree ()
 
bool llvm::cgdata::hasStableFunctionMap ()
 
const OutlinedHashTree * llvm::cgdata::getOutlinedHashTree ()
 
const StableFunctionMap * llvm::cgdata::getStableFunctionMap ()
 
bool llvm::cgdata::emitCGData ()
 
void llvm::cgdata::publishOutlinedHashTree (std::unique_ptr< OutlinedHashTree > HashTree)
 
void llvm::cgdata::publishStableFunctionMap (std::unique_ptr< StableFunctionMap > FunctionMap)
 
void llvm::cgdata::saveModuleForTwoRounds (const Module &TheModule, unsigned Task, AddStreamFn AddStream)
 Save TheModule before the first codegen round.
 
std::unique_ptr< Modulellvm::cgdata::loadModuleForTwoRounds (BitcodeModule &OrigModule, unsigned Task, LLVMContext &Context, ArrayRef< StringRef > IRFiles)
 Load the optimized bitcode module for the second codegen round.
 
Expected< stable_hashllvm::cgdata::mergeCodeGenData (ArrayRef< StringRef > ObjectFiles)
 Merge the codegen data from the scratch objects ObjectFiles from the first codegen round.
 
void llvm::cgdata::warn (Error E, StringRef Whence="")
 
void llvm::cgdata::warn (Twine Message, std::string Whence="", std::string Hint="")
 

Variables

const uint64_t llvm::IndexedCGData::Magic = 0x81617461646763ff
 
const uint64_t llvm::IndexedCGData::Version = CGDataVersion::CurrentVersion
 

Macro Definition Documentation

◆ CG_DATA_SECT_ENTRY

#define CG_DATA_SECT_ENTRY (   Kind,
  SectNameCommon,
  SectNameCoff,
  Prefix 
)    Kind,

Definition at line 33 of file CodeGenData.h.