https://github.com/Lancern created
https://github.com/llvm/llvm-project/pull/138873
This PR adds LLVMIR lowering support for the `cir.call` operation.
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-famil
https://github.com/Lancern approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/136854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern approved this pull request.
https://github.com/llvm/llvm-project/pull/139159
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern closed
https://github.com/llvm/llvm-project/pull/138873
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern created
https://github.com/llvm/llvm-project/pull/139748
This PR adds support for indirect calls to the `cir.call` operation.
>From 786327894695a73ec80ec256892ca51e68fa5389 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Tue, 13 May 2025 23:02:08 +0800
Subject: [PATCH]
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/138873
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-s
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/139748
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-s
@@ -1500,6 +1507,14 @@ static void prepareTypeConverter(mlir::LLVMTypeConverter
&converter,
converter.addConversion([&](cir::BF16Type type) -> mlir::Type {
return mlir::BFloat16Type::get(type.getContext());
});
+ converter.addConversion([&](cir::FuncType type) -> mlir
@@ -1500,6 +1507,14 @@ static void prepareTypeConverter(mlir::LLVMTypeConverter
&converter,
converter.addConversion([&](cir::BF16Type type) -> mlir::Type {
return mlir::BFloat16Type::get(type.getContext());
});
+ converter.addConversion([&](cir::FuncType type) -> mlir
@@ -1837,16 +1835,24 @@ class CIR_CallOpBase
extra_traits = []>
// the upstreaming process moves on. The verifiers is also missing for now,
// will add in the future.
- dag commonArgs = (ins FlatSymbolRefAttr:$callee,
-Variadic:$args);
+ dag comm
@@ -1500,6 +1507,14 @@ static void prepareTypeConverter(mlir::LLVMTypeConverter
&converter,
converter.addConversion([&](cir::BF16Type type) -> mlir::Type {
return mlir::BFloat16Type::get(type.getContext());
});
+ converter.addConversion([&](cir::FuncType type) -> mlir
https://github.com/Lancern edited
https://github.com/llvm/llvm-project/pull/139748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/139748
>From eb08d386728d1d9876f68dc40b4042bace9e5d5c Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 15 May 2025 23:01:18 +0800
Subject: [PATCH] [CIR] Add support for indirect calls
---
.../CIR/Dialect/Builder/CI
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/139748
>From 614849751f24c47c6da53ebc1fb296b806223557 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 15 May 2025 23:01:18 +0800
Subject: [PATCH] [CIR] Add support for indirect calls
---
.../CIR/Dialect/Builder/CI
@@ -1861,13 +1867,23 @@ def CallOp : CIR_CallOpBase<"call",
[NoRegionArguments]> {
let arguments = commonArgs;
let builders = [OpBuilder<(ins "mlir::SymbolRefAttr":$callee,
- "mlir::Type":$resType,
- "mlir::V
@@ -539,15 +573,16 @@ mlir::ParseResult cir::CallOp::parse(mlir::OpAsmParser
&parser,
}
void cir::CallOp::print(mlir::OpAsmPrinter &p) {
- printCallCommon(*this, getCalleeAttr(), p);
+ mlir::Value indirectCallee = isIndirect() ? getIndirectCall() : nullptr;
+ printCallComm
@@ -464,15 +464,35 @@ OpFoldResult cir::CastOp::fold(FoldAdaptor adaptor) {
// CallOp
//===--===//
+mlir::OperandRange cir::CallOp::getArgOperands() {
+ if (isIndirect())
+return getArgs().drop_front(1);
@@ -1861,13 +1867,23 @@ def CallOp : CIR_CallOpBase<"call",
[NoRegionArguments]> {
let arguments = commonArgs;
let builders = [OpBuilder<(ins "mlir::SymbolRefAttr":$callee,
- "mlir::Type":$resType,
- "mlir::V
https://github.com/Lancern edited
https://github.com/llvm/llvm-project/pull/139748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern edited
https://github.com/llvm/llvm-project/pull/139748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -937,8 +937,28 @@ CIRGenCallee CIRGenFunction::emitCallee(const clang::Expr
*e) {
return emitDirectCallee(cgm, funcDecl);
}
- cgm.errorNYI(e->getSourceRange(), "Unsupported callee kind");
- return {};
+ assert(!cir::MissingFeatures::opCallPseudoDtor());
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/139748
>From 71009b450a333d4537d9a84176707656c5bdcea1 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 15 May 2025 23:01:18 +0800
Subject: [PATCH] [CIR] Add support for indirect calls
---
.../CIR/Dialect/Builder/CI
@@ -72,16 +68,15 @@ class RequiredArgs {
class CIRGenFunctionInfo final
: public llvm::FoldingSetNode,
- private llvm::TrailingObjects {
- using ArgInfo = CIRGenFunctionInfoArgInfo;
-
+ private llvm::TrailingObjects {
Lancern wrote:
It would be
https://github.com/Lancern edited
https://github.com/llvm/llvm-project/pull/140612
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern closed
https://github.com/llvm/llvm-project/pull/139748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern approved this pull request.
LGTM with one nit
https://github.com/llvm/llvm-project/pull/140612
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern approved this pull request.
https://github.com/llvm/llvm-project/pull/140290
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern approved this pull request.
https://github.com/llvm/llvm-project/pull/140290
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Lancern edited
https://github.com/llvm/llvm-project/pull/140290
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1148,6 +1146,35 @@ mlir::Value CIRGenFunction::emitAlloca(StringRef name,
mlir::Type ty,
return addr;
}
+// Note: this function also emit constructor calls to support a MSVC extensions
+// allowing explicit constructor function call.
+RValue CIRGenFunction::emitCXXMembe
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/139748
>From 8c6a8c37037634ea48eb94e022cd76c0cececb84 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 15 May 2025 23:01:18 +0800
Subject: [PATCH] [CIR] Add support for indirect calls
---
.../CIR/Dialect/Builder/CI
https://github.com/Lancern updated
https://github.com/llvm/llvm-project/pull/141942
>From 862cb3bd98bc2ed6a6b01efe0f08ebfaf8ad63e0 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 29 May 2025 17:21:06 +0800
Subject: [PATCH] [CIR] Call to variadic functions
---
clang/include/clang/CIR/Missin
@@ -39,6 +39,26 @@ class RequiredArgs {
bool allowsOptionalArgs() const { return numRequired != ~0U; }
+ /// Compute the arguments required by the given formal prototype, given that
+ /// there may be some additional, non-formal arguments in play.
+ ///
+ /// If FD is n
@@ -409,6 +409,18 @@ void CIRGenFunction::emitCallArg(CallArgList &args, const
clang::Expr *e,
args.add(emitAnyExprToTemp(e), argType);
}
+QualType CIRGenFunction::getVarArgType(const Expr *arg) {
+ // System headers on Windows define NULL to 0 instead of 0LL on Win64. MSV
https://github.com/Lancern created
https://github.com/llvm/llvm-project/pull/141942
This PR adds support for calling variadic functions in CIR.
>From 800e4b1a02520e4c3137a02e284cc8406cf36602 Mon Sep 17 00:00:00 2001
From: Sirui Mu
Date: Thu, 29 May 2025 17:21:06 +0800
Subject: [PATCH] [CIR] Ca
https://github.com/Lancern closed
https://github.com/llvm/llvm-project/pull/141942
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
101 - 136 of 136 matches
Mail list logo