10 #ifndef LLVM_CLANG_CODEGEN_BACKENDUTIL_H
11 #define LLVM_CLANG_CODEGEN_BACKENDUTIL_H
14 #include "llvm/IR/ModuleSummaryIndex.h"
21 class MemoryBufferRef;
25 class DiagnosticsEngine;
26 class HeaderSearchOptions;
41 const CodeGenOptions &CGOpts,
42 const TargetOptions &TOpts,
const LangOptions &LOpts,
43 const llvm::DataLayout &TDesc, llvm::Module *M,
45 std::unique_ptr<raw_pwrite_stream> OS);
47 void EmbedBitcode(llvm::Module *M,
const CodeGenOptions &CGOpts,
48 llvm::MemoryBufferRef Buf);
Emit human-readable LLVM assembly.
Run CodeGen, but don't emit anything.
Don't emit anything (benchmarking mode)
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Emit native object files.
Emit native assembly files.
void EmbedBitcode(llvm::Module *M, const CodeGenOptions &CGOpts, llvm::MemoryBufferRef Buf)
void EmitBackendOutput(DiagnosticsEngine &Diags, const HeaderSearchOptions &, const CodeGenOptions &CGOpts, const TargetOptions &TOpts, const LangOptions &LOpts, const llvm::DataLayout &TDesc, llvm::Module *M, BackendAction Action, std::unique_ptr< raw_pwrite_stream > OS)
llvm::Expected< llvm::BitcodeModule > FindThinLTOModule(llvm::MemoryBufferRef MBRef)