https://github.com/skatrak approved this pull request.
Thank you Tom for working on this, I think it's a very nice improvement! LGTM.
https://github.com/llvm/llvm-project/pull/144898
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.o
@@ -2224,10 +2260,13 @@ genSectionsOp(lower::AbstractConverter &converter,
lower::SymMap &symTable,
lower::pft::Evaluation &eval, mlir::Location loc,
const ConstructQueue &queue,
ConstructQueue::const_iterator item) {
- assert(!sectio
@@ -1818,16 +1852,17 @@ static void genTargetClauses(
llvm::SmallVectorImpl &hasDeviceAddrSyms,
llvm::SmallVectorImpl &isDevicePtrSyms,
llvm::SmallVectorImpl &mapSyms) {
+ HostEvalInfo *hostEvalInfo = getHostEvalInfoStackTop(converter);
ClauseProcessor cp(conver
@@ -2224,10 +2260,13 @@ genSectionsOp(lower::AbstractConverter &converter,
lower::SymMap &symTable,
lower::pft::Evaluation &eval, mlir::Location loc,
const ConstructQueue &queue,
ConstructQueue::const_iterator item) {
- assert(!sectio
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/144898
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -200,9 +201,41 @@ class HostEvalInfo {
/// the handling of the outer region by keeping a stack of information
/// structures, but it will probably still require some further work to support
/// reverse offloading.
-static llvm::SmallVector hostEvalInfo;
-static llvm::SmallVe
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137201
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-s
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137199
>From c6954b3120a87eef7d9cf86f18d4ef342b2e7b25 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Fri, 11 Apr 2025 13:40:14 +0100
Subject: [PATCH] [MLIR][OpenMP] Assert on map translation functions, NFC
This pa
https://github.com/skatrak approved this pull request.
Thank you, this LGTM. I just have a non-blocking suggestion.
https://github.com/llvm/llvm-project/pull/137841
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.l
@@ -3075,9 +3115,6 @@ convertOmpCancel(omp::CancelOp op, llvm::IRBuilderBase
&builder,
llvm::OpenMPIRBuilder::LocationDescription ompLoc(builder);
llvm::OpenMPIRBuilder *ompBuilder = moduleTranslation.getOpenMPBuilder();
- if (failed(checkImplementationStatus(*op.getOper
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/137841
___
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/skatrak approved this pull request.
LGTM too, thanks!
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-branc
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137201
>From 22f22aa0ca2c98dfcc48a70f2f7e0a5b68d7b1d9 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 22 Apr 2025 12:04:45 +0100
Subject: [PATCH] [MLIR][OpenMP] Simplify OpenMP device codegen
After removing ho
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137200
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-s
@@ -3623,6 +3623,9 @@ static llvm::omp::OpenMPOffloadMappingFlags
mapParentWithMembers(
LLVM::ModuleTranslation &moduleTranslation, llvm::IRBuilderBase &builder,
llvm::OpenMPIRBuilder &ompBuilder, DataLayout &dl, MapInfosTy
&combinedInfo,
MapInfoData &mapData, uin
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137201
>From c86caed6b80bdd4ed4edeb77f65116584e61b83b Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 22 Apr 2025 12:04:45 +0100
Subject: [PATCH] [MLIR][OpenMP] Simplify OpenMP device codegen
After removing ho
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137200
>From 6b734e2277969eeb200a292679c173c713b303f6 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 15 Apr 2025 16:59:18 +0100
Subject: [PATCH 1/2] [Flang][OpenMP] Minimize host ops remaining in device
compi
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/137199
>From 6ea52bf1986b5bba68d4d797590156daa38a4269 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Fri, 11 Apr 2025 13:40:14 +0100
Subject: [PATCH] [MLIR][OpenMP] Assert on map translation functions, NFC
This pa
skatrak wrote:
PR stack:
- #137198
- #137199
- #137200
- #137201
https://github.com/llvm/llvm-project/pull/137201
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commit
skatrak wrote:
This PR is based on the following analysis of the current state of OpenMP map
translation to LLVM IR. If there are any issues with this PR, they are likely
easier to spot on this graph:
;
}
+
+/// Prepares the `fir.do_loop` nest to be easily mapped to OpenMP. In
+/// particular, this function would take this input IR:
+/// ```
+/// fir.do_loop %i_iv =
https://github.com/skatrak approved this pull request.
Thank you Kareem, LGTM!
https://github.com/llvm/llvm-project/pull/127634
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm
@@ -28,64 +28,80 @@ namespace looputils {
/// Stores info needed about the induction/iteration variable for each `do
/// concurrent` in a loop nest.
struct InductionVariableInfo {
+ InductionVariableInfo(fir::DoLoopOp doLoop) { populateInfo(doLoop); }
+
/// The operation al
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/127634
___
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/skatrak approved this pull request.
Thank you, LGTM!
https://github.com/llvm/llvm-project/pull/127633
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch
@@ -5255,6 +5283,51 @@ convertTargetOpsInNest(Operation *op,
llvm::IRBuilderBase &builder,
return WalkResult::interrupt();
return WalkResult::skip();
}
+
+ // Non-target ops might nest target-related ops, therefore, we
+ //
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/127633
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -24,7 +25,67 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest.
+struct InductionVariableInfo {
+ /// The operation alloca
@@ -5255,6 +5283,51 @@ convertTargetOpsInNest(Operation *op,
llvm::IRBuilderBase &builder,
return WalkResult::interrupt();
return WalkResult::skip();
}
+
+ // Non-target ops might nest target-related ops, therefore, we
+ //
@@ -5315,6 +5320,46 @@ convertTargetOpsInNest(Operation *op,
llvm::IRBuilderBase &builder,
return WalkResult::interrupt();
return WalkResult::skip();
}
+
+ // Non-target ops might nest target-related ops, therefore, we
+ //
@@ -24,7 +25,50 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest.
+struct InductionVariableInfo {
+ /// the operation alloca
@@ -0,0 +1,45 @@
+! Tests that if `do concurrent` is not perfectly nested in its parent loop,
that
+! we skip converting the not-perfectly nested `do concurrent` loop.
+
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -fdo-concurrent-to-openmp=host %s -o - \
+! RUN: | FileCheck %s
+
+p
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/130789
This patch introduces a use for the new `getBlockArgsPairs` to avoid having to
manually list each applicable clause.
Also, the `numClauseBlockArgs()` function is introduced, which simplifies the
implementation
@@ -152,26 +199,140 @@ class DoConcurrentConversion : public
mlir::OpConversionPattern {
public:
using mlir::OpConversionPattern::OpConversionPattern;
- DoConcurrentConversion(mlir::MLIRContext *context, bool mapToDevice)
- : OpConversionPattern(context), mapToDevice(
@@ -24,7 +25,50 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest.
+struct InductionVariableInfo {
+ /// the operation alloca
@@ -0,0 +1,45 @@
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -fdo-concurrent-to-openmp=host %s -o - \
+! RUN: | FileCheck %s
+
+program main
+implicit none
+
+call foo(10)
+
+contains
+subroutine foo(n)
+implicit none
+integer :: n
+
https://github.com/skatrak 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/skatrak approved this pull request.
It appears a couple of the changes got somehow lost, but no need for another
review from me. LGTM, thanks!
https://github.com/llvm/llvm-project/pull/125307
___
llvm-branch-commits mailing list
llv
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127822
>From bd0589979a0db8bb6c5b7da57ac2054ce690a1f9 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 15:15:01 +
Subject: [PATCH] [Flang][OpenMP] Allow host evaluation of loop bounds for
distri
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127821
>From 03651527c28805cb1d786c5674d4bf5644bd1642 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 14:41:12 +
Subject: [PATCH] [MLIR][OpenMP] Support target SPMD
This patch implements MLIR t
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127820
>From aa6182cc887136d44c8fd180a702f62b381f9b5c Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 14:19:30 +
Subject: [PATCH] [OpenMPIRBuilder] Split calculation of canonical loop trip
coun
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127819
>From e61c7975523361b02d1be6f270edfc4cdc6b4f66 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 13:07:51 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for
This
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127818
>From d164acf8d6a573cfc3e5a8d46f8d242fc3cd190f Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 12:04:53 +
Subject: [PATCH] [OpenMPIRBuilder] Add support for distribute-parallel-for/do
co
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127817
>From 654c63e0489922e0abac069a95f2433d20f65e53 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 11:22:43 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of standalone distribute
This patc
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127816
>From 26638a2456dbc7b423d1f5bbb92650398f76098a Mon Sep 17 00:00:00 2001
From: Dominik Adamski
Date: Mon, 17 Feb 2025 14:25:40 +
Subject: [PATCH] [OpenMPIRBuilder] Add support for distribute constructs
This
@@ -102,6 +105,47 @@ mlir::Operation *findLoopIterationVarMemDecl(fir::DoLoopOp
doLoop) {
return result.getDefiningOp();
}
+/// Collects the op(s) responsible for updating a loop's iteration variable
with
+/// the current iteration number. For example, for the input IR:
+/
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/127635
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -0,0 +1,62 @@
+! Tests that "loop-local values" are properly handled by localizing them to the
+! body of the loop nest. See `collectLoopLocalValues` and
`localizeLoopLocalValue`
+! for a definition of "loop-local values" and how they are handled.
skatrak wrot
@@ -361,6 +361,64 @@ void sinkLoopIVArgs(mlir::ConversionPatternRewriter
&rewriter,
++idx;
}
}
+
+/// Collects values that are local to a loop: "loop-local values". A loop-local
+/// value is one that is used exclusively inside the loop but allocated outside
+/// of it.
@@ -202,6 +202,57 @@ variables: `i` and `j`. These are locally allocated inside
the parallel/target
OpenMP region similar to what the single-range example in previous section
shows.
+### Data environment
+
+By default, variables that are used inside a `do concurrent` loop nes
@@ -202,6 +202,57 @@ variables: `i` and `j`. These are locally allocated inside
the parallel/target
OpenMP region similar to what the single-range example in previous section
shows.
+### Data environment
+
+By default, variables that are used inside a `do concurrent` loop nes
https://github.com/skatrak approved this pull request.
I have a couple of nits, but LGTM otherwise. Thank you!
https://github.com/llvm/llvm-project/pull/127635
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.o
@@ -361,6 +361,64 @@ void sinkLoopIVArgs(mlir::ConversionPatternRewriter
&rewriter,
++idx;
}
}
+
+/// Collects values that are local to a loop: "loop-local values". A loop-local
+/// value is one that is used exclusively inside the loop but allocated outside
+/// of it.
@@ -152,26 +231,136 @@ class DoConcurrentConversion : public
mlir::OpConversionPattern {
public:
using mlir::OpConversionPattern::OpConversionPattern;
- DoConcurrentConversion(mlir::MLIRContext *context, bool mapToDevice)
- : OpConversionPattern(context), mapToDevice(
@@ -102,6 +105,47 @@ mlir::Operation *findLoopIterationVarMemDecl(fir::DoLoopOp
doLoop) {
return result.getDefiningOp();
}
+/// Collects the op(s) responsible for updating a loop's iteration variable
with
+/// the current iteration number. For example, for the input IR:
--
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/127634
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -102,6 +105,47 @@ mlir::Operation *findLoopIterationVarMemDecl(fir::DoLoopOp
doLoop) {
return result.getDefiningOp();
}
+/// Collects the op(s) responsible for updating a loop's iteration variable
with
+/// the current iteration number. For example, for the input IR:
+/
@@ -102,6 +105,47 @@ mlir::Operation *findLoopIterationVarMemDecl(fir::DoLoopOp
doLoop) {
return result.getDefiningOp();
}
+/// Collects the op(s) responsible for updating a loop's iteration variable
with
+/// the current iteration number. For example, for the input IR:
+/
https://github.com/skatrak commented:
Thank you Kareem, some small comments from me.
https://github.com/llvm/llvm-project/pull/127634
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinf
@@ -30,6 +30,9 @@ namespace looputils {
struct InductionVariableInfo {
/// the operation allocating memory for iteration variable,
mlir::Operation *iterVarMemDef;
+ /// the operation(s) updating the iteration variable with the current
+ /// iteration number.
+ llvm::SetV
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127819
>From aad04faf1796c328ac2a4280939a7fb9d7503ab1 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 13:07:51 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for
This
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127821
>From e965e0e637551c9b5b5f7fb526a809d1186ef261 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 14:41:12 +
Subject: [PATCH 1/2] [MLIR][OpenMP] Support target SPMD
This patch implements ML
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127822
>From de75db239e6725be6509c06057a338842339bc0a Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 15:15:01 +
Subject: [PATCH] [Flang][OpenMP] Allow host evaluation of loop bounds for
distri
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127820
>From f14d964b8b744ebbf2f981ff07e0051c338db335 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 14:19:30 +
Subject: [PATCH] [OpenMPIRBuilder] Split calculation of canonical loop trip
coun
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127819
>From aad04faf1796c328ac2a4280939a7fb9d7503ab1 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 13:07:51 +
Subject: [PATCH 1/2] [MLIR][OpenMP] Host lowering of
distribute-parallel-do/for
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127821
>From 27139f8f6260de93a0e6d6163b9562c7daa451b8 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 14:41:12 +
Subject: [PATCH 1/2] [MLIR][OpenMP] Support target SPMD
This patch implements ML
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127816
>From 40d140e6bc0be9556bc09524b38e642cb9885a9d Mon Sep 17 00:00:00 2001
From: Dominik Adamski
Date: Mon, 17 Feb 2025 14:25:40 +
Subject: [PATCH] [OpenMPIRBuilder] Add support for distribute constructs
This
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127822
>From 25e308a580946e40e4d74aae7f04d570723bb267 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 15:15:01 +
Subject: [PATCH] [Flang][OpenMP] Allow host evaluation of loop bounds for
distri
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127821
>From 32e696f446082a50b60032f1f5b656e494db5570 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 14:41:12 +
Subject: [PATCH 1/2] [MLIR][OpenMP] Support target SPMD
This patch implements ML
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127820
>From 033091e14c76c3e9c7adb0deae2451a298a7fe9e Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 14:19:30 +
Subject: [PATCH] [OpenMPIRBuilder] Split calculation of canonical loop trip
coun
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127818
>From ba9ea8c2cbe7848ca36c92e4c3ee464bcf0e6c39 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 12:04:53 +
Subject: [PATCH] [OpenMPIRBuilder] Add support for distribute-parallel-for/do
co
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127817
>From 55089ba79ac352b05553d3d930ffca3f94562dc1 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 11:22:43 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of standalone distribute
This patc
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127820
>From 082d8e12a622e2315dd4503ce460f9a0e6f29007 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 14:19:30 +
Subject: [PATCH] [OpenMPIRBuilder] Split calculation of canonical loop trip
coun
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127819
>From 33d5af4e9d8aaf9464aa74f5031d60001d77c610 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 13:07:51 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for
This
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127822
>From c3db0a39f6515911deece48d61e7ee5bfb7219b1 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Wed, 19 Feb 2025 15:15:01 +
Subject: [PATCH] [Flang][OpenMP] Allow host evaluation of loop bounds for
distri
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127818
>From dbe0d70c0d1c83027ffc9b6eda637257a362adc5 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 12:04:53 +
Subject: [PATCH] [OpenMPIRBuilder] Add support for distribute-parallel-for/do
co
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/127817
>From 128819a704e4c3497c55fe21d0b588f24240af34 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 18 Feb 2025 11:22:43 +
Subject: [PATCH] [MLIR][OpenMP] Host lowering of standalone distribute
This patc
@@ -24,7 +25,82 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest. This includes only for now:
+/// * the operation allocating
@@ -24,7 +25,82 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest. This includes only for now:
+/// * the operation allocating
https://github.com/skatrak commented:
Thank you, a couple of comments from me. But the general approach looks good.
https://github.com/llvm/llvm-project/pull/127633
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.l
@@ -93,11 +169,14 @@ bool isPerfectlyNested(fir::DoLoopOp outerLoop,
fir::DoLoopOp innerLoop) {
/// recognize a certain nested loop as part of the nest it just returns the
/// parent loops it discovered before.
mlir::LogicalResult collectLoopNest(fir::DoLoopOp currentLoop,
-
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/127633
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -24,7 +25,82 @@ namespace flangomp {
namespace {
namespace looputils {
-using LoopNest = llvm::SetVector;
+/// Stores info needed about the induction/iteration variable for each `do
+/// concurrent` in a loop nest. This includes only for now:
+/// * the operation allocating
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- #127817
- :arrow_right: #127818
- #127819
- #127820
- #127821
- #127822
https://github.com/llvm/llvm-project/pull/127818
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- #127817
- #127818
- #127819
- #127820
- #127821
- :arrow_right: #127822
https://github.com/llvm/llvm-project/pull/127822
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/127821
This patch implements MLIR to LLVM IR translation of host-evaluated loop
bounds, completing initial support for `target teams distribute parallel do
[simd]` and `target teams distribute [simd]`.
>From 33409d2b
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- #127817
- #127818
- #127819
- :arrow_right: #127820
- #127821
- #127822
https://github.com/llvm/llvm-project/pull/127820
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- #127817
- #127818
- #127819
- #127820
- :arrow_right: #127821
- #127822
https://github.com/llvm/llvm-project/pull/127821
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- #127817
- #127818
- :arrow_right: #127819
- #127820
- #127821
- #127822
https://github.com/llvm/llvm-project/pull/127819
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
skatrak wrote:
PR stack:
- #115475
- #127217
- #127816
- :arrow_right: #127817
- #127818
- #127819
- #127820
- #127821
- #127822
https://github.com/llvm/llvm-project/pull/127817
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
skatrak wrote:
PR stack:
- #115475
- #127217
- :arrow_right: #127816
- #127817
- #127818
- #127819
- #127820
- #127821
- #127822
https://github.com/llvm/llvm-project/pull/127816
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
ht
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/127818
This patch adds codegen for `kmpc_dist_for_static_init` runtime calls, used to
support worksharing a single loop across teams and threads. This can be used to
implement `distribute parallel for/do` support.
>F
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/127816
This patch adds the `OpenMPIRBuilder::createDistribute()` function and updates
`OpenMPIRBuilder::applyStaticWorkshareLoop()` in preparation for adding
`distribute` support to flang.
>From a79b7a2d6a443ef26bf4b
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/127822
This patch adds `target teams distribute [simd]` and equivalent construct nests
to the list of cases where loop bounds can be evaluated in the host, as they
represent kernels for which the trip count must also
https://github.com/skatrak created
https://github.com/llvm/llvm-project/pull/127820
This patch splits off the calculation of canonical loop trip counts from the
creation of canonical loops. This makes it possible to reuse this logic to, for
instance, populate the `__tgt_target_kernel` runtime
1 - 100 of 645 matches
Mail list logo