[clang] cirgenmodule buildtopleveldecl husk (PR #90831)
Bruno Cardoso Lopes via cfe-commits
cfe-commits at lists.llvm.org
Thu May 2 14:50:25 PDT 2024
================
@@ -0,0 +1,62 @@
+//===---- CIRGenAction.h - CIR Code Generation Frontend Action -*- C++ -*--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_CIR_CIRGENACTION_H
+#define LLVM_CLANG_CIR_CIRGENACTION_H
+
+#include "clang/Frontend/FrontendAction.h"
+
+namespace mlir {
+class MLIRContext;
+class ModuleOp;
+template <typename T> class OwningOpRef;
+} // namespace mlir
+
+namespace cir {
+
+class CIRGenAction : public clang::ASTFrontendAction {
+public:
+ enum class OutputType {
+ EmitCIR,
+ };
+
+private:
+ friend class CIRGenConsumer;
+
+ // TODO: this is redundant but just using the OwningModuleRef requires more of
+ // clang against MLIR. Hide this somewhere else.
+ std::unique_ptr<mlir::OwningOpRef<mlir::ModuleOp>> mlirModule;
+
+ mlir::MLIRContext *mlirContext;
+
+protected:
+ CIRGenAction(OutputType action, mlir::MLIRContext *mlirContext = nullptr);
+
+ void foo() {
----------------
bcardosolopes wrote:
What is this about?
https://github.com/llvm/llvm-project/pull/90831
More information about the cfe-commits
mailing list