[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via llvm-branch-commits
@@ -1818,16 +1852,17 @@ static void genTargetClauses( llvm::SmallVectorImpl &hasDeviceAddrSyms, llvm::SmallVectorImpl &isDevicePtrSyms, llvm::SmallVectorImpl &mapSyms) { + HostEvalInfo *hostEvalInfo = getHostEvalInfoStackTop(converter); ClauseProcessor cp(conver

[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [flang][OpenMP][NFC] remove globals with mlir::StateStack (PR #144898)

2025-06-19 Thread Sergio Afonso via 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

[llvm-branch-commits] [flang] [mlir] [MLIR][OpenMP] Simplify OpenMP device codegen (PR #137201)

2025-05-15 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-05-15 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [mlir][OpenMP] cancel(lation point) taskgroup LLVMIR (PR #137841)

2025-05-07 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [mlir][OpenMP] cancel(lation point) taskgroup LLVMIR (PR #137841)

2025-05-07 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [mlir] [mlir][OpenMP] cancel(lation point) taskgroup LLVMIR (PR #137841)

2025-05-07 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [mlir] [mlir][OpenMP] Convert omp.cancellation_point to LLVMIR (PR #137205)

2025-05-06 Thread Sergio Afonso via 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

[llvm-branch-commits] [flang] [mlir] [MLIR][OpenMP] Simplify OpenMP device codegen (PR #137201)

2025-05-05 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Minimize host ops remaining in device compilation (PR #137200)

2025-05-05 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-04-30 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [mlir] [MLIR][OpenMP] Simplify OpenMP device codegen (PR #137201)

2025-04-29 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Minimize host ops remaining in device compilation (PR #137200)

2025-04-29 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-04-29 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [MLIR][OpenMP] Simplify OpenMP device codegen (PR #137201)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
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: ![MapInfoData uses](https://github.com/user-attachments/assets/f9f56688-51e5-4ab4-be7c-39b3de

[llvm-branch-commits] [flang] [Flang][OpenMP] Minimize host ops remaining in device compilation (PR #137200)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
skatrak wrote: PR stack: - #137198 - #137199 - #137200 - #137201 https://github.com/llvm/llvm-project/pull/137200 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commit

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
skatrak wrote: PR stack: - #137198 - #137199 - #137200 - #137201 https://github.com/llvm/llvm-project/pull/137199 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commit

[llvm-branch-commits] [flang] [mlir] [MLIR][OpenMP] Simplify OpenMP device codegen (PR #137201)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
https://github.com/skatrak created https://github.com/llvm/llvm-project/pull/137201 After removing host operations from the device MLIR module, it is no longer necessary to provide special codegen logic to prevent these operations from causing compiler crashes or miscompilations. This patch r

[llvm-branch-commits] [flang] [Flang][OpenMP] Minimize host ops remaining in device compilation (PR #137200)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
https://github.com/skatrak created https://github.com/llvm/llvm-project/pull/137200 This patch updates the function filtering OpenMP pass intended to remove host functions from the MLIR module created by Flang lowering when targeting an OpenMP target device. Host functions holding target regi

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Assert on map translation functions, NFC (PR #137199)

2025-04-24 Thread Sergio Afonso via llvm-branch-commits
https://github.com/skatrak created https://github.com/llvm/llvm-project/pull/137199 This patch adds assertions to map-related MLIR to LLVM IR translation functions and utils to explicitly document whether they are intended for host or device compilation only. Over time, map-related handling h

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-04-05 Thread Sergio Afonso via llvm-branch-commits
@@ -210,6 +223,96 @@ mlir::LogicalResult collectLoopNest(fir::DoLoopOp currentLoop, return mlir::success(); } + +/// 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 =

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-04-04 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-03-18 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-03-18 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-12 Thread Sergio Afonso via 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

[llvm-branch-commits] [mlir] [flang][OpenMP] Translate OpenMP scopes when compiling for target device (PR #130078)

2025-03-12 Thread Sergio Afonso via llvm-branch-commits
@@ -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 + //

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-12 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-12 Thread Sergio Afonso via 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

[llvm-branch-commits] [mlir] [flang][OpenMP] Translate OpenMP scopes when compiling for target device (PR #130078)

2025-03-12 Thread Sergio Afonso via llvm-branch-commits
@@ -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 + //

[llvm-branch-commits] [mlir] [flang][OpenMP] Translate OpenMP scopes when compiling for target device (PR #130078)

2025-03-12 Thread Sergio Afonso via llvm-branch-commits
@@ -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 + //

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-11 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-11 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Minor improvements to BlockArgOpenMPOpInterface, NFC (PR #130789)

2025-03-11 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-10 Thread Sergio Afonso via llvm-branch-commits
@@ -152,26 +199,140 @@ class DoConcurrentConversion : public mlir::OpConversionPattern { public: using mlir::OpConversionPattern::OpConversionPattern; - DoConcurrentConversion(mlir::MLIRContext *context, bool mapToDevice) - : OpConversionPattern(context), mapToDevice(

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-10 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-03-10 Thread Sergio Afonso via llvm-branch-commits
@@ -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 +

[llvm-branch-commits] [flang] [mlir] [mlir][OpenMP] Pack task private variables into a heap-allocated context struct (PR #125307)

2025-02-26 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [mlir] [mlir][OpenMP] Pack task private variables into a heap-allocated context struct (PR #125307)

2025-02-26 Thread Sergio Afonso via 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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for (PR #127819)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (PR #127818)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of standalone distribute (PR #127817)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute constructs (PR #127816)

2025-02-24 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via 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: +/

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via 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

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -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.

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (PR #127635)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -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.

[llvm-branch-commits] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -152,26 +231,136 @@ class DoConcurrentConversion : public mlir::OpConversionPattern { public: using mlir::OpConversionPattern::OpConversionPattern; - DoConcurrentConversion(mlir::MLIRContext *context, bool mapToDevice) - : OpConversionPattern(context), mapToDevice(

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via 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: --

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via 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: +/

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via 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: +/

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (PR #127634)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
@@ -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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for (PR #127819)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for (PR #127819)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute constructs (PR #127816)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (PR #127818)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of standalone distribute (PR #127817)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for (PR #127819)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (PR #127818)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of standalone distribute (PR #127817)

2025-02-21 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via 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

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via 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

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via llvm-branch-commits
@@ -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, -

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [clang] [flang] [flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (PR #127633)

2025-02-20 Thread Sergio Afonso via 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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (PR #127818)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Support target SPMD (PR #127821)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of distribute-parallel-do/for (PR #127819)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [mlir] [MLIR][OpenMP] Host lowering of standalone distribute (PR #127817)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute constructs (PR #127816)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (PR #127818)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Add support for distribute constructs (PR #127816)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [flang] [Flang][OpenMP] Allow host evaluation of loop bounds for distribute (PR #127822)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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

[llvm-branch-commits] [llvm] [OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (PR #127820)

2025-02-19 Thread Sergio Afonso via llvm-branch-commits
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   2   3   4   5   6   7   >