LLVM  4.0.0
Functions
of APIs to run individual stages in isolation.

Functions

std::unique_ptr
< ModuleSummaryIndex
llvm::ThinLTOCodeGenerator::linkCombinedIndex ()
 Produce the combined summary index from all the bitcode files: "thin-link". More...
 
void llvm::ThinLTOCodeGenerator::promote (Module &Module, ModuleSummaryIndex &Index)
 Perform promotion and renaming of exported internal functions, and additionally resolve weak and linkonce symbols. More...
 
static void llvm::ThinLTOCodeGenerator::emitImports (StringRef ModulePath, StringRef OutputName, ModuleSummaryIndex &Index)
 Compute and emit the imported files for module at ModulePath. More...
 
void llvm::ThinLTOCodeGenerator::crossModuleImport (Module &Module, ModuleSummaryIndex &Index)
 Perform cross-module importing for the module identified by ModuleIdentifier. More...
 
static void llvm::ThinLTOCodeGenerator::gatherImportedSummariesForModule (StringRef ModulePath, ModuleSummaryIndex &Index, std::map< std::string, GVSummaryMapTy > &ModuleToSummariesForIndex)
 Compute the list of summaries needed for importing into module. More...
 
void llvm::ThinLTOCodeGenerator::internalize (Module &Module, ModuleSummaryIndex &Index)
 Perform internalization. More...
 
void llvm::ThinLTOCodeGenerator::optimize (Module &Module)
 Perform post-importing ThinLTO optimizations. More...
 
std::unique_ptr< MemoryBufferllvm::ThinLTOCodeGenerator::codegen (Module &Module)
 Perform ThinLTO CodeGen. More...
 

Detailed Description

Function Documentation

std::unique_ptr< MemoryBuffer > ThinLTOCodeGenerator::codegen ( Module Module)

Perform ThinLTO CodeGen.

Definition at line 789 of file ThinLTOCodeGenerator.cpp.

References llvm::TargetMachineBuilder::create(), and llvm::Module::getTargetTriple().

Referenced by llvm::ThinLTOCodeGenerator::run().

void ThinLTOCodeGenerator::crossModuleImport ( Module Module,
ModuleSummaryIndex Index 
)
void ThinLTOCodeGenerator::emitImports ( StringRef  ModulePath,
StringRef  OutputName,
ModuleSummaryIndex Index 
)
static

Compute and emit the imported files for module at ModulePath.

Emit the list of files needed for importing into module.

Definition at line 711 of file ThinLTOCodeGenerator.cpp.

References llvm::ModuleSummaryIndex::collectDefinedGVSummariesPerModule(), llvm::ComputeCrossModuleImport(), llvm::EmitImportsFiles(), llvm::ModuleSummaryIndex::modulePaths(), llvm::report_fatal_error(), and llvm::StringMapImpl::size().

void ThinLTOCodeGenerator::gatherImportedSummariesForModule ( StringRef  ModulePath,
ModuleSummaryIndex Index,
std::map< std::string, GVSummaryMapTy > &  ModuleToSummariesForIndex 
)
static
void ThinLTOCodeGenerator::internalize ( Module TheModule,
ModuleSummaryIndex Index 
)
std::unique_ptr< ModuleSummaryIndex > ThinLTOCodeGenerator::linkCombinedIndex ( )

Produce the combined summary index from all the bitcode files: "thin-link".

Definition at line 586 of file ThinLTOCodeGenerator.cpp.

References llvm::object::ModuleSummaryIndexObjectFile::create(), llvm::errs(), llvm::logAllUnhandledErrors(), llvm::ModuleSummaryIndex::mergeFrom(), and llvm::Expected< T >::takeError().

Referenced by llvm::ThinLTOCodeGenerator::run().

void ThinLTOCodeGenerator::optimize ( Module Module)

Perform post-importing ThinLTO optimizations.

Definition at line 779 of file ThinLTOCodeGenerator.cpp.

References llvm::TargetMachineBuilder::create(), and llvm::Module::getTargetTriple().

void ThinLTOCodeGenerator::promote ( Module TheModule,
ModuleSummaryIndex Index 
)