|
clang
5.0.0
|
#include "clang/CodeGen/BackendUtil.h"#include "clang/Basic/Diagnostic.h"#include "clang/Basic/LangOptions.h"#include "clang/Basic/TargetOptions.h"#include "clang/Frontend/CodeGenOptions.h"#include "clang/Frontend/FrontendDiagnostic.h"#include "clang/Frontend/Utils.h"#include "clang/Lex/HeaderSearchOptions.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringSwitch.h"#include "llvm/ADT/Triple.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/Bitcode/BitcodeReader.h"#include "llvm/Bitcode/BitcodeWriter.h"#include "llvm/Bitcode/BitcodeWriterPass.h"#include "llvm/CodeGen/RegAllocRegistry.h"#include "llvm/CodeGen/SchedulerRegistry.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/IRPrintingPasses.h"#include "llvm/IR/LegacyPassManager.h"#include "llvm/IR/Module.h"#include "llvm/IR/ModuleSummaryIndex.h"#include "llvm/IR/Verifier.h"#include "llvm/LTO/LTOBackend.h"#include "llvm/MC/MCAsmInfo.h"#include "llvm/MC/SubtargetFeature.h"#include "llvm/Passes/PassBuilder.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/MemoryBuffer.h"#include "llvm/Support/PrettyStackTrace.h"#include "llvm/Support/TargetRegistry.h"#include "llvm/Support/Timer.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Target/TargetSubtargetInfo.h"#include "llvm/Transforms/Coroutines.h"#include "llvm/Transforms/IPO.h"#include "llvm/Transforms/IPO/AlwaysInliner.h"#include "llvm/Transforms/IPO/PassManagerBuilder.h"#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h"#include "llvm/Transforms/Instrumentation.h"#include "llvm/Transforms/ObjCARC.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Scalar/GVN.h"#include "llvm/Transforms/Utils/NameAnonGlobals.h"#include "llvm/Transforms/Utils/SymbolRewriter.h"#include <memory>Go to the source code of this file.
Functions | |
| static void | addObjCARCAPElimPass (const PassManagerBuilder &Builder, PassManagerBase &PM) |
| static void | addObjCARCExpandPass (const PassManagerBuilder &Builder, PassManagerBase &PM) |
| static void | addObjCARCOptPass (const PassManagerBuilder &Builder, PassManagerBase &PM) |
| static void | addAddDiscriminatorsPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addBoundsCheckingPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addSanitizerCoveragePass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static bool | asanUseGlobalsGC (const Triple &T, const CodeGenOptions &CGOpts) |
| static void | addAddressSanitizerPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addKernelAddressSanitizerPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addMemorySanitizerPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addThreadSanitizerPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addDataFlowSanitizerPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addEfficiencySanitizerPass (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static TargetLibraryInfoImpl * | createTLII (llvm::Triple &TargetTriple, const CodeGenOptions &CodeGenOpts) |
| static void | addSymbolRewriterPass (const CodeGenOptions &Opts, legacy::PassManager *MPM) |
| static CodeGenOpt::Level | getCGOptLevel (const CodeGenOptions &CodeGenOpts) |
| static llvm::CodeModel::Model | getCodeModel (const CodeGenOptions &CodeGenOpts) |
| static llvm::Reloc::Model | getRelocModel (const CodeGenOptions &CodeGenOpts) |
| static TargetMachine::CodeGenFileType | getCodeGenFileType (BackendAction Action) |
| static void | initTargetOptions (llvm::TargetOptions &Options, const CodeGenOptions &CodeGenOpts, const clang::TargetOptions &TargetOpts, const LangOptions &LangOpts, const HeaderSearchOptions &HSOpts) |
| static void | setCommandLineOpts (const CodeGenOptions &CodeGenOpts) |
| static PassBuilder::OptimizationLevel | mapToLevel (const CodeGenOptions &Opts) |
| static void | runThinLTOBackend (ModuleSummaryIndex *CombinedIndex, Module *M, const HeaderSearchOptions &HeaderOpts, const CodeGenOptions &CGOpts, const clang::TargetOptions &TOpts, const LangOptions &LOpts, std::unique_ptr< raw_pwrite_stream > OS, std::string SampleProfile, BackendAction Action) |
| static const char * | getSectionNameForBitcode (const Triple &T) |
| static const char * | getSectionNameForCommandline (const Triple &T) |
|
static |
Definition at line 164 of file BackendUtil.cpp.
|
static |
Definition at line 213 of file BackendUtil.cpp.
References asanUseGlobalsGC(), Builder, clang::SanitizerSet::has(), and clang::CodeGenOptions::SanitizeRecover.
|
static |
Definition at line 169 of file BackendUtil.cpp.
|
static |
Definition at line 264 of file BackendUtil.cpp.
References Builder, and clang::LangOptions::SanitizerBlacklistFiles.
|
static |
Definition at line 272 of file BackendUtil.cpp.
References Builder, clang::SanitizerSet::has(), clang::if(), and clang::LangOptions::Sanitize.
|
static |
Definition at line 228 of file BackendUtil.cpp.
|
static |
Definition at line 237 of file BackendUtil.cpp.
References Builder, clang::SanitizerSet::has(), and clang::CodeGenOptions::SanitizeRecover.
|
static |
Definition at line 149 of file BackendUtil.cpp.
|
static |
Definition at line 154 of file BackendUtil.cpp.
|
static |
Definition at line 159 of file BackendUtil.cpp.
|
static |
Definition at line 174 of file BackendUtil.cpp.
References Builder.
|
static |
Definition at line 311 of file BackendUtil.cpp.
References clang::CodeGenOptions::RewriteMapFiles.
|
static |
Definition at line 259 of file BackendUtil.cpp.
|
static |
Definition at line 199 of file BackendUtil.cpp.
Referenced by addAddressSanitizerPasses().
|
static |
Definition at line 285 of file BackendUtil.cpp.
References clang::CodeGenOptions::Accelerate, clang::CodeGenOptions::getNoBuiltinFuncs(), and clang::CodeGenOptions::SVML.
|
static |
Definition at line 322 of file BackendUtil.cpp.
References clang::LangAS::Default, and clang::None.
Referenced by runThinLTOBackend().
|
static |
Definition at line 365 of file BackendUtil.cpp.
References clang::Backend_EmitAssembly, clang::Backend_EmitMCNull, and clang::Backend_EmitObj.
Referenced by runThinLTOBackend().
|
static |
Definition at line 337 of file BackendUtil.cpp.
References clang::CodeGenOptions::CodeModel, and clang::LangAS::Default.
Referenced by runThinLTOBackend().
|
static |
Definition at line 350 of file BackendUtil.cpp.
References clang::CodeGenOptions::RelocationModel.
Referenced by runThinLTOBackend().
|
static |
Definition at line 1149 of file BackendUtil.cpp.
Referenced by clang::EmbedBitcode().
|
static |
Definition at line 1162 of file BackendUtil.cpp.
Referenced by clang::EmbedBitcode().
|
static |
Definition at line 376 of file BackendUtil.cpp.
References clang::TargetOptions::ABI, clang::frontend::Angled, clang::LangAS::Default, clang::TargetOptions::EABIVersion, clang::CodeGenOptions::FloatABI, clang::LangOptions::FPC_Fast, clang::LangOptions::FPC_Off, clang::LangOptions::FPC_On, clang::frontend::Quoted, clang::CodeGenOptions::SplitDwarfFile, clang::HeaderSearchOptions::Sysroot, clang::frontend::System, clang::CodeGenOptions::ThreadModel, and clang::HeaderSearchOptions::UserEntries.
Referenced by runThinLTOBackend().
|
static |
Definition at line 794 of file BackendUtil.cpp.
|
static |
Definition at line 993 of file BackendUtil.cpp.
References clang::Backend_EmitBC, clang::Backend_EmitLL, clang::Backend_EmitNothing, clang::TargetOptions::CPU, E, clang::TargetOptions::Features, clang::FindThinLTOModule(), getCGOptLevel(), getCodeGenFileType(), getCodeModel(), getRelocModel(), I, initTargetOptions(), clang::Module::print(), and setCommandLineOpts().
|
static |
Definition at line 631 of file BackendUtil.cpp.
References clang::CodeGenOptions::BackendOptions, clang::CodeGenOptions::DebugPass, and clang::CodeGenOptions::LimitFloatPrecision.
Referenced by runThinLTOBackend().
1.8.6