llvm-project/flang/lib/Lower
Dylan Fleming ddc0465369 [Flang][OpenMP] Add support for logical and reduction in worksharing-loop
Adds support for .and. reductions with logical types.

Because arith.addi doesn'to work with fir.logical<4> types
logical<4> must be converted to i1 prior to the operation.

This means that the pattern matched by integer reductions
(load -> op -> store) will not match logical reductions.
Instead, the pattern being searched for here is
load -> convert(logical<4> to i1) -> op -> convert(i1 to logical<4>) -> store

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D132228
2022-09-09 17:29:49 +00:00
..
.clang-format [flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980) 2020-02-25 07:11:52 -08:00
.clang-tidy [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
Allocatable.cpp [flang] Deallocate intent(out) allocatables 2022-09-08 10:15:54 +02:00
Bridge.cpp [flang] Control flow with empty select case blocks 2022-09-08 10:07:07 -07:00
CMakeLists.txt [mlir] (NFC) Clean up bazel and CMake target names 2022-06-13 16:24:15 +00:00
CallInterface.cpp [flang] Deallocate intent(out) allocatables 2022-09-08 10:15:54 +02:00
Coarray.cpp [flang][NFC] Move Todo.h from Lower to Optimizer 2022-06-10 08:51:05 +02:00
ComponentPath.cpp Don't use Optional::getValue (NFC) 2022-06-20 23:35:53 -07:00
ConvertExpr.cpp [flang] Deallocate intent(out) allocatables 2022-09-08 10:15:54 +02:00
ConvertType.cpp Remove redundant return statements (NFC) 2022-07-17 15:37:46 -07:00
ConvertVariable.cpp [flang] Deallocate intent(out) allocatables 2022-09-08 10:15:54 +02:00
CustomIntrinsicCall.cpp [flang] Intrinsic RANDOM_SEED calls with dynamically absent/present arguments 2022-08-09 09:08:55 -07:00
DumpEvaluateExpr.cpp [flang] Simple array assignment lowering 2022-02-24 21:23:30 +01:00
HostAssociations.cpp [flang][NFC] Make LEN parameters homogenous 2022-07-07 18:29:28 +02:00
IO.cpp [flang] Create a box instead of a temp to write to a char array 2022-09-05 13:29:21 +02:00
IntrinsicCall.cpp [flang] Accept assumed shape arrays as SHAPE in C_F_POINTER 2022-09-06 14:46:24 +02:00
IterationSpace.cpp [flang] Use *X instead of X.getValue() (NFC) 2022-07-16 00:24:02 -07:00
Mangler.cpp [flang] Remove redundant string initialization (NFC) 2022-08-14 12:52:01 -07:00
OpenACC.cpp [flang][openacc] Handle array section and derived-type components operands 2022-08-13 20:40:31 +02:00
OpenMP.cpp [Flang][OpenMP] Add support for logical and reduction in worksharing-loop 2022-09-09 17:29:49 +00:00
PFTBuilder.cpp [Flang] Set constructExit for Where and Forall constructs 2022-07-15 12:34:28 -07:00
Runtime.cpp [flang] Intrinsic RANDOM_SEED calls with dynamically absent/present arguments 2022-08-09 09:08:55 -07:00
SymbolMap.cpp [flang][OpenMP] Initial support the lowering of copyin clause 2022-06-24 15:33:09 +08:00
VectorSubscripts.cpp [flang][NFC] Unify todo messages 2022-06-20 15:44:20 +02:00