| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Flang implementation for COMPILER_VERSION and COMPILER_OPTIONS intrinsics This revision implements the Fortran intrinsic procedures COMPILER_VERSION and COMPILER_OPTIONS from the iso_fortran_env module. To be able to set the COMPILER_OPTIONS string according to the original compiler driver invocation, a string is passed to the frontend driver using the environment variable FLANG_COMPILER_OPTIONS_STRING, for lack of a better mechanism. Fixes #59233 Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D140524 | 3 年前 | |
[flang] Fix interpretations of x87 80-bit Inf/NaN Current implementations of x87 80-bit extended precision floating point interpret 7FFF8000000000000000 as +Inf, not a Nan. The explicit MSB in the significand must be set for an infinity. Differential Revision: https://reviews.llvm.org/D151739 | 3 年前 | |
[flang] Strengthen procedure compatibility checking Add more checks to procedure compatibility testing for procedure pointer assignments, actual procedure arguments, &c. Specifically, don't allow corresponding dummy data objects to differ in their use of polymorphism, assumed size arrays, or assumed shape arrays. Differential Revision: https://reviews.llvm.org/D155974 | 2 年前 | |
[Frontend] Sort featuresVec for AMDGPU target features D145579 leverages the iteration order of StringSet, which is not guaranteed to be deterministic. | 2 年前 | |
[flang][hlfir] Separate -emit-fir and -emit-hlfir for flang-new In review for https://reviews.llvm.org/D146278, @vzakhari asked to separate -emit-fir and -emit-hlfir. This will allow FIR to be easily outputted after the HLFIR passes have been run. The new semantics are as follows: | Action | -flang-experimental-hlfir? | Result | | =========== | ========================== | =============================== | | -emit-hlfir | N | Outputs HLFIR | | -emit-hlfir | Y | Outputs HLFIR | | -emit-fir | N | Outputs FIR, using old lowering | | -emit-fir | Y | Outputs FIR, lowering via HLFIR | A patch for bbc will follow. Differential Revision: https://reviews.llvm.org/D151088 | 3 年前 | |
[flang][hlfir] Inherit constant length for the result of hlfir.transpose. Character length may be unknown for the type of Fortran::evaluate::FunctionRef expression, but we can try to propagate it from the argument of TRANSPOSE if it is known constant. Alternatively, we could relax hlfir.transpose verification (i.e. allow character types mismatch for the argument and the result). Depends on D155912 Reviewed By: tblah Differential Revision: https://reviews.llvm.org/D155913 | 2 年前 | |
[flang] Add comdats to functions with linkonce linkage (#66516) This fixes a bug where functions generated by the MLIR Math dialect, for example ipowi, would fail to link with link.exe on Windows due to having linkonce linkage but no associated comdat. Adding the comdat on ELF also allows linkers to perform better garbage collection in the binary. Simply adding comdats to all functions with this linkage type should also cover future cases where linkonce or linkonce_odr functions might be necessary. (cherry picked from commit 5f476b80e3d472f672f5f6a719eebe2c0aadf52c) | 2 年前 | |
[flang] Emit just one warning for a bad format edit descriptor An attempt to use an edit descriptor (other than A or L) in a FORMAT statement without arequired 'w' width will elicit warnings from both the parser and the I/O checker in semantics. Remove the warning from the parser. Differential Revision: https://reviews.llvm.org/D155977 | 2 年前 | |
[flang] Fix portability warning that was incorrectly an "else if" A semantics check for an assumed-length dummy procedure pointer was inappropriately part of an "else" clause for a preceding check, causing it to not be applied in all situations. Differential Revision: https://reviews.llvm.org/D155975 | 2 年前 | |
[flang][driver] Delete f18 (i.e. the old Flang driver) This patch removes f18, a.k.a. the old driver. It is being replaced with the new driver, flang-new, which has reached feature parity with f18 a while ago. This was discussed in [1] and also in [2]. With this change, FLANG_BUILD_NEW_DRIVER is no longer needed and is also deleted. This means that we are making the dependency on Clang permanent (i.e. it cannot be disabled with a CMake flag). LIT set-up is updated accordingly. All references to f18 or f18.cpp are either updated or removed. The F18_FC variable from the flang bash script is replaced with FLANG_FC. The former is still supported for backwards compatibility. [1] https://lists.llvm.org/pipermail/flang-dev/2021-June/000742.html [2] https://reviews.llvm.org/D103177 Differential Revision: https://reviews.llvm.org/D105811 | 4 年前 |