https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/131945
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/131945
>From ef54ceca65c8a62544651cbbd30967efc7adec36 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Tue, 18 Mar 2025 17:37:26 -0700
Subject: [PATCH 1/2] [CIR] Upstream a basic version of class LexicalScope
Upst
dkolsen-pgi wrote:
There are some small functions in this change that are not called or otherwise
used in this change. But they will definitely be used in future upstream
patches. Since they are small and don't bring in any new dependencies and are
complete (won't need to be changed in futur
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/131945
Upstream the parts of class `CIRGenFunction::LexicalScope` that implement
function return values. There is a bit of other functionality in here, such as
the implicit `cir.yield` at the end of a non-functio
@@ -0,0 +1,58 @@
+// RUN: cir-opt %s -cir-flatten-cfg -o - | FileCheck %s
+
+module {
+ cir.func @foo() {
+cir.scope {
+ %0 = cir.alloca !cir.int, !cir.ptr>, ["a", init]
{alignment = 4 : i64}
+ %1 = cir.const #cir.int<4> : !cir.int
+ cir.store %1, %0 : !cir.in
dkolsen-pgi wrote:
I have mixed feelings about this change. It mostly overlaps with what I am
working on, which is class `LexicalScope`, which has a bunch of the code for
handling the return value. I think I would prefer that this PR be dropped, as
the changes will be part of the PR I am wor
https://github.com/dkolsen-pgi edited
https://github.com/llvm/llvm-project/pull/129072
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,63 @@
+//===- CIROpInterfaces.td - CIR Op Interface Definitions *- 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: Apa
@@ -2,100 +2,100 @@
// RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir
-emit-cir %s -o - | FileCheck %s
char c;
-// CHECK: cir.global @c : !cir.int
+// CHECK: cir.global external @c : !cir.int
signed char sc;
-// CHECK: cir.global @sc : !cir.int
+//
https://github.com/dkolsen-pgi commented:
Most of the things I would have commented were already mentioned by someone
else. Just a couple small additional items.
https://github.com/llvm/llvm-project/pull/129072
___
cfe-commits mailing list
cfe-commit
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/128787
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/128787
>From 3e396ab2f69d0dcf98605179f69411f04da68f49 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Tue, 25 Feb 2025 15:21:30 -0800
Subject: [PATCH 1/2] [CIR] Function type return type improvements
When a C or
@@ -424,6 +424,10 @@ LogicalResult cir::FuncOp::verifyType() {
if (!isa(type))
return emitOpError("requires '" + getFunctionTypeAttrName().str() +
"' attribute of function type");
+ if (auto rt = type.getReturnTypes();
dkolsen-pgi
@@ -424,6 +424,10 @@ LogicalResult cir::FuncOp::verifyType() {
if (!isa(type))
return emitOpError("requires '" + getFunctionTypeAttrName().str() +
"' attribute of function type");
+ if (auto rt = type.getReturnTypes();
dkolsen-pgi
@@ -0,0 +1,82 @@
+//===--===//
+//
+// 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: Apac
dkolsen-pgi wrote:
This combines https://github.com/llvm/clangir/pull/1249 (fix handling of void
return) and https://github.com/llvm/clangir/pull/1391(trailing return type)
into a single upstream PR.
https://github.com/llvm/llvm-project/pull/128787
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/128787
When a C or C++ function has a return type of `void`, the function type is now
represented in MLIR as having no return type rather than having a return type
of `!cir.void`. This avoids breaking MLIR invari
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/128772
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dkolsen-pgi wrote:
I am merging this now because it fixes a build breakage. If I messed up, it is
easy enough to undo.
https://github.com/llvm/llvm-project/pull/128772
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cg
dkolsen-pgi wrote:
@bcardosolopes @lanza You will run into this same problem with the next
incubator rebase. The fix should be the same, though there will be more
`getPreferredAlignment` functions to delete.
https://github.com/llvm/llvm-project/pull/128772
__
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/128772
In #128754, `DataLayoutTypeInterface` was changed to give
`getPreferredAlignment` a default implemention. As a result, table-gen no
longer declared `getPreferredAlignment` when defining a class that contai
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/128601
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dkolsen-pgi wrote:
Abandoning this PR. I will redo it soon with the new assembly format for
function types.
https://github.com/llvm/llvm-project/pull/128089
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/128089
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -266,6 +266,22 @@ def CIR_PointerType : CIR_Type<"Pointer", "ptr",
}];
}
+//===--===//
+// BoolType
+//===--===//
+
+def CIR_BoolType :
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/128601
>From bbadebdf7444ed453721f064e4e30ac2917c5fe9 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Mon, 24 Feb 2025 15:50:19 -0800
Subject: [PATCH 1/2] [CIR] Upstream type `bool`
Support the type `bool` and th
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/128601
Support the type `bool` and the literals `true` and `false`. Add the type
`cir::BoolType` and the attribute `cir::BoolAttr` to ClangIR. Add code in all
the necessary places in ClangIR CodeGen to handle and
@@ -331,9 +335,38 @@ FuncType FuncType::clone(TypeRange inputs, TypeRange
results) const {
return get(llvm::to_vector(inputs), results[0], isVarArg());
}
-mlir::ParseResult parseFuncTypeArgs(mlir::AsmParser &p,
-llvm::SmallVector ¶ms,
-
dkolsen-pgi wrote:
I like the idea of changing the assembly format for function types from
`!cir.func` to `!cir.func<(!argType) -> !returnType>`.
That is
1. Easier to parse.
2. Consistent with function types in other MLIR dialects.
3. Consistent with the assembly format for function definition
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/127674
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/127674
>From c0f10395ec6bff05bdb9eb04ed2c1f349c647d50 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Tue, 18 Feb 2025 09:41:35 -0800
Subject: [PATCH 1/2] [CIR] Upstream simple function bodies
Enable ClangIR gene
@@ -0,0 +1,134 @@
+//===--===//
+//
+// 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: Apa
@@ -0,0 +1,203 @@
+//===--===//
+//
+// 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: Apa
@@ -224,3 +225,19 @@ mlir::Type CIRGenTypes::convertType(QualType type) {
typeCache[ty] = resultType;
return resultType;
}
+
+mlir::Type CIRGenTypes::convertTypeForMem(clang::QualType qualType,
+ bool forBitField) {
+ assert(!qualTy
@@ -55,6 +55,7 @@ class CIRGenerator : public clang::ASTConsumer {
void Initialize(clang::ASTContext &astContext) override;
bool HandleTopLevelDecl(clang::DeclGroupRef group) override;
mlir::ModuleOp getModule() const;
+ mlir::MLIRContext &getContext() { return *mlirCont
@@ -0,0 +1,134 @@
+//===--===//
+//
+// 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: Apa
@@ -0,0 +1,203 @@
+//===--===//
+//
+// 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: Apa
@@ -0,0 +1,203 @@
+//===--===//
+//
+// 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: Apa
@@ -11,8 +11,8 @@
///
//===--===//
-#ifndef LLVM_CLANG_CIR_DIALECT_IR_CIROPS
-#define LLVM_CLANG_CIR_DIALECT_IR_CIROPS
+#ifndef CLANG_CIR_DIALECT_IR_CIROPS_TD
dkolsen-pgi wrote:
Because the
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/127674
Enable ClangIR generation for very simple functions. The functions have to
return `void` or an integral type, contain only compound statements or `return`
statements, and `return` statement expressions can
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/121069
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -21,18 +39,160 @@ using namespace cir;
Attribute CIRDialect::parseAttribute(DialectAsmParser &parser,
Type type) const {
- // No attributes yet to parse
- return Attribute{};
+ llvm::SMLoc typeLoc = parser.getCurrentLocation();
+ llv
@@ -26,6 +30,13 @@ class CIRBaseBuilderTy : public mlir::OpBuilder {
cir::PointerType getVoidPtrTy() {
return getPointerTo(cir::VoidType::get(getContext()));
}
+
+ mlir::TypedAttr getConstPtrAttr(mlir::Type t, int64_t v) {
dkolsen-pgi wrote:
Done.
I
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/121069
>From f81f3d0b52ee343eb26eb00f42de97f8792e9172 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Tue, 24 Dec 2024 13:16:32 -0800
Subject: [PATCH 1/2] [CIR] Upstream initial attribute support
Upstream several
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/121069
Upstream several ClangIR-specific MLIR attributes, in particular attributes for
integer, floating-point, and null pointer constants. These are the first
ClangIR attributes to be upstreamed, so infrastructur
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/120484
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/120484
>From b76111ab93253a772156992e70acb5c78511a6bf Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 18 Dec 2024 13:52:58 -0800
Subject: [PATCH 1/4] [CIR] floating-point, pointer, and function types
Upstrea
dkolsen-pgi wrote:
@keryell :
> Are you up-streaming the changes in commit order or are you up-streaming the
> changes with the latest version of a feature?
Upstreaming is happening in logical chunks, using the latest version of the
feature. I am paying no attention to the order of commits in
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/120484
>From b76111ab93253a772156992e70acb5c78511a6bf Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 18 Dec 2024 13:52:58 -0800
Subject: [PATCH 1/3] [CIR] floating-point, pointer, and function types
Upstrea
@@ -18,6 +21,87 @@ mlir::MLIRContext &CIRGenTypes::getMLIRContext() const {
return *builder.getContext();
}
+/// Return true if the specified type in a function parameter or result
position
+/// can be converted to a CIR type at this point. This boils down to being
+/// whe
@@ -63,13 +153,71 @@ mlir::Type CIRGenTypes::convertType(QualType type) {
cir::IntType::get(&getMLIRContext(), astContext.getTypeSize(ty),
/*isSigned=*/false);
break;
+
+// Floating-point types
+case BuiltinType::Float16:
+
@@ -133,6 +143,276 @@
IntType::verify(llvm::function_ref emitError,
return mlir::success();
}
+//===--===//
+// Floating-point type definitions
+//===
@@ -18,6 +21,87 @@ mlir::MLIRContext &CIRGenTypes::getMLIRContext() const {
return *builder.getContext();
}
+/// Return true if the specified type in a function parameter or result
position
+/// can be converted to a CIR type at this point. This boils down to being
+/// whe
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/120484
>From b76111ab93253a772156992e70acb5c78511a6bf Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 18 Dec 2024 13:52:58 -0800
Subject: [PATCH 1/2] [CIR] floating-point, pointer, and function types
Upstrea
@@ -129,4 +130,224 @@ def PrimitiveInt
: AnyTypeOf<[UInt8, UInt16, UInt32, UInt64, SInt8, SInt16, SInt32, SInt64],
"primitive int", "::cir::IntType">;
+//===--===//
+// FloatType
+//===
@@ -0,0 +1,52 @@
+//===- CIRFPTypeInterface.td - CIR FP Interface Definitions -*- C++
-*-===//
dkolsen-pgi wrote:
Done. `CIRFPTypeInterface.cpp` had the same issue, which I fixed in a
soon-to-be-commited change.
I don't plan to make this change in any exi
@@ -18,6 +21,87 @@ mlir::MLIRContext &CIRGenTypes::getMLIRContext() const {
return *builder.getContext();
}
+/// Return true if the specified type in a function parameter or result
position
+/// can be converted to a CIR type at this point. This boils down to being
+/// whe
@@ -133,6 +143,276 @@
IntType::verify(llvm::function_ref emitError,
return mlir::success();
}
+//===--===//
+// Floating-point type definitions
+//===
@@ -18,6 +21,87 @@ mlir::MLIRContext &CIRGenTypes::getMLIRContext() const {
return *builder.getContext();
}
+/// Return true if the specified type in a function parameter or result
position
+/// can be converted to a CIR type at this point. This boils down to being
+/// whe
@@ -0,0 +1,52 @@
+//===- CIRFPTypeInterface.td - CIR FP Interface Definitions -*- C++
-*-===//
dkolsen-pgi wrote:
You're right. The updated guidelines say that this line doesn't need to
contain any useful information. I'll remove it.
https://github.com/
@@ -129,4 +130,224 @@ def PrimitiveInt
: AnyTypeOf<[UInt8, UInt16, UInt32, UInt64, SInt8, SInt16, SInt32, SInt64],
"primitive int", "::cir::IntType">;
+//===--===//
+// FloatType
+//===
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/120484
Upstream ClangIR support for `void` type, floating-point types, pointer types,
and function types.
Floating-point support is missing the IBM double-double format, because that
hasn't been implemented in th
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/119450
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/119450
ClangIR CodeGen code uses both `mlir::MLIRContext` and `clang::ASTContext`
objects extensively. Refering to either of those as just "context" can be
confusing.
Change the names of all variables, parameter
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/119037
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/119037
>From adc46522a895e088b6af0d229b310d455d6d6ee7 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Fri, 6 Dec 2024 13:41:44 -0800
Subject: [PATCH 1/2] [CIR] Infrastructure: class CIRGenBuilderTy; cache CIR
typ
@@ -0,0 +1,25 @@
+//===--===//
+//
+// 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: Apac
dkolsen-pgi wrote:
@lanza or @bcardosolopes : Could one of you please review and (hopefully)
approve this PR? Erich has delegated approval to you for this one.
https://github.com/llvm/llvm-project/pull/119037
___
cfe-commits mailing list
cfe-commits@
@@ -9,22 +9,32 @@ using namespace clang;
using namespace clang::CIRGen;
CIRGenTypes::CIRGenTypes(CIRGenModule &genModule)
-: cgm(genModule), context(genModule.getASTContext()) {}
+: cgm(genModule), context(genModule.getASTContext()),
+ builder(cgm.getBuilder()) {}
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/119037
Small infrastructure and background changes to ClangIR.
Create class `CIRGenBuilderTy` and its base class `CIRBaseBuilderTy`. These are
mostly empty for now, except for what is inherited from `mlir::OpBuild
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/118743
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,130 @@
+//===- CIRTypes.td - CIR dialect types -*- tablegen
-*-===//
+//
+// 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: Ap
@@ -0,0 +1,90 @@
+#include "CIRGenTypes.h"
+
+#include "CIRGenModule.h"
+
+#include "clang/AST/ASTContext.h"
+#include "clang/AST/Type.h"
+
+using namespace clang;
+using namespace clang::CIRGen;
+
+CIRGenTypes::CIRGenTypes(CIRGenModule &genModule)
+: cgm(genModule), context(g
@@ -0,0 +1,132 @@
+//===- CIRTypes.td - CIR dialect types -*- tablegen
-*-===//
+//
+// 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: Ap
@@ -72,9 +63,15 @@ mlir::Type CIRGenTypes::convertType(QualType type) {
}
case Type::BitInt: {
const auto *bitIntTy = cast(type);
-resultType =
-cir::IntType::get(cgm.getBuilder().getContext(),
bitIntTy->getNumBits(),
- bitIntTy->is
@@ -85,14 +115,15 @@ class CIR_Op traits = []> :
def FuncOp : CIR_Op<"func"> {
let summary = "Declare or define a function";
let description = [{
-... lots of text to be added later ...
+THe `cir.func` operation defines a function, similar to the `mlir::FuncOp`
@@ -0,0 +1,27 @@
+//===- CIRTypes.h - MLIR CIR Types --*- C++
-*-===//
dkolsen-pgi wrote:
Done.
https://github.com/llvm/llvm-project/pull/118743
___
cfe-commits mailing list
cfe-commits@li
@@ -82,6 +83,14 @@ void
CIRGenModule::emitGlobalFunctionDefinition(clang::GlobalDecl gd,
theModule.push_back(funcOp);
}
+void CIRGenModule::emitGlobalVarDefinition(const clang::VarDecl *vd,
+ bool isTentative) {
+ mlir::Type type =
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/118743
>From 3f911a452599d6b92218db2e12059ee8613a12bc Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 4 Dec 2024 21:32:52 -0800
Subject: [PATCH 1/3] [CIR] Integral types; simple global variables
Add integral
@@ -74,6 +75,32 @@ class LLVMLoweringInfo {
class CIR_Op traits = []> :
Op, LLVMLoweringInfo;
+//===--===//
+// GlobalOp
+//===--===//
+
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/118743
>From 3f911a452599d6b92218db2e12059ee8613a12bc Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 4 Dec 2024 21:32:52 -0800
Subject: [PATCH 1/2] [CIR] Integral types; simple global variables
Add integral
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/118743
Add integral types to ClangIR. These are the first ClangIR types, so the
change includes some infrastructure for managing ClangIR types.
So that the integral types can be used somewhere, generate ClangIR f
https://github.com/dkolsen-pgi closed
https://github.com/llvm/llvm-project/pull/118389
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dkolsen-pgi created
https://github.com/llvm/llvm-project/pull/118389
Fix a compiler warning in `CIRGenConsumer::HandleTranslationUnit` in
`clang/lib/CIR/FrontendAction/CIRGenAction.cpp`. The warning was about a
`default:` section in a switch statement that already covered a
@@ -52,10 +62,33 @@ class CIRGenModule : public CIRGenTypeCache {
/// A "module" matches a c/cpp source file: containing a list of functions.
mlir::ModuleOp theModule;
+ clang::DiagnosticsEngine &diags;
+
const clang::TargetInfo ⌖
public:
+ mlir::ModuleOp getModule
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/113483
>From fd38921f9899e3e5ae538a94f123433119919731 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 23 Oct 2024 11:01:40 -0700
Subject: [PATCH 1/5] [CIR] Call code gen; create empty cir.func op
Finish hook
@@ -24,9 +27,140 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -24,9 +27,140 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -53,6 +53,7 @@ class CIRGenerator : public clang::ASTConsumer {
~CIRGenerator() override;
void Initialize(clang::ASTContext &astCtx) override;
bool HandleTopLevelDecl(clang::DeclGroupRef group) override;
+ mlir::ModuleOp getModule();
dkolsen-pgi wrote
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -31,9 +34,14 @@ void CIRGenerator::Initialize(ASTContext &astCtx) {
this->astCtx = &astCtx;
- cgm = std::make_unique(*mlirCtx, astCtx, codeGenOpts, diags);
+ mlirCtx = std::make_unique();
+ mlirCtx->getOrLoadDialect();
dkolsen-pgi wrote:
Fixed. Chan
https://github.com/dkolsen-pgi updated
https://github.com/llvm/llvm-project/pull/113483
>From fd38921f9899e3e5ae538a94f123433119919731 Mon Sep 17 00:00:00 2001
From: David Olsen
Date: Wed, 23 Oct 2024 11:01:40 -0700
Subject: [PATCH 1/4] [CIR] Call code gen; create empty cir.func op
Finish hook
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -52,10 +62,33 @@ class CIRGenModule : public CIRGenTypeCache {
/// A "module" matches a c/cpp source file: containing a list of functions.
mlir::ModuleOp theModule;
+ clang::DiagnosticsEngine &diags;
+
const clang::TargetInfo ⌖
public:
+ mlir::ModuleOp getModule
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -24,9 +27,135 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
@@ -53,6 +53,7 @@ class CIRGenerator : public clang::ASTConsumer {
~CIRGenerator() override;
void Initialize(clang::ASTContext &astCtx) override;
bool HandleTopLevelDecl(clang::DeclGroupRef group) override;
+ mlir::ModuleOp getModule();
dkolsen-pgi wrote
@@ -24,9 +27,140 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &context,
clang::ASTContext &astctx,
const clang::CodeGenOptions &cgo,
DiagnosticsEngine &diags)
-: astCtx(astctx), langOpts(ast
1 - 100 of 121 matches
Mail list logo