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] Fix edge-case FP input bugs Blanks are allowed in more places than I allowed for, and "NAN(foobar)" is allowed to have any parenthesis-balanced characters in parentheses. Update: Fix up old sanity test, then avoid usage of "limit" when null. Differential Revision: https://reviews.llvm.org/D124294 | 4 年前 | |
[flang] Establish a single source of target information for semantics Create a TargetCharacteristics class to centralize the few items of target specific information that are relevant to semantics. Use the new class for all target queries, including derived type component layout modeling. Future work will initialize this class with target information provided or forwarded by the drivers, and use it to fold layout-dependent intrinsic functions like TRANSFER(). Differential Revision: https://reviews.llvm.org/D129018 Updates: Attempts to work around build issues on Windows. | 3 年前 | |
[flang][driver] Switch to the MLIR coding style in the driver (nfc) This patch re-factors the driver code in LLVM Flang (frontend + compiler) to use the MLIR style. For more context, please see: https://discourse.llvm.org/t/rfc-coding-style-in-the-driver/ Most changes here are rather self-explanatory. Accessors are renamed to be more consistent with the rest of LLVM (e.g. allSource --> getAllSources). Additionally, MLIR clang-tidy files are added in the affected directories. clang-tidy and clang-format files were copied from MLIR. Small additional changes are made to silence clang-tidy/clang-format warnings. [1] https://mlir.llvm.org/getting_started/DeveloperGuide/ Differential Revision: https://reviews.llvm.org/D125007 | 4 年前 | |
[flang] Use value instead of getValue (NFC) Flang C++ Style Guide tells us to use x.value() when no presence test is obviously protecting the reference. Since a failure in EXPECT_TRUE doesn't terminate a given test, I don't count it as "protection" here. Differential Revision: https://reviews.llvm.org/D130410 | 3 年前 | |
[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] 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 年前 |