Added lowering support for atomic read and write constructs
authorNimish Mishra <neelam.nimish@gmail.com>
Thu, 21 Apr 2022 03:45:45 +0000 (09:15 +0530)
committerNimish Mishra <neelam.nimish@gmail.com>
Thu, 21 Apr 2022 06:49:13 +0000 (12:19 +0530)
commit00c511b35195616430112e5d537588dfdae42cba
tree7c9da4db8d21bad073c153f1c57f8a55d9533645
parentb02d88d5afb58f53b30cde31990cd2d355d6c597
Added lowering support for atomic read and write constructs

This patch adds lowering support for atomic read and write constructs.
Also added is pointer modelling code to allow FIR pointer like types to
be inferred and converted while lowering.

Reviewed By: kiranchandramohan

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

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>
flang/include/flang/Tools/PointerModels.h [new file with mode: 0644]
flang/lib/Lower/OpenMP.cpp
flang/lib/Optimizer/CodeGen/CodeGen.cpp
flang/lib/Optimizer/Dialect/FIRType.cpp
flang/test/Lower/OpenMP/atomic01.f90 [new file with mode: 0644]
flang/test/Lower/OpenMP/atomic02.f90 [new file with mode: 0644]
mlir/include/mlir/Conversion/OpenMPToLLVM/ConvertOpenMPToLLVM.h
mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp