https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/125307
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/124278
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/123397
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/125304
This still doesn't fix the memory safety issues because the stack allocations
created here for the private variables might go out of scope.
I will add a more complete lit test later in this patch series.
>From c
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/125307
See RFC:
https://discourse.llvm.org/t/rfc-openmp-supporting-delayed-task-execution-with-firstprivate-variables/83084
The aim here is to ensure that tasks which are not executed for a while after
they are created
tblah wrote:
Pull requests in this stack:
1. https://github.com/llvm/llvm-project/pull/125303
2. https://github.com/llvm/llvm-project/pull/125304
3. https://github.com/llvm/llvm-project/pull/125307
https://github.com/llvm/llvm-project/pull/125304
___
tblah wrote:
Pull requests in this stack:
1. https://github.com/llvm/llvm-project/pull/125303
2. https://github.com/llvm/llvm-project/pull/125304
3. https://github.com/llvm/llvm-project/pull/125307
https://github.com/llvm/llvm-project/pull/125307
___
@@ -329,14 +341,92 @@ AliasResult AliasAnalysis::alias(Source lhsSrc, Source
rhsSrc, mlir::Value lhs,
// AliasAnalysis: getModRef
//===--===//
+static bool isSavedLocal(const fir::AliasAnalysis::Source &src)
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/117164
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -329,14 +341,92 @@ AliasResult AliasAnalysis::alias(Source lhsSrc, Source
rhsSrc, mlir::Value lhs,
// AliasAnalysis: getModRef
//===--===//
+static bool isSavedLocal(const fir::AliasAnalysis::Source &src)
@@ -329,14 +341,92 @@ AliasResult AliasAnalysis::alias(Source lhsSrc, Source
rhsSrc, mlir::Value lhs,
// AliasAnalysis: getModRef
//===--===//
+static bool isSavedLocal(const fir::AliasAnalysis::Source &src)
https://github.com/tblah approved this pull request.
Looks great to me. I have reviewed that this does implement the language rules
you mentioned in the description (which match my understanding). Please wait
for Peter to check those before merging.
https://github.com/llvm/llvm-project/pull/11
@@ -153,6 +153,16 @@ std::optional maybeApply(FuncTy &&func,
return std::move(func(*arg));
}
+template <
+typename FuncTy, //
+typename ArgTy, //
+typename ResultTy = std::invoke_result_t>
+std::optional maybeApplyToV(FuncTy &&func, const ArgTy *arg) {
+ if (!a
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/117081
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/117081
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/124019
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
tblah wrote:
I'm not sure why the bot didn't run on this.
@llvm/pr-subscribers-flang-openmp
https://github.com/llvm/llvm-project/pull/124019
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/124019
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/124019
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -34,52 +34,48 @@ def PrivateClauseOp : OpenMP_Op<"private",
[IsolatedFromAbove, RecipeInterface]>
let description = [{
This operation provides a declaration of how to implement the
[first]privatization of a variable. The dialect users should provide
-informati
@@ -488,44 +559,34 @@ void DataSharingProcessor::doPrivatize(const
semantics::Symbol *sym,
mlir::OpBuilder::InsertionGuard guard(firOpBuilder);
firOpBuilder.setInsertionPointToStart(moduleOp.getBody());
auto result = firOpBuilder.create(
-symLoc, uniquePriv
@@ -55,15 +55,19 @@ class MapsForPrivatizedSymbolsPass
std::underlying_type_t>(
llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TO);
Operation *definingOp = var.getDefiningOp();
-auto declOp = llvm::dyn_cast_or_null(definingOp);
-assert(declOp &&
-
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/124019
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -468,15 +505,49 @@ void DataSharingProcessor::doPrivatize(const
semantics::Symbol *sym,
lower::SymbolBox hsb = converter.lookupOneLevelUpSymbol(*sym);
assert(hsb && "Host symbol box not found");
- mlir::Type symType = hsb.getAddr().getType();
+ mlir::Value privVal =
@@ -488,44 +559,34 @@ void DataSharingProcessor::doPrivatize(const
semantics::Symbol *sym,
mlir::OpBuilder::InsertionGuard guard(firOpBuilder);
firOpBuilder.setInsertionPointToStart(moduleOp.getBody());
auto result = firOpBuilder.create(
-symLoc, uniquePriv
@@ -55,15 +55,19 @@ class MapsForPrivatizedSymbolsPass
std::underlying_type_t>(
llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TO);
Operation *definingOp = var.getDefiningOp();
-auto declOp = llvm::dyn_cast_or_null(definingOp);
-assert(declOp &&
-
https://github.com/tblah approved this pull request.
Looks great. Thanks!
https://github.com/llvm/llvm-project/pull/121509
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bran
tblah wrote:
Have you run any testsuites on this? If so please add that to the commit
description.
https://github.com/llvm/llvm-project/pull/131574
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
https://github.com/tblah approved this pull request.
Nice cleanup. I think this is a NFC? Could you add that to the commit title
LGTM
https://github.com/llvm/llvm-project/pull/131582
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.
tblah wrote:
Ping for review.
@vzakhari are you happy with the change to `hlfir.elemental_addr`?
https://github.com/llvm/llvm-project/pull/133892
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/ma
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/136313
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah approved this pull request.
LGTM, thanks
https://github.com/llvm/llvm-project/pull/136313
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commi
@@ -4242,9 +4242,8 @@ struct OmpDeviceTypeClause {
// OMP 5.2 15.8.3 extended-atomic, fail-clause ->
//FAIL(memory-order)
struct OmpFailClause {
- WRAPPER_CLASS_BOILERPLATE(
- OmpFailClause, common::Indirection);
- CharBlock source;
tblah wrote:
Why
https://github.com/tblah approved this pull request.
LGTM, thanks
https://github.com/llvm/llvm-project/pull/136312
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commi
tblah wrote:
PR Stack:
- Cancel parallel https://github.com/llvm/llvm-project/pull/137192
- Cancel sections https://github.com/llvm/llvm-project/pull/137193
- Cancel wsloop https://github.com/llvm/llvm-project/pull/137194
- Cancellation point https://github.com/llvm/llvm-project/pull/137205
- Can
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/137194
Taskloop support will follow in a later patch.
>From bb374c9f98cb13e55c9ce7d129f567428e58c24e Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:05:50 +
Subject: [PATCH] [mlir][OpenMP] conver
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/137193
This is quite ugly but it is the best I could think of. The old FiniCBWrapper
was way too brittle depending upon the exact block structure inside of the
section, and could be confused by any control flow in the s
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137841
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-ser
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/138489
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -548,19 +357,16 @@ class DoConcurrentConversionPass
return;
}
-llvm::DenseSet concurrentLoopsToSkip;
+llvm::DenseSet concurrentLoopsToSkip;
tblah wrote:
The correctness of this depends upon the traversal order used by
`applyFullConversio
https://github.com/tblah commented:
Thanks, looks good. Just one comment.
https://github.com/llvm/llvm-project/pull/138489
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bran
@@ -3485,6 +3485,137 @@ def fir_BoxTotalElementsOp
let hasCanonicalizer = 1;
}
+def YieldOp : fir_Op<"yield",
+[Pure, ReturnLike, Terminator,
+ ParentOneOf<["LocalitySpecifierOp"]>]> {
+ let summary = "loop yield and termination operation";
+ let description = [{
+
@@ -3485,6 +3485,137 @@ def fir_BoxTotalElementsOp
let hasCanonicalizer = 1;
}
+def YieldOp : fir_Op<"yield",
+[Pure, ReturnLike, Terminator,
+ ParentOneOf<["LocalitySpecifierOp"]>]> {
+ let summary = "loop yield and termination operation";
+ let description = [{
+
https://github.com/tblah commented:
Please could you add a test for the verifier failures.
https://github.com/llvm/llvm-project/pull/138505
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/138505
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -3485,6 +3485,137 @@ def fir_BoxTotalElementsOp
let hasCanonicalizer = 1;
}
+def YieldOp : fir_Op<"yield",
+[Pure, ReturnLike, Terminator,
+ ParentOneOf<["LocalitySpecifierOp"]>]> {
+ let summary = "loop yield and termination operation";
+ let description = [{
+
@@ -3485,6 +3485,137 @@ def fir_BoxTotalElementsOp
let hasCanonicalizer = 1;
}
+def YieldOp : fir_Op<"yield",
tblah wrote:
What about the locallity specifiers requires a different terminator? Couldn't
this use `fir.result`?
https://github.com/llvm/llvm-pr
https://github.com/tblah approved this pull request.
LGTM, thanks
https://github.com/llvm/llvm-project/pull/138506
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commi
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/138512
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -162,7 +173,52 @@ class DoConcurrentConversion
assert(loop.getRegion().hasOneBlock());
mlir::Block &loopBlock = loop.getRegion().getBlocks().front();
-// Collect iteration variable(s) allocations do that we can move them
+// Handle localization
+if (!loo
https://github.com/tblah commented:
This needs a TODO message for locality specifiers which are not yet supported
(as I understand it this means ones with init or dealloc regions)
https://github.com/llvm/llvm-project/pull/138512
___
llvm-branch-commit
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137193
>From 4d28bd8f0106321af6679e9b155fd36ef2f919fc Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Thu, 10 Apr 2025 11:43:18 +
Subject: [PATCH] [mlir][OpenMP] Convert omp.cancel sections to LLVMIR
This is quite u
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137194
>From bb1af0154c62a622775f0f05cbdc486de69266c9 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:05:50 +
Subject: [PATCH] [mlir][OpenMP] convert wsloop cancellation to LLVMIR
Taskloop suppor
tblah wrote:
PR Stack:
- Cancel parallel https://github.com/llvm/llvm-project/pull/137192
- Cancel sections https://github.com/llvm/llvm-project/pull/137193
- Cancel wsloop https://github.com/llvm/llvm-project/pull/137194
- Cancellation point (TODO)
- Cancel(lation point) taskgroup (TODO)
https:
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/137205
This is basically identical to cancel except without the if clause.
taskgroup will be implemented in a followup PR.
>From 88fc39d0b2a3a846006889d4320b9f29ced025b7 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date:
tblah wrote:
PR Stack:
Cancel parallel
https://github.com/llvm/llvm-project/pull/137192
Cancel sections
https://github.com/llvm/llvm-project/pull/137193
Cancel wsloop
https://github.com/llvm/llvm-project/pull/137194
Cancellation point (TODO)
Cancel(lation point) taskgroup (TODO)
https://g
https://github.com/tblah approved this pull request.
LGTM. If I didn't miss anything, this patch copies the old header code verbatim
into both implementation files?
https://github.com/llvm/llvm-project/pull/137517
___
llvm-branch-commits mailing list
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137205
>From 1c6d8d0fc688dcd630b7077d2e7ae190a6c62361 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:40:39 +
Subject: [PATCH] [mlir][OpenMP] Convert omp.cancellation_point to LLVMIR
This is basi
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137194
>From 9a8ed32eaea1a5b6a55e32b5b97f890a1fb8ecf9 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:05:50 +
Subject: [PATCH] [mlir][OpenMP] convert wsloop cancellation to LLVMIR
Taskloop suppor
tblah wrote:
Thanks for taking a look Michael. I think the issue was actually in an earlier
patch in my series, but the UB was only triggering intermittently. The fix for
Windows builds is
https://github.com/llvm/llvm-project/pull/137193/commits/6c678b739d4fab204862ee057e00c3b0cc4c1946
https:
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137205
>From 1c6d8d0fc688dcd630b7077d2e7ae190a6c62361 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:40:39 +
Subject: [PATCH 1/2] [mlir][OpenMP] Convert omp.cancellation_point to LLVMIR
This is
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137193
>From f3b8eebb37320ab748682f6a091e52e64aeec0d7 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Thu, 10 Apr 2025 11:43:18 +
Subject: [PATCH] [mlir][OpenMP] Convert omp.cancel sections to LLVMIR
This is quite u
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137205
>From 4e97789c831bbfbfe85a9df7420df65de036b09a Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:40:39 +
Subject: [PATCH] [mlir][OpenMP] Convert omp.cancellation_point to LLVMIR
This is basi
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137194
>From 3a198c8800f519b4a88772c93c52b7fd08ccb131 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:05:50 +
Subject: [PATCH] [mlir][OpenMP] convert wsloop cancellation to LLVMIR
Taskloop suppor
tblah wrote:
The new testsuite failures look unrelated to my patch
https://github.com/llvm/llvm-project/pull/137205
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
tblah wrote:
PR Stack:
- Cancel parallel https://github.com/llvm/llvm-project/pull/137192
- Cancel sections https://github.com/llvm/llvm-project/pull/137193
- Cancel wsloop https://github.com/llvm/llvm-project/pull/137194
- Cancellation point https://github.com/llvm/llvm-project/pull/137205
- Can
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/137205
>From 7fbe43d895479254287466b957daa7747849e627 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 15 Apr 2025 15:40:39 +
Subject: [PATCH 1/2] [mlir][OpenMP] Convert omp.cancellation_point to LLVMIR
This is
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/137841
A cancel or cancellation point for taskgroup is always nested inside of a task
inside of the taskgroup. For the task which is cancelled, it is that task which
needs to be cleaned up: not the owning taskgroup. The
https://github.com/tblah approved this pull request.
Thanks for the updates
https://github.com/llvm/llvm-project/pull/138505
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-br
@@ -162,7 +173,52 @@ class DoConcurrentConversion
assert(loop.getRegion().hasOneBlock());
mlir::Block &loopBlock = loop.getRegion().getBlocks().front();
-// Collect iteration variable(s) allocations do that we can move them
+// Handle localization
+if (!loo
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/127820
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
https://github.com/tblah approved this pull request.
Thank you for the quick fix. This does fix the issue I saw.
https://github.com/llvm/llvm-project/pull/130290
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm
https://github.com/tblah approved this pull request.
LGTM, thanks
https://github.com/llvm/llvm-project/pull/130789
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commi
https://github.com/tblah approved this pull request.
https://github.com/llvm/llvm-project/pull/128518
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/125307
>From df47461dcf1f9244da472efdcc57d266ecd42b34 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Fri, 24 Jan 2025 17:32:41 +
Subject: [PATCH 01/11] [mlir][OpenMP] Pack task private variables into a
heap-allocat
@@ -146,13 +146,24 @@ def PrivateClauseOp : OpenMP_Op<"private",
[IsolatedFromAbove, RecipeInterface]>
return region.empty() ? nullptr : region.getArgument(0);
}
+/// Returns true if the init region might read from the mold argument
+bool initReadsFromMold()
@@ -1415,11 +1413,13 @@ static llvm::Expected
allocateAndInitPrivateVars(
llvm::Value *llvmPrivateVar = builder.CreateAlloca(
llvmAllocType, /*ArraySize=*/nullptr, "omp.private.alloc");
-llvm::Error err = initPrivateVar(
+llvm::Expected privateVarOrError =
@@ -1331,19 +1334,16 @@ findAssociatedValue(Value privateVar,
llvm::IRBuilderBase &builder,
/// Initialize a single (first)private variable. You probably want to use
/// allocateAndInitPrivateVars instead of this.
-static llvm::Error
-initPrivateVar(llvm::IRBuilderBase &build
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
@@ -1794,37 +1909,118 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
moduleTranslation, allocaIP);
// Allocate and initialize private variables
- // TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTermi
tblah wrote:
This is now rebased on top of current main and ready for review. Apologies for
the delay, I was on holiday and rebasing required rethinking how insertion
points worked.
@ergawy I changed the signature of `initPrivateVar` so that the correct private
variable SSA value is returned
tblah wrote:
This looks good to me but I am unsure what the exact interpretation of the
[rules](https://llvm.org/docs/HowToReleaseLLVM.html#release-patch-rules) should
be.
> Before RC3/Final Major Release Patches should be limited to critical bugs or
> regressions.
This is not fixing a regres
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/125307
>From df47461dcf1f9244da472efdcc57d266ecd42b34 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Fri, 24 Jan 2025 17:32:41 +
Subject: [PATCH 01/12] [mlir][OpenMP] Pack task private variables into a
heap-allocat
tblah wrote:
Apologies for the comments I missed. I'm not sure how that happened. Thanks for
carefully checking each one.
https://github.com/llvm/llvm-project/pull/125307
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://
@@ -548,19 +357,16 @@ class DoConcurrentConversionPass
return;
}
-llvm::DenseSet concurrentLoopsToSkip;
+llvm::DenseSet concurrentLoopsToSkip;
tblah wrote:
My concern was that the walk order might be changed some time because I didn't
reali
https://github.com/tblah approved this pull request.
https://github.com/llvm/llvm-project/pull/138489
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/138816
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -162,7 +173,52 @@ class DoConcurrentConversion
assert(loop.getRegion().hasOneBlock());
mlir::Block &loopBlock = loop.getRegion().getBlocks().front();
-// Collect iteration variable(s) allocations do that we can move them
+// Handle localization
+if (!loo
@@ -2029,9 +2031,30 @@ class FirConverter : public
Fortran::lower::AbstractConverter {
void handleLocalitySpecs(const IncrementLoopInfo &info) {
Fortran::semantics::SemanticsContext &semanticsContext =
bridge.getSemanticsContext();
-for (const Fortran::semant
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/139131
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/140090
Part of a series to fix https://github.com/llvm/llvm-project/issues/136357
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/140092
Fixes #136357
The barrier needs to go between the copying into firstprivate variables and the
initialization call for the OpenMP construct (e.g. wsloop). There is no way of
expressing this in MLIR because for de
tblah wrote:
ping for review
https://github.com/llvm/llvm-project/pull/140092
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
tblah wrote:
PR stack:
1. https://github.com/llvm/llvm-project/pull/140089
2. https://github.com/llvm/llvm-project/pull/140090
3. https://github.com/llvm/llvm-project/pull/140092
https://github.com/llvm/llvm-project/pull/140092
___
llvm-branch-commits
tblah wrote:
PR stack:
1. https://github.com/llvm/llvm-project/pull/140089
2. https://github.com/llvm/llvm-project/pull/140090
3. https://github.com/llvm/llvm-project/pull/140092
https://github.com/llvm/llvm-project/pull/140090
___
llvm-branch-commits
@@ -77,6 +77,19 @@ static std::string getIdentifierName(const Record *Rec,
StringRef Prefix) {
return Prefix.str() + BaseRecord(Rec).getFormattedName();
}
+using RecordWithSpelling = std::pair;
+
+static std::vector
+getSpellings(ArrayRef Records) {
tblah w
201 - 300 of 323 matches
Mail list logo