10 #ifndef LLVM_CLANG_CODEGEN_CODEGENACTION_H
11 #define LLVM_CLANG_CODEGEN_CODEGENACTION_H
22 class BackendConsumer;
27 std::unique_ptr<llvm::Module> TheModule;
28 llvm::Module *LinkModule;
29 llvm::LLVMContext *VMContext;
36 CodeGenAction(
unsigned _Act, llvm::LLVMContext *_VMContext =
nullptr);
41 StringRef InFile)
override;
66 virtual void anchor();
72 virtual void anchor();
78 virtual void anchor();
84 virtual void anchor();
90 virtual void anchor();
96 virtual void anchor();
bool hasIRSupport() const override
Does this action support use with IR files?
void EndSourceFileAction() override
Callback at the end of processing a single input.
void ExecuteAction() override
Callback to run the program action, using the initialized compiler instance.
BackendConsumer * BEConsumer
EmitLLVMAction(llvm::LLVMContext *_VMContext=nullptr)
~CodeGenAction() override
CodeGenAction(unsigned _Act, llvm::LLVMContext *_VMContext=nullptr)
EmitObjAction(llvm::LLVMContext *_VMContext=nullptr)
EmitBCAction(llvm::LLVMContext *_VMContext=nullptr)
EmitCodeGenOnlyAction(llvm::LLVMContext *_VMContext=nullptr)
Abstract base class to use for AST consumer-based frontend actions.
EmitLLVMOnlyAction(llvm::LLVMContext *_VMContext=nullptr)
std::unique_ptr< llvm::Module > takeModule()
std::unique_ptr< ASTConsumer > CreateASTConsumer(CompilerInstance &CI, StringRef InFile) override
Create the AST consumer object for this action, if supported.
EmitAssemblyAction(llvm::LLVMContext *_VMContext=nullptr)
llvm::LLVMContext * takeLLVMContext()
Take the LLVM context used by this action.
Defines the clang::FrontendAction interface and various convenience abstract classes (clang::ASTFront...
void setLinkModule(llvm::Module *Mod)