diff options
author | Peter Klausler <pklausler@nvidia.com> | 2022-02-16 13:26:44 -0800 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2022-02-28 16:13:22 -0800 |
commit | 73b193aec21d5203bde76c76bd0a29c6f77daf36 (patch) | |
tree | 7f5b73b177b0c3f9c45f46fb111f34bf4c63c632 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | 6d751c410d6f5400c2c26d47e5033679fbd736d6 (diff) | |
download | llvm-73b193aec21d5203bde76c76bd0a29c6f77daf36.zip llvm-73b193aec21d5203bde76c76bd0a29c6f77daf36.tar.gz llvm-73b193aec21d5203bde76c76bd0a29c6f77daf36.tar.bz2 |
[flang] Allow more concurrently open NEWUNIT= values, with recycling
Add a header-only implementation of Briggs & Torczon's fast small
integer set data structure to flang/include/flang/Common, and use
it in the runtime to manage a pool of Fortran unit numbers with
recycling. This replaces the bit set previously used for that
purpose. The set is initialized on demand with the negations of
all the NEWUNIT= unit numbers that can be returned to any kind
of integer variable.
For programs that require more concurrently open NEWUNIT= unit
numbers than the pool can hold, they are now allocated with a
non-recycling counter. This allows as many open units as the
operating system provides.
Many of the top-line comments in flang/unittests/Runtime had the
wrong path name. I noticed this while adding a unit test for the
fast integer set data structure, and cleaned them up.
Differential Revision: https://reviews.llvm.org/D120685
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
0 files changed, 0 insertions, 0 deletions