LLVM
8.0.1
|
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/LTO/Config.h"
#include "llvm/Linker/IRMover.h"
#include "llvm/Object/IRSymtab.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Support/thread.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Transforms/IPO/FunctionImport.h"
Go to the source code of this file.
Classes | |
class | llvm::lto::InputFile |
An input file. More... | |
class | llvm::lto::InputFile::Symbol |
The purpose of this class is to only expose the symbol information that an LTO client should need in order to do symbol resolution. More... | |
class | llvm::lto::NativeObjectStream |
This class wraps an output stream for a native object. More... | |
class | llvm::lto::LTO |
This class implements a resolution-based interface to LLVM's LTO functionality. More... | |
struct | llvm::lto::LTO::RegularLTOState::CommonResolution |
struct | llvm::lto::LTO::RegularLTOState::AddedModule |
struct | llvm::lto::SymbolResolution |
The resolution for a symbol. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
llvm::lto | |
Typedefs | |
typedef std::function< std::unique_ptr< NativeObjectStream >unsigned Task)> | llvm::lto::AddStreamFn |
This type defines the callback to add a native object that is generated on the fly. More... | |
typedef std::function< AddStreamFn(unsigned Task, StringRef Key)> | llvm::lto::NativeObjectCache |
This is the type of a native object cache. More... | |
typedef std::function< std::unique_ptr< ThinBackendProc > Config &C, ModuleSummaryIndex &CombinedIndex, StringMap< GVSummaryMapTy > &ModuleToDefinedGVSummaries, AddStreamFn AddStream, NativeObjectCache Cache)> | llvm::lto::ThinBackend |
A ThinBackend defines what happens after the thin-link phase during ThinLTO. More... | |
using | llvm::lto::IndexWriteCallback = std::function< void(const std::string &)> |
This ThinBackend writes individual module indexes to files, instead of running the individual backend jobs. More... | |
Functions | |
void | llvm::thinLTOResolvePrevailingInIndex (ModuleSummaryIndex &Index, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, function_ref< void(StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage) |
Resolve linkage for prevailing symbols in the Index . More... | |
void | llvm::thinLTOInternalizeAndPromoteInIndex (ModuleSummaryIndex &Index, function_ref< bool(StringRef, GlobalValue::GUID)> isExported) |
Update the linkages in the given Index to mark exported values as external and non-exported values as internal. More... | |
void | llvm::computeLTOCacheKey (SmallString< 40 > &Key, const lto::Config &Conf, const ModuleSummaryIndex &Index, StringRef ModuleID, const FunctionImporter::ImportMapTy &ImportList, const FunctionImporter::ExportSetTy &ExportList, const std::map< GlobalValue::GUID, GlobalValue::LinkageTypes > &ResolvedODR, const GVSummaryMapTy &DefinedGlobals, const std::set< GlobalValue::GUID > &CfiFunctionDefs={}, const std::set< GlobalValue::GUID > &CfiFunctionDecls={}) |
Computes a unique hash for the Module considering the current list of export/import and other global analysis results. More... | |
std::string | llvm::lto::getThinLTOOutputFile (const std::string &Path, const std::string &OldPrefix, const std::string &NewPrefix) |
Given the original Path to an output file, replace any path prefix matching OldPrefix with NewPrefix . More... | |
Expected< std::unique_ptr< ToolOutputFile > > | llvm::lto::setupOptimizationRemarks (LLVMContext &Context, StringRef LTORemarksFilename, bool LTOPassRemarksWithHotness, int Count=-1) |
Setup optimization remarks. More... | |
ThinBackend | llvm::lto::createInProcessThinBackend (unsigned ParallelismLevel) |
This ThinBackend runs the individual backend jobs in-process. More... | |
ThinBackend | llvm::lto::createWriteIndexesThinBackend (std::string OldPrefix, std::string NewPrefix, bool ShouldEmitImportsFiles, raw_fd_ostream *LinkedObjectsFile, IndexWriteCallback OnWrite) |