|
LLVM
4.0.0
|
#include "llvm/LTO/LTO.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/Bitcode/BitcodeReader.h"#include "llvm/Bitcode/BitcodeWriter.h"#include "llvm/CodeGen/Analysis.h"#include "llvm/IR/AutoUpgrade.h"#include "llvm/IR/DiagnosticPrinter.h"#include "llvm/IR/LegacyPassManager.h"#include "llvm/LTO/LTOBackend.h"#include "llvm/Linker/IRMover.h"#include "llvm/Object/ModuleSummaryIndexObjectFile.h"#include "llvm/Support/ManagedStatic.h"#include "llvm/Support/MemoryBuffer.h"#include "llvm/Support/Path.h"#include "llvm/Support/SHA1.h"#include "llvm/Support/SourceMgr.h"#include "llvm/Support/TargetRegistry.h"#include "llvm/Support/ThreadPool.h"#include "llvm/Support/Threading.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Transforms/IPO.h"#include "llvm/Transforms/IPO/PassManagerBuilder.h"#include "llvm/Transforms/Utils/SplitModule.h"#include <set>Go to the source code of this file.
Classes | |
| struct | llvm::lto::InputFile::InputModule |
| class | llvm::lto::ThinBackendProc |
| This class defines the interface to the ThinLTO backend. More... | |
Macros | |
| #define | DEBUG_TYPE "lto" |
Functions | |
| static void | computeCacheKey (SmallString< 40 > &Key, const 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) |
| static void | thinLTOResolveWeakForLinkerGUID (GlobalValueSummaryList &GVSummaryList, GlobalValue::GUID GUID, DenseSet< GlobalValueSummary * > &GlobalInvolvedWithAlias, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, function_ref< void(StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage) |
| static void | thinLTOInternalizeAndPromoteGUID (GlobalValueSummaryList &GVSummaryList, GlobalValue::GUID GUID, function_ref< bool(StringRef, GlobalValue::GUID)> isExported) |
| static void | writeToResolutionFile (raw_ostream &OS, InputFile *Input, ArrayRef< SymbolResolution > Res) |
|
static |
Definition at line 52 of file LTO.cpp.
References A, llvm::lto::Config::AAPipeline, llvm::lto::Config::CGOptLevel, llvm::lto::Config::CodeModel, llvm::lto::Config::CPU, llvm::TargetOptions::DataSections, llvm::TargetOptions::DebuggerTuning, llvm::lto::Config::DefaultTriple, F, llvm::TargetOptions::FunctionSections, llvm::MemoryBuffer::getFile(), llvm::ModuleSummaryIndex::getModuleHash(), I, llvm::lto::Config::MAttrs, llvm::lto::Config::Options, llvm::lto::Config::OptLevel, llvm::lto::Config::OptPipeline, llvm::lto::Config::OverrideTriple, llvm::TargetOptions::RelaxELFRelocations, llvm::lto::Config::RelocModel, llvm::SHA1::result(), llvm::lto::Config::SampleProfile, llvm::toHex(), and llvm::SHA1::update().
|
static |
Definition at line 202 of file LTO.cpp.
References llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::InternalLinkage, and llvm::GlobalValue::isLocalLinkage().
Referenced by llvm::thinLTOInternalizeAndPromoteInIndex().
|
static |
Definition at line 141 of file LTO.cpp.
References llvm::GlobalValue::AvailableExternallyLinkage, llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), llvm::GlobalValue::getWeakLinkage(), llvm::GlobalValue::isLinkOnceLinkage(), llvm::GlobalValue::isLinkOnceODRLinkage(), llvm::GlobalValue::isWeakForLinker(), and llvm::GlobalValue::isWeakODRLinkage().
Referenced by llvm::thinLTOResolveWeakForLinkerInIndex().
|
static |
Definition at line 357 of file LTO.cpp.
References assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::lto::InputFile::Symbol::getName(), llvm::lto::InputFile::getName(), and llvm::lto::InputFile::symbols().
Referenced by llvm::lto::LTO::add().
1.8.6