14 #ifndef LLVM_CLANG_CODEGEN_MODULEBUILDER_H
15 #define LLVM_CLANG_CODEGEN_MODULEBUILDER_H
27 class CoverageSourceInfo;
29 class DiagnosticsEngine;
31 class HeaderSearchOptions;
33 class PreprocessorOptions;
43 virtual void anchor();
88 llvm::StringRef ModuleName,
llvm::Constant * GetAddrOfGlobal(GlobalDecl decl, bool isForDefinition)
Return the LLVM address of the given global entity.
ASTConsumer - This is an abstract interface that should be implemented by clients that read ASTs...
Stores additional source code information like skipped ranges which is required by the coverage mappi...
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
llvm::Module * ReleaseModule()
Release ownership of the module to the caller.
const internal::VariadicAllOfMatcher< Decl > decl
Matches declarations.
Concrete class used by the front-end to report problems and issues.
CodeGenerator * CreateLLVMCodeGen(DiagnosticsEngine &Diags, llvm::StringRef ModuleName, const HeaderSearchOptions &HeaderSearchOpts, const PreprocessorOptions &PreprocessorOpts, const CodeGenOptions &CGO, llvm::LLVMContext &C, CoverageSourceInfo *CoverageInfo=nullptr)
CreateLLVMCodeGen - Create a CodeGenerator instance.
The primary public interface to the Clang code generator.
llvm::Module * GetModule()
Return the module that this code generator is building into.
GlobalDecl - represents a global declaration.
CodeGen::CodeGenModule & CGM()
Return an opaque reference to the CodeGenModule object, which can be used in various secondary APIs...
const Decl * GetDeclForMangledName(llvm::StringRef MangledName)
Given a mangled name, return a declaration which mangles that way which has been added to this code g...
This class organizes the cross-function state that is used while generating LLVM code.
CodeGenOptions - Track various options which control how the code is optimized and passed to the back...