#include "LTO.h"
#include "Config.h"
#include "Driver.h"
#include "InputFiles.h"
#include "Symbols.h"
#include "Target.h"
#include "lld/Common/Args.h"
#include "lld/Common/CommonLinkerContext.h"
#include "lld/Common/Filesystem.h"
#include "lld/Common/Strings.h"
#include "lld/Common/TargetOptionsCommandFlags.h"
#include "llvm/Bitcode/BitcodeWriter.h"
#include "llvm/LTO/Config.h"
#include "llvm/LTO/LTO.h"
#include "llvm/Support/Caching.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/ObjCARC.h"
usingnamespacelld;
usingnamespacelld::macho;
usingnamespacellvm;
usingnamespacellvm::MachO;
usingnamespacellvm::sys;
static std::string getThinLTOOutputFile(StringRef modulePath) { … }
static lto::Config createConfig() { … }
static void saveOrHardlinkBuffer(StringRef buffer, const Twine &path,
std::optional<StringRef> originalPath) { … }
BitcodeCompiler::BitcodeCompiler() { … }
void BitcodeCompiler::add(BitcodeFile &f) { … }
static void thinLTOCreateEmptyIndexFiles() { … }
std::vector<ObjFile *> BitcodeCompiler::compile() { … }