@@ -0,0 +1,1183 @@
+//=== OpenMPClauses.td - OpenMP dialect clause definitions -*- 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: A
https://github.com/tblah approved this pull request.
LGTM, thanks
https://github.com/llvm/llvm-project/pull/101444
___
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/101446
___
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 commented:
Thank you for all of the updates. This looks good to me in general, although I
have a few minor questions.
Before merging please make sure you document in the commit message exactly what
is and is not supported.
Please could another reviewer take an in-dept
@@ -0,0 +1,446 @@
+//===- LowerWorkshare.cpp - special cases for bufferization ---===//
+//
+// 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
@@ -0,0 +1,446 @@
+//===- LowerWorkshare.cpp - special cases for bufferization ---===//
+//
+// 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
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/102524
>From 9e37da3b2eaace309d3b68fa36384430b5dc97cd Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Wed, 31 Jul 2024 10:10:33 +
Subject: [PATCH] [mlir][OpenMP] Convert reduction alloc region to LLVMIR
The intentio
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/102525
>From ee4a8e00d5c825ea3214199c460ea23af9c6ba6b Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Tue, 30 Jul 2024 10:56:36 +
Subject: [PATCH] [flang][OpenMP] use reduction alloc region
I removed the `*-hlfir*`
https://github.com/tblah created
https://github.com/llvm/llvm-project/pull/105644
This can be handled in ODS instead of writing custom parsing/printing code.
Thanks for the idea @skatrak
>From 84f097c970c751ad6779ce6d09baad854568c4b3 Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Thu, 22 Aug
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/106066
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-comm
@@ -2052,8 +2074,69 @@ static void genCompositeDistributeParallelDo(
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
mlir::Location loc, const ConstructQueue &queue,
ConstructQueue::const_iterator item) {
+ lower::StatementContext stmtCtx;
+
@@ -2052,8 +2074,69 @@ static void genCompositeDistributeParallelDo(
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
mlir::Location loc, const ConstructQueue &queue,
ConstructQueue::const_iterator item) {
+ lower::StatementContext stmtCtx;
+
https://github.com/tblah approved this pull request.
This looks good to me
https://github.com/llvm/llvm-project/pull/106207
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bra
tblah wrote:
This looks good on its own. How many of these composite constructs are there in
total? I'm wondering if there are enough that we should consider a more
elaborate solution to avoid duplicating code (e.g. what if clause processing
changes at some point).
https://github.com/llvm/llv
https://github.com/tblah approved this pull request.
That sounds reasonable to me
https://github.com/llvm/llvm-project/pull/106211
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/l
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/107234
___
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/107235
___
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, thank you for writing all of these
https://github.com/llvm/llvm-project/pull/107236
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailma
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/101445
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
tblah wrote:
> @kiranchandramohan @tblah @skatrak I have a question to people more familiar
> with Fortran and the Flang pipeline - is it possible that we would have CFG
> (multiple blocks) in the IR generated in the `omp.workshare` region at this
> point in the pipeline (immediately after low
tblah wrote:
> I was wondering if there is some op that is like `scf.execute_region` but
> already used in flang.
Not that I am aware of.
I think adding `scf.execute_region` might be the easiest way to support this.
The alternative would be to go back and convert the if statement into CFG
be
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/107234
___
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/110298
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -1,15 +0,0 @@
-if (FLANG_CUF_RUNTIME)
tblah wrote:
why was this file deleted?
https://github.com/llvm/llvm-project/pull/110298
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.ll
@@ -96,6 +94,12 @@ bool shouldUseWorkshareLowering(Operation *op) {
if (isNestedIn(parentWorkshare, op))
return false;
+ if (parentWorkshare.getRegion().getBlocks().size() != 1) {
+parentWorkshare->emitWarning(
+"omp workshare with unstructured control flow
https://github.com/tblah commented:
I don't have a strong opinion about whether this should be done in flang
codegen or in a runtime library. Some drive-by thoughts:
- I imagine that using a C `omp for` inside of a fortran `omp parallel` should
work **so long as they use the same openmp librar
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/113082
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -227,11 +227,11 @@ void createHLFIRToFIRPassPipeline(mlir::PassManager &pm,
bool enableOpenMP,
hlfir::createOptimizedBufferization);
}
pm.addPass(hlfir::createLowerHLFIROrderedAssignments());
+ if (enableOpenMP)
+pm.addPass(
@@ -335,49 +336,129 @@ static void parallelizeRegion(Region &sourceRegion,
Region &targetRegion,
for (auto [i, opOrSingle] : llvm::enumerate(regions)) {
bool isLast = i + 1 == regions.size();
if (std::holds_alternative(opOrSingle)) {
-OpBuilder singleBu
@@ -335,49 +336,129 @@ static void parallelizeRegion(Region &sourceRegion,
Region &targetRegion,
for (auto [i, opOrSingle] : llvm::enumerate(regions)) {
bool isLast = i + 1 == regions.size();
if (std::holds_alternative(opOrSingle)) {
-OpBuilder singleBu
@@ -335,49 +336,129 @@ static void parallelizeRegion(Region &sourceRegion,
Region &targetRegion,
for (auto [i, opOrSingle] : llvm::enumerate(regions)) {
bool isLast = i + 1 == regions.size();
if (std::holds_alternative(opOrSingle)) {
-OpBuilder singleBu
tblah wrote:
> * I imagine that using a C `omp for` inside of a fortran `omp parallel`
> should work **so long as they use the same openmp library**. Of course care
> will need to be taken about privatisation etc but that can probably be
> handled in the interface of the runtime function.
https://github.com/tblah approved this pull request.
Thanks for this. Looks great!
https://github.com/llvm/llvm-project/pull/114037
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/
@@ -795,35 +795,41 @@ bool ClauseProcessor::processCopyprivate(
bool ClauseProcessor::processDepend(mlir::omp::DependClauseOps &result) const {
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
- return findRepeatableClause(
- [&](const omp::clause::Depend
https://github.com/tblah approved this pull request.
LGTM, thanks!
Maybe sometime we could go a step further and provide a standard implementation
of the `genRegionEntryCB`?
https://github.com/llvm/llvm-project/pull/113681
___
llvm-branch-commits mai
tblah wrote:
> How do we usually have convergence on the definition of these runtime
> functions when we introduce a library? Is it usually through a RFC? Because
> if we think of vendors swapping implementations, does there need to be a
> consensus prior to the implementation?
To be clear, I
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/115397
___
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.
Thanks for this. LGTM with one nit
https://github.com/llvm/llvm-project/pull/115397
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/list
@@ -541,6 +541,7 @@ void OmpStructureChecker::Leave(const
parser::OpenMPConstruct &) {
}
void OmpStructureChecker::Enter(const parser::OpenMPLoopConstruct &x) {
+ loopStack_.push_back(&x);
tblah wrote:
Thanks for the explanation!
https://github.com/llvm/ll
@@ -1656,6 +1664,11 @@ void OmpStructureChecker::ChecksOnOrderedAsStandalone() {
"Only SINK or SOURCE dependence types are allowed when ORDERED
construct is a standalone construct with no ORDERED region"_err_en_US);
}
}
+ auto doaClauses = FindClauses(llvm::om
tblah wrote:
@ivanradanov is anything blocking this from becoming ready for review?
https://github.com/llvm/llvm-project/pull/104748
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
tblah wrote:
@ivanradanov is there anything blocking these 4 patches?
https://github.com/llvm/llvm-project/pull/101446
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-c
tblah wrote:
> They won't be able to that regardless. The OpenMP library will have to match
> what Flang is using; otherwise, two OpenMP implementations will co-exist in
> the same process and that's usually a recipe for problems.
I probably wasn't clear. I meant something like `-fopenmp=libom
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/110015
___
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/110013
___
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.
Thanks!
https://github.com/llvm/llvm-project/pull/110266
___
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.
Thanks for the cleanup!
https://github.com/llvm/llvm-project/pull/109809
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-b
https://github.com/tblah approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/109811
___
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.
https://github.com/llvm/llvm-project/pull/113621
___
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)
@@ -2701,7 +2701,42 @@ static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
const parser::OpenMPDeclareMapperConstruct &declareMapperConstruct) {
- TODO(converter.getC
https://github.com/tblah approved this pull request.
LGTM. Just some nitpicks. It is really good seeing how cleanly HLFIR extends to
this new optimization.
https://github.com/llvm/llvm-project/pull/118069
___
llvm-branch-commits mailing list
llvm-bran
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/118069
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -1108,6 +1108,113 @@ class ReductionMaskConversion : public
mlir::OpRewritePattern {
}
};
+class EvaluateIntoMemoryAssignBufferization
+: public mlir::OpRewritePattern {
+
+public:
+ using mlir::OpRewritePattern::OpRewritePattern;
+
+ llvm::LogicalResult
+ matchAn
@@ -1108,6 +1108,113 @@ class ReductionMaskConversion : public
mlir::OpRewritePattern {
}
};
+class EvaluateIntoMemoryAssignBufferization
+: public mlir::OpRewritePattern {
+
+public:
+ using mlir::OpRewritePattern::OpRewritePattern;
+
+ llvm::LogicalResult
+ matchAn
@@ -134,7 +134,7 @@ end function f
!CHECK-NEXT: run 1 save: where/mask
!CHECK-NEXT: run 2 evaluate: where/region_assign1
!CHECK-LABEL: scheduling where in _QPonly_once
-!CHECK-NEXT: unknown effect: %{{[0-9]+}} = llvm.intr.stacksave : !llvm.ptr
+!CH
@@ -24,6 +24,10 @@
namespace Fortran::lower {
+struct LoweredResult {
+ std::variant result;
+};
tblah wrote:
nit: Could this be simplified to
```c++
using LoweredResult = std::variant result;
```
This way callers wouldn't have to add a `.result`.
https:
@@ -21,7 +21,7 @@ subroutine declare_mapper_1
type (my_type2):: t
real :: x, y(nvals)
!$omp declare mapper (my_type :: var) map (var, var%values (1:var%num_vals))
-!CHECK: not yet implemented: OpenMPDeclareMapperConstruct
+!CHECK: not yet impleme
@@ -2701,7 +2702,39 @@ static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
const parser::OpenMPDeclareMapperConstruct &declareMapperConstruct) {
- TODO(converter.getC
@@ -3440,6 +3440,16 @@ struct OmpObject {
WRAPPER_CLASS(OmpObjectList, std::list);
+#define MODIFIER_BOILERPLATE(...) \
+ struct Modifier { \
+using Variant = std::variant<__VA_ARGS__>; \
+UNION_CLASS_BOILERPLATE(Modifier); \
+CharBlock source; \
+Variant u;
https://github.com/tblah approved this pull request.
This is really nice. LGTM
https://github.com/llvm/llvm-project/pull/116656
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm
@@ -33,7 +33,7 @@ program main
enddo
!$omp end target parallel
- !ERROR: The DEFAULTMAP clause requires a variable-category SCALAR in OpenMP
v1.1, try -fopenmp-version=50
+ !ERROR: A variable-category modifier is required
tblah wrote:
I'm worried that
@@ -3440,6 +3440,16 @@ struct OmpObject {
WRAPPER_CLASS(OmpObjectList, std::list);
+#define MODIFIER_BOILERPLATE(...) \
+ struct Modifier { \
+using Variant = std::variant<__VA_ARGS__>; \
+UNION_CLASS_BOILERPLATE(Modifier); \
+CharBlock source; \
+Variant u;
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/116658
___
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.
Tentatively +1, but if you can please wait for Kiran to take a look as well.
https://github.com/llvm/llvm-project/pull/116658
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
h
@@ -33,7 +33,7 @@ program main
enddo
!$omp end target parallel
- !ERROR: The DEFAULTMAP clause requires a variable-category SCALAR in OpenMP
v1.1, try -fopenmp-version=50
+ !ERROR: A variable-category modifier is required
tblah wrote:
Improving in a su
@@ -933,11 +934,19 @@ void OmpStructureChecker::CheckDistLinear(
}
}
-void OmpStructureChecker::Leave(const parser::OpenMPLoopConstruct &) {
+void OmpStructureChecker::Leave(const parser::OpenMPLoopConstruct &x) {
if (llvm::omp::allSimdSet.test(GetContext().directive)) {
@@ -541,6 +541,7 @@ void OmpStructureChecker::Leave(const
parser::OpenMPConstruct &) {
}
void OmpStructureChecker::Enter(const parser::OpenMPLoopConstruct &x) {
+ loopStack_.push_back(&x);
tblah wrote:
Is this needed for non-assertion builds?
https://githu
https://github.com/tblah approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/117917
___
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.
Thanks!
https://github.com/llvm/llvm-project/pull/117784
___
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 with the one nit
https://github.com/llvm/llvm-project/pull/118070
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bra
@@ -134,7 +134,7 @@ end function f
!CHECK-NEXT: run 1 save: where/mask
!CHECK-NEXT: run 2 evaluate: where/region_assign1
!CHECK-LABEL: scheduling where in _QPonly_once
-!CHECK-NEXT: unknown effect: %{{[0-9]+}} = llvm.intr.stacksave : !llvm.ptr
+!CH
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/118128
___
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.
Thanks
https://github.com/llvm/llvm-project/pull/117786
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -16,13 +16,58 @@
#include "token-parsers.h"
#include "type-parser-implementation.h"
#include "flang/Parser/parse-tree.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Frontend/OpenMP/OMP.h"
// OpenMP Dire
https://github.com/tblah approved this pull request.
LGTM, just some nit picks.
https://github.com/llvm/llvm-project/pull/118128
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llv
@@ -16,13 +16,58 @@
#include "token-parsers.h"
#include "type-parser-implementation.h"
#include "flang/Parser/parse-tree.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Frontend/OpenMP/OMP.h"
// OpenMP Dire
https://github.com/tblah approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/104748
___
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.
Looks great to me and this passes the testsuites I have available. Thanks again
for all of your work on this.
https://github.com/llvm/llvm-project/pull/101446
___
llvm-branch-commits mailing list
ll
@@ -2701,7 +2701,42 @@ static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
const parser::OpenMPDeclareMapperConstruct &declareMapperConstruct) {
- TODO(converter.getC
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/117046
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -2612,7 +2612,54 @@ static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
const parser::OpenMPDeclareMapperConstruct &declareMapperConstruct) {
- TODO(converter.getC
https://github.com/tblah edited https://github.com/llvm/llvm-project/pull/117046
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -2612,7 +2612,54 @@ static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
const parser::OpenMPDeclareMapperConstruct &declareMapperConstruct) {
- TODO(converter.getC
https://github.com/tblah commented:
I have some minor suggestions on the code. Please wait for review from somebody
with more familiarity with omp target things, and this is conditional on the
design of the MLIR operation being approved.
https://github.com/llvm/llvm-project/pull/117046
___
https://github.com/tblah approved this pull request.
https://github.com/llvm/llvm-project/pull/125515
___
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 afa9026eefb6c9cd613ed021a92e159f93c3667c Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Fri, 24 Jan 2025 17:32:41 +
Subject: [PATCH 1/2] [mlir][OpenMP] Pack task private variables into a
heap-allocated
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/125307
>From afa9026eefb6c9cd613ed021a92e159f93c3667c Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Fri, 24 Jan 2025 17:32:41 +
Subject: [PATCH 1/3] [mlir][OpenMP] Pack task private variables into a
heap-allocated
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
tblah wrote:
This should now be ready for review.
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 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 ready_for_review
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
@@ -1730,6 +1730,126 @@ buildDependData(std::optional dependKinds,
OperandRange dependVars,
}
}
+static bool privatizerReadsSourceVariable(omp::PrivateClauseOp &priv) {
+ if (priv.getDataSharingType() == omp::DataSharingClauseType::FirstPrivate)
+return true;
+
+ Regi
@@ -1730,6 +1730,126 @@ buildDependData(std::optional dependKinds,
OperandRange dependVars,
}
}
+static bool privatizerReadsSourceVariable(omp::PrivateClauseOp &priv) {
+ if (priv.getDataSharingType() == omp::DataSharingClauseType::FirstPrivate)
+return true;
+
+ Regi
@@ -1796,36 +1918,110 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
// Allocate and initialize private variables
// TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTerminator());
- for (auto [privDecl, mlirP
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 updated
https://github.com/llvm/llvm-project/pull/125307
>From afa9026eefb6c9cd613ed021a92e159f93c3667c Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Fri, 24 Jan 2025 17:32:41 +
Subject: [PATCH 1/8] [mlir][OpenMP] Pack task private variables into a
heap-allocated
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/125901
>From 8a7e449cfa357e18ba094cc61d14bf481668ddcd Mon Sep 17 00:00:00 2001
From: Tom Eccles
Date: Wed, 5 Feb 2025 17:29:42 +
Subject: [PATCH] [flang][Lower][OpenMP] Don't read moldarg for static sized
array
Thi
https://github.com/tblah updated
https://github.com/llvm/llvm-project/pull/125307
>From 06831df6909ff246ccd541e4f4c39fd47fd993a4 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
@@ -1796,36 +1918,110 @@ convertOmpTaskOp(omp::TaskOp taskOp,
llvm::IRBuilderBase &builder,
// Allocate and initialize private variables
// TODO: package private variables up in a structure
builder.SetInsertPoint(initBlock->getTerminator());
- for (auto [privDecl, mlirP
101 - 200 of 323 matches
Mail list logo