|
LLVM
4.0.0
|
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< MemoryBuffer > | llvm::ThinLTOCodeGenerator::codegen (Module &Module) |
| Perform ThinLTO CodeGen. More... | |
| 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 | ||
| ) |
Perform cross-module importing for the module identified by ModuleIdentifier.
Definition at line 659 of file ThinLTOCodeGenerator.cpp.
References llvm::ModuleSummaryIndex::collectDefinedGVSummariesPerModule(), llvm::ComputeCrossModuleImport(), llvm::computeDeadSymbols(), llvm::Module::getModuleIdentifier(), llvm::Module::getTargetTriple(), llvm::ModuleSummaryIndex::modulePaths(), and llvm::StringMapImpl::size().
|
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().
|
static |
Compute the list of summaries needed for importing into module.
Definition at line 688 of file ThinLTOCodeGenerator.cpp.
References llvm::ModuleSummaryIndex::collectDefinedGVSummariesPerModule(), llvm::ComputeCrossModuleImport(), llvm::gatherImportedSummariesForModule(), llvm::ModuleSummaryIndex::modulePaths(), and llvm::StringMapImpl::size().
| void ThinLTOCodeGenerator::internalize | ( | Module & | TheModule, |
| ModuleSummaryIndex & | Index | ||
| ) |
Perform internalization.
Index is updated to reflect linkage changes.
Definition at line 735 of file ThinLTOCodeGenerator.cpp.
References llvm::ModuleSummaryIndex::collectDefinedGVSummariesPerModule(), llvm::ComputeCrossModuleImport(), llvm::computeDeadSymbols(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::Module::getModuleIdentifier(), llvm::Module::getTargetTriple(), llvm::ModuleSummaryIndex::modulePaths(), llvm::StringMapImpl::size(), llvm::TargetMachineBuilder::TheTriple, llvm::thinLTOInternalizeAndPromoteInIndex(), and llvm::thinLTOInternalizeModule().
| 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 | ||
| ) |
Perform promotion and renaming of exported internal functions, and additionally resolve weak and linkonce symbols.
Perform promotion and renaming of exported internal functions.
Index is updated to reflect linkage changes from weak resolution.
Definition at line 614 of file ThinLTOCodeGenerator.cpp.
References llvm::ModuleSummaryIndex::collectDefinedGVSummariesPerModule(), llvm::ComputeCrossModuleImport(), llvm::computeDeadSymbols(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::Module::getModuleIdentifier(), llvm::Module::getTargetTriple(), llvm::ModuleSummaryIndex::modulePaths(), llvm::StringMapImpl::size(), llvm::thinLTOInternalizeAndPromoteInIndex(), and llvm::thinLTOResolveWeakForLinkerModule().
1.8.6