PPeixin Qiao[flang] Support intrinsic selected_int_kind for variables
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[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 | 4 年前 | |
[flang][runtime] Ensure PointerDeallocate actually deallocate pointers PointerDeallocate was silently doing nothing because it relied on Destroy that doe not do anything for Pointers. Add an option to Destroy in order to destroy pointers. Add a unit test for PointerDeallocate. Differential Revision: https://reviews.llvm.org/D122492 | 4 年前 | |
[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 | 4 年前 | |
[flang] Add runtime support for GET_COMMAND Implement the GET_COMMAND intrinsic. Add 2 new parameters (sourceFile and line) so we can create a terminator for RUNTIME_CHECKs. Differential Revision: https://reviews.llvm.org/D118777 | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 | |
[flang][runtime] Don't pad CHARACTER input at end of record unless PAD='YES' When formatted CHARACTER input runs into the end of an input record, the runtime usually fills the remainder of the variable with spaces, but this should be conditional, and not done when PAD='NO'. And while here, add some better comments to two members of connection.h to make their non-obvious relationship more clear. Differential Revision: https://reviews.llvm.org/D125053 | 4 年前 | |
[flang][runtime] Enforce restrictions on unlimited format repetition A repeated format item group with an unlimited ('*') repetition count can appear only as the last item at the top level of a format; it can't be nested in more parentheses and it can't be followed by anything else. Differential Revision: https://reviews.llvm.org/D125054 | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 | |
[flang] Support intrinsic selected_int_kind for variables As Fortran 2018 16.9.169, the argument of selected_int_kind is integer scalar, and result is default integer scalar. The constant expression in this intrinsic has been supported by folding the constant expression. This supports lowering and runtime for variables in this intrinsic. Reviewed By: Jean Perier Differential Revision: https://reviews.llvm.org/D129959 | 3 年前 | |
[flang][runtime] Improve G0 output editing G0 output editing should never overflow an output field and fill it with asterisks. It should also never elide the "E" in an exponent field, even if it has more than three digits. Differential Revision: https://reviews.llvm.org/D128396 | 3 年前 | |
[flang][runtime] Ensure PointerDeallocate actually deallocate pointers PointerDeallocate was silently doing nothing because it relied on Destroy that doe not do anything for Pointers. Add an option to Destroy in order to destroy pointers. Add a unit test for PointerDeallocate. Differential Revision: https://reviews.llvm.org/D122492 | 4 年前 | |
[flang] Simplify RaggedArrayHeader and make it plain C struct - Join indirection and rank into a single value flags - Make the struct a plain C struct. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D115464 | 4 年前 | |
[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 | 4 年前 | |
[flang] Fix MAXLOC/MINLOC when MASK is scalar .FALSE. When passing a scalar .FALSE. as the MASK argument to MAXLOC, we were getting bad memory references. We were falling into the code intended when the MASK argument was missing. I fixed this by checking for a scalar MASK with a .FALSE. value and setting the result to all zeroes in that case. I also added tests for MAXLOC and MINLOC with scalar values of .TRUE. and .FALSE. for the MASK argument. I also special cased situations where the MASK argument is a scalar with a .TRUE. value and passed along a nullptr in such cases. Along the way, I eliminated the unused "chars" argument from the constructor for ExtremumLocAccumulator. Differential Revision: https://reviews.llvm.org/D124484 | 4 年前 | |
[flang] use 1-based dim in transformational runtime error msg Flang transformational runtime was previously reporting conformity issues in a zero based fashion to describe which dimension is non conformant. This may confuse Fortran user, especially when the message is about a dimension other than the first one. Differential Revision: https://reviews.llvm.org/D124941 | 4 年前 | |
[flang] Rename the runtime routine that reports a fatal user error As per Steve Scalpone's suggestion, I've renamed the runtime routine to better evoke its purpose. I implemented a routine called "Crash" and added a test. Differential Revision: https://reviews.llvm.org/D118703 | 4 年前 | |
[flang] Lower sum intrinsic This patch enables the lowering of the sum intrinsic. It adds also infrastructure to deal with optional arguments in intrinsics and implied loops. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D121221 Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: mleair <leairmark@gmail.com> | 4 年前 | |
[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 | 4 年前 | |
[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 | 4 年前 |