Go to the documentation of this file.
13 #ifndef LLVM_CLANG_CODEGEN_MODULEBUILDER_H
14 #define LLVM_CLANG_CODEGEN_MODULEBUILDER_H
27 class CoverageSourceInfo;
29 class DiagnosticsEngine;
31 class HeaderSearchOptions;
33 class PreprocessorOptions;
44 virtual void anchor();
93 llvm::Module*
StartModule(llvm::StringRef ModuleName, llvm::LLVMContext &C);
100 llvm::StringRef ModuleName,
104 llvm::LLVMContext& C,
CodeGen::CodeGenModule & CGM()
Return an opaque reference to the CodeGenModule object, which can be used in various secondary APIs.
The primary public interface to the Clang code generator.
YAML serialization mapping.
llvm::Constant * GetAddrOfGlobal(GlobalDecl decl, bool isForDefinition)
Return the LLVM address of the given global entity.
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
CodeGen::CGDebugInfo * getCGDebugInfo()
Return debug info code generator.
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.
Concrete class used by the front-end to report problems and issues.
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...
Stores additional source code information like skipped ranges which is required by the coverage mappi...
GlobalDecl - represents a global declaration.
@ Decl
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
llvm::StringRef GetMangledName(GlobalDecl GD)
Given a global declaration, return a mangled name for this declaration which has been added to this c...
llvm::Module * StartModule(llvm::StringRef ModuleName, llvm::LLVMContext &C)
Create a new llvm::Module after calling HandleTranslationUnit.
ASTConsumer - This is an abstract interface that should be implemented by clients that read ASTs.
This class gathers all debug information during compilation and is responsible for emitting to llvm g...
CodeGenOptions - Track various options which control how the code is optimized and passed to the back...
const internal::VariadicAllOfMatcher< Decl > decl
Matches declarations.
llvm::Module * GetModule()
Return the module that this code generator is building into.
This class organizes the cross-function state that is used while generating LLVM code.
Decl - This represents one declaration (or definition), e.g.
llvm::Module * ReleaseModule()
Release ownership of the module to the caller.