llvm-project/flang/lib/Optimizer/Builder
Kiran Chandramohan 07e16a2aae [Flang][OpenMP] Add implementation of privatisation
Privatisation creates local copies of variables in the OpenMP region.
Two functions `createHostAssociateVarClone` and `copyHostAssociateVar`
are added to create a clone of the variable for basic privatisation and to
copy the contents for first-privatisation.

Note: Tests for more data-types will be added when the fir.do_loop is
upstreamed.

This is part of the upstreaming effort from the fir-dev branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project

Reviewed By: peixin, NimishMishra

Differential Revision: https://reviews.llvm.org/D122595

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Peter Klausler <pklausler@nvidia.com>
Co-authored-by: Valentin Clement <clementval@gmail.com>
Co-authored-by: Sourabh Singh Tomar <SourabhSingh.Tomar@amd.com>
Co-authored-by: Nimish Mishra <neelam.nimish@gmail.com>
Co-authored-by: Peixin-Qiao <qiaopeixin@huawei.com>
2022-04-11 09:20:22 +00:00
..
Runtime [flang] Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE 2022-04-11 09:33:49 +02:00
BoxValue.cpp [flang][lowering] Handle zero extent case in LBOUND 2022-03-25 18:05:54 +01:00
CMakeLists.txt [flang] Lower general forall statement 2022-03-10 19:43:50 +01:00
Character.cpp [flang][lowering] Handle zero extent case in LBOUND 2022-03-25 18:05:54 +01:00
Complex.cpp [Flang] Add a factory class for creating Complex Ops 2021-11-18 16:55:35 +00:00
DoLoopHelper.cpp [flang] Remove 'using namespace mlir;` from header files 2022-03-09 10:19:51 +00:00
FIRBuilder.cpp [Flang][OpenMP] Add implementation of privatisation 2022-04-11 09:20:22 +00:00
LowLevelIntrinsics.cpp [flang] Lower boxed procedure 2022-03-22 15:41:11 +01:00
MutableBox.cpp [flang] Lower boxed procedure 2022-03-22 15:41:11 +01:00