|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
db6c3ecd |
| 11-Jun-2022 |
Peter Klausler <[email protected]> |
[flang][runtime] Make NCOPIES= argument of REPEAT a signed integer, & check it
NCOPIES= is currently a std::size_t in the API. If a negative value is used, the memory allocation will fail. Change
[flang][runtime] Make NCOPIES= argument of REPEAT a signed integer, & check it
NCOPIES= is currently a std::size_t in the API. If a negative value is used, the memory allocation will fail. Change it to be a signed integer, and crash with a message instead if it be negative.
Differential Revision: https://reviews.llvm.org/D127795
show more ...
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
d4609ae4 |
| 09-May-2022 |
Peter Steinfeld <[email protected]> |
[flang] Change "bad kind" messages in the runtime to "not yet implemented"
Similar to change D125046.
If a programmer is able to compile and link a program that contains types that are not yet supp
[flang] Change "bad kind" messages in the runtime to "not yet implemented"
Similar to change D125046.
If a programmer is able to compile and link a program that contains types that are not yet supported by the runtime, it must be because they're not yet implemented.
This change will make it easier to find unimplemented code in tests.
Differential Revision: https://reviews.llvm.org/D125267
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
830c0b90 |
| 01-Sep-2021 |
Peter Klausler <[email protected]> |
[flang] Move runtime API headers to flang/include/flang/Runtime
Move the closure of the subset of flang/runtime/*.h header files that are referenced by source files outside flang/runtime (apart from
[flang] Move runtime API headers to flang/include/flang/Runtime
Move the closure of the subset of flang/runtime/*.h header files that are referenced by source files outside flang/runtime (apart from unit tests) into a new directory (flang/include/flang/Runtime) so that relative include paths into ../runtime need not be used.
flang/runtime/pgmath.h.inc is moved to flang/include/flang/Evaluate; it's not used by the runtime.
Differential Revision: https://reviews.llvm.org/D109107
show more ...
|
| #
651f58bf |
| 02-Sep-2021 |
Diana Picus <[email protected]> |
[flang] Remove *- C++ -* incantation from runtime .cpp files. NFC
We should only need to spell the language out in .h files.
Differential Revision: https://reviews.llvm.org/D109138
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
8ba9ee46 |
| 15-Jun-2021 |
peter klausler <[email protected]> |
[flang] Correct the subscripts used for arguments to character intrinsics
When chasing down another unrelated bug, I noticed that the implementations of various character intrinsic functions assume
[flang] Correct the subscripts used for arguments to character intrinsics
When chasing down another unrelated bug, I noticed that the implementations of various character intrinsic functions assume that the lower bounds of (some of) their arguments were 1. This isn't necessarily the case, so I've cleaned them up, tweaked the unit tests to exercise the fix, and regularized the allocation pattern used for results to use SetBounds() before Allocate() rather than the old original Descriptor::Allocate() wrapper around CFI_allocate().
Since there were few other remaining uses of the old original Descriptor::Allocate() wrapper, I also converted them to the new one and deleted the old one.
Differential Revision: https://reviews.llvm.org/D104325
show more ...
|
| #
263a89c9 |
| 31-May-2021 |
Diana Picus <[email protected]> |
[flang] Change capitalization for Adjustl/r
Rename the definitions of the character runtime functions Adjustl and Adjustr (used to be AdjustL and AdjustR respectively).
Also add unit tests (and mov
[flang] Change capitalization for Adjustl/r
Rename the definitions of the character runtime functions Adjustl and Adjustr (used to be AdjustL and AdjustR respectively).
Also add unit tests (and move some of the helpers to the top of the file, since they're now used in more than one place).
Differential Revision: https://reviews.llvm.org/D103392
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
2ea36e94 |
| 06-May-2021 |
Diana Picus <[email protected]> |
[flang] Remove redundant reallocation
The MaxMinHelper used to implement MIN and MAX for character types would reallocate the accumulator whenever the number of characters in it was different from t
[flang] Remove redundant reallocation
The MaxMinHelper used to implement MIN and MAX for character types would reallocate the accumulator whenever the number of characters in it was different from that in the other input. This is unnecessary if the accumulator is already larger than the other input. This patch fixes the issue and adds a unit test to make sure we don't reallocate if we don't need to.
Differential Revision: https://reviews.llvm.org/D101984
show more ...
|
| #
5112bd6b |
| 27-Apr-2021 |
Diana Picus <[email protected]> |
[flang] Fix a bug in the character runtime
The number of bytes copied in CopyAndPad should depend on the size of the type being copied, not on its shift value (which in the case of char is 0, leadin
[flang] Fix a bug in the character runtime
The number of bytes copied in CopyAndPad should depend on the size of the type being copied, not on its shift value (which in the case of char is 0, leading to no bytes at all being copied).
Add unit tests for CharacterMin and CharacterMax, which exercise this code path.
Differential Revision: https://reviews.llvm.org/D101355
show more ...
|
| #
a58f362f |
| 22-Apr-2021 |
Diana Picus <[email protected]> |
[flang] Remove interfaces for Character[Min|Max][Val|Loc]. NFC
MAXVAL, MINVAL, MAXLOC and MINLOC are already implemented in extrema.cpp as MaxvalCharacter, MinvalDim etc. Therefore, the interfaces i
[flang] Remove interfaces for Character[Min|Max][Val|Loc]. NFC
MAXVAL, MINVAL, MAXLOC and MINLOC are already implemented in extrema.cpp as MaxvalCharacter, MinvalDim etc. Therefore, the interfaces in character.h are redundant and should be removed to avoid confusion.
Differential Revision: https://reviews.llvm.org/D101354
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
e372e0f9 |
| 31-Mar-2021 |
peter klausler <[email protected]> |
[flang] Implement reductions in the runtime
Add runtime APIs, implementations, and tests for ALL, ANY, COUNT, MAXLOC, MAXVAL, MINLOC, MINVAL, PRODUCT, and SUM reduction transformantional intrinsic f
[flang] Implement reductions in the runtime
Add runtime APIs, implementations, and tests for ALL, ANY, COUNT, MAXLOC, MAXVAL, MINLOC, MINVAL, PRODUCT, and SUM reduction transformantional intrinsic functions for all relevant argument and result types and kinds, both without DIM= arguments (total reductions) and with (partial reductions).
Complex-valued reductions have their APIs in C so that C's _Complex types can be used for their results.
Some infrastructure work was also necessary or noticed: * Usage of "long double" in the compiler was cleaned up a bit, and host dependences on x86 / MSVC have been isolated in a new Common/long-double header. * Character comparison has been exposed via an extern template so that reductions could use it. * Mappings from Fortran type category/kind to host C++ types and vice versa have been isolated into runtime/cpp-type.h and then used throughout the runtime as appropriate. * The portable 128-bit integer package in Common/uint128.h was generalized to support signed comparisons. * Bugs in descriptor indexing code were fixed.
Differential Revision: https://reviews.llvm.org/D99666
show more ...
|
| #
6811b961 |
| 12-Mar-2021 |
peter klausler <[email protected]> |
[flang] Runtime: implement INDEX intrinsic function
Implement INDEX in the runtime, reusing some infrastructure (with generalization and renaming as needed) put into place for its cousins SCAN and V
[flang] Runtime: implement INDEX intrinsic function
Implement INDEX in the runtime, reusing some infrastructure (with generalization and renaming as needed) put into place for its cousins SCAN and VERIFY.
I did not implement full Boyer-Moore substring searching for the forward case, but did accelerate some advancement on mismatches.
I (re)implemented unit testing for INDEX in the new gtest framework, combining it with the tests that have recently been ported to gtest for SCAN and VERIFY.
Differential Revision: https://reviews.llvm.org/D98553
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
5a451a42 |
| 26-Feb-2021 |
peter klausler <[email protected]> |
[flang] Runtime: SCAN and VERIFY
Implement the related character intrinsic functions SCAN and VERIFY.
Differential Revision: https://reviews.llvm.org/D97580
|
| #
b146dfe5 |
| 24-Feb-2021 |
Jean Perier <[email protected]> |
[flang] add attribute to trim runtime implementation establish call
CFI allocatable attribute is needed so that the descriptor for the result can be allocated/deallocated.
Reviewed By: klausler
Di
[flang] add attribute to trim runtime implementation establish call
CFI allocatable attribute is needed so that the descriptor for the result can be allocated/deallocated.
Reviewed By: klausler
Differential Revision: https://reviews.llvm.org/D97395
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
3aee64a9 |
| 17-Jun-2020 |
peter klausler <[email protected]> |
[flang] Fix build problems on osx
Summary: Fix build problems encountered on osx in two files. The one in character.cpp fixes a legitimate bug that elicited a valid warning.
Reviewers: tskeith, Pet
[flang] Fix build problems on osx
Summary: Fix build problems encountered on osx in two files. The one in character.cpp fixes a legitimate bug that elicited a valid warning.
Reviewers: tskeith, PeteSteinfeld, sscalpone, jdoerfert, DavidTruby
Reviewed By: tskeith, PeteSteinfeld
Subscribers: llvm-commits, flang-commits
Tags: #flang, #llvm
Differential Revision: https://reviews.llvm.org/D82107
show more ...
|
| #
3d627d6f |
| 17-Jun-2020 |
peter klausler <[email protected]> |
[flang] More Fortran runtime support for CHARACTER operations
Summary: - Remove C++ library dependence from lock.h - Implement LEN_TRIM, REPEAT, ADJUSTL, ADJUSTR, MAX/MIN intrinsic functions for C
[flang] More Fortran runtime support for CHARACTER operations
Summary: - Remove C++ library dependence from lock.h - Implement LEN_TRIM, REPEAT, ADJUSTL, ADJUSTR, MAX/MIN intrinsic functions for CHARACTER
Reviewers: tskeith, PeteSteinfeld, sscalpone, schweitz, DavidTruby
Reviewed By: PeteSteinfeld
Subscribers: llvm-commits, flang-commits
Tags: #flang, #llvm
Differential Revision: https://reviews.llvm.org/D82054
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
fc026241 |
| 24-Apr-2020 |
peter klausler <[email protected]> |
[flang] More CHARACTER runtime support + unit test
Summary: This is a continuation of development of the runtime support library's functions for CHARACTER data; specifically, it implements CHARACTER
[flang] More CHARACTER runtime support + unit test
Summary: This is a continuation of development of the runtime support library's functions for CHARACTER data; specifically, it implements CHARACTER comparisons. It includes a new unit test, and moves an #include directive to the runtime's unit testing main header.
Reviewers: tskeith, sscalpone, DavidTruby, jdoerfert
Reviewed By: tskeith
Subscribers: flang-commits, mgorny, llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D78826
show more ...
|
| #
4d54bb7a |
| 30-Mar-2020 |
peter klausler <[email protected]> |
[flang] Define CHARACTER runtime API, establish placeholder implementations
formatting
Original-commit: flang-compiler/f18@1d287d9d59eaee357db604dd9986c74c298a7b4d Reviewed-on: https://github.com/f
[flang] Define CHARACTER runtime API, establish placeholder implementations
formatting
Original-commit: flang-compiler/f18@1d287d9d59eaee357db604dd9986c74c298a7b4d Reviewed-on: https://github.com/flang-compiler/f18/pull/1096
show more ...
|