[all-commits] [llvm/llvm-project] f05c95: [flang] More work on SYSTEM_CLOCK runtime API and ...
Peter Klausler via All-commits
all-commits at lists.llvm.org
Tue Oct 12 09:24:40 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f05c95f10fc1d8171071735af8ad3a9e87633120
https://github.com/llvm/llvm-project/commit/f05c95f10fc1d8171071735af8ad3a9e87633120
Author: peter klausler <pklausler at nvidia.com>
Date: 2021-10-12 (Tue, 12 Oct 2021)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/unittests/Runtime/Time.cpp
Log Message:
-----------
[flang] More work on SYSTEM_CLOCK runtime API and implementation
To get proper wrap-around behavior for the various kind parameter
values of the optional COUNT= and COUNT_MAX= dummy arguments to
the intrinsic subroutine SYSTEM_CLOCK, add an extra argument to
the APIs for lowering to pass the integer kind of the actual argument.
Avoid confusion by requiring that both actual arguments have the same
kind when both are present. The results of the runtime functions
remain std::int64_t and lowering should still convert them before
storing to the actual argument variables.
Rework the implementation a bit to accomodate the dynamic
specification of the kind parameter, and to clean up some coding
issues with preprocessing and templates.
Use the kind of the COUNT=/COUNT_MAX= actual arguments to determine
the clock's resolution, where possible, in conformance with other
Fortran implementations.
Differential Revision: https://reviews.llvm.org/D111281
More information about the All-commits
mailing list