[all-commits] [llvm/llvm-project] 85b46f: [flang] run CFG conversion on omp reduction declar...
Tom Eccles via All-commits
all-commits at lists.llvm.org
Wed Mar 20 02:49:54 PDT 2024
Branch: refs/heads/users/tblah/omp_array_reduction_3
Home: https://github.com/llvm/llvm-project
Commit: 85b46f6f5ec1c87c0043930130536cc83ea07333
https://github.com/llvm/llvm-project/commit/85b46f6f5ec1c87c0043930130536cc83ea07333
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
Log Message:
-----------
[flang] run CFG conversion on omp reduction declare ops
Most FIR passes only look for FIR operations inside of functions (either
because they run only on func.func or they run on the module but iterate
over functions internally). But there can also be FIR operations inside
of fir.global, some OpenMP and OpenACC container operations.
This has worked so far for fir.global and OpenMP reductions because they
only contained very simple FIR code which doesn't need most passes to be
lowered into LLVM IR. I am not sure how OpenACC works.
In the long run, I hope to see a more systematic approach to making sure
that every pass runs on all of these container operations. I will write
an RFC for this soon.
In the meantime, this pass duplicates the CFG conversion pass to also
run on omp reduction operations. This is similar to how the
AbstractResult pass is already duplicated for fir.global operations.
Co-authored-by: Mats Petersson <mats.petersson at arm.com>
Commit: cdad77c9af6b277c3c2daa7876e60d52c7acf8fb
https://github.com/llvm/llvm-project/commit/cdad77c9af6b277c3c2daa7876e60d52c7acf8fb
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-19 (Tue, 19 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
Log Message:
-----------
Expose cfg conversions to other passes
Commit: 888ed3805caf8899112e34e7c3ec283644b71ff6
https://github.com/llvm/llvm-project/commit/888ed3805caf8899112e34e7c3ec283644b71ff6
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A flang/test/Transforms/omp-reduction-cfg-conversion.fir
Log Message:
-----------
Add test
Commit: 8dea29a80044d44ca2ef7472fe7760995c3bf869
https://github.com/llvm/llvm-project/commit/8dea29a80044d44ca2ef7472fe7760995c3bf869
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
[flang][CodeGen] Run PreCGRewrite on omp reduction declare ops
OpenMP reduction declare operations can contain FIR code which needs to
be lowered to LLVM. With array reductions, these regions can contain
more complicated operations which need PreCGRewriting. A similar extra
case was already needed for fir::GlobalOp.
Commit: 13cd25877a5b2c8b387f2411b50aa7f36357fda5
https://github.com/llvm/llvm-project/commit/13cd25877a5b2c8b387f2411b50aa7f36357fda5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
Fix include
Commit: 8a432d5028ff2f368398fba519dcc8c12b851e49
https://github.com/llvm/llvm-project/commit/8a432d5028ff2f368398fba519dcc8c12b851e49
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
Run PreCGRewrite on all regions in the module
Commit: 717f22f2c5c602c50a1a0b21479ec837a2accbbd
https://github.com/llvm/llvm-project/commit/717f22f2c5c602c50a1a0b21479ec837a2accbbd
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
Remove unessecary include
Commit: 83ad738ffd37464328520b4a94ce0f01ce10351a
https://github.com/llvm/llvm-project/commit/83ad738ffd37464328520b4a94ce0f01ce10351a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Log Message:
-----------
Remove runOn
Compare: https://github.com/llvm/llvm-project/compare/790025615d31...83ad738ffd37
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list