9 #ifndef LLVM_CLANG_CODEGEN_CODEGENACTION_H 10 #define LLVM_CLANG_CODEGEN_CODEGENACTION_H 21 class BackendConsumer;
31 std::unique_ptr<llvm::Module>
Module;
46 std::unique_ptr<llvm::Module> TheModule;
50 llvm::LLVMContext *VMContext;
53 std::unique_ptr<llvm::Module> loadModule(llvm::MemoryBufferRef MBRef);
59 CodeGenAction(
unsigned _Act, llvm::LLVMContext *_VMContext =
nullptr);
61 bool hasIRSupport()
const override;
64 StringRef InFile)
override;
66 void ExecuteAction()
override;
68 void EndSourceFileAction()
override;
75 std::unique_ptr<llvm::Module> takeModule();
78 llvm::LLVMContext *takeLLVMContext();
84 virtual void anchor();
90 virtual void anchor();
96 virtual void anchor();
102 virtual void anchor();
108 virtual void anchor();
114 virtual void anchor();
Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion...
Describes a module or submodule.
BackendConsumer * BEConsumer
CompilerInstance - Helper class for managing a single instance of the Clang compiler.
Abstract base class to use for AST consumer-based frontend actions.
Dataflow Directional Tag Classes.
Defines the clang::FrontendAction interface and various convenience abstract classes (clang::ASTFront...