[flang] system_clock intrinsic calls with dynamically optional arguments
authorvdonaldson <37090318+vdonaldson@users.noreply.github.com>
Mon, 13 Jun 2022 15:32:26 +0000 (17:32 +0200)
committerValentin Clement <clementval@gmail.com>
Mon, 13 Jun 2022 15:33:28 +0000 (17:33 +0200)
commit70ade047a44584aa3c31735690e2bffe17d6b04f
tree3286a9013d86b4e05e0614ed42929e1e147d5fa2
parent111b32ecb40aef8c15ed3db73acb908412b9ad73
[flang] system_clock intrinsic calls with dynamically optional arguments

system_clock intrinsic calls with dynamically optional arguments

Modify intrinsic system_clock calls to allow for an argument that is optional
or a disassociated pointer or an unallocated allocatable.  A call with such an
argument is the same as a call that does not specify that argument.

Rename (genIsNotNull -> genIsNotNullAddr) and (genIsNull -> genIsNullAddr)
and add a use of genIsNotNullAddr.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: PeteSteinfeld

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

Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
flang/include/flang/Optimizer/Builder/FIRBuilder.h
flang/lib/Lower/CustomIntrinsicCall.cpp
flang/lib/Lower/HostAssociations.cpp
flang/lib/Lower/IntrinsicCall.cpp
flang/lib/Lower/Runtime.cpp
flang/lib/Optimizer/Builder/FIRBuilder.cpp
flang/lib/Optimizer/Builder/MutableBox.cpp
flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
flang/test/Lower/Intrinsics/system_clock.f90
flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp