#
fc97d2e6 |
| 18-Dec-2024 |
Peter Klausler <pklausler@nvidia.com> |
[flang] Add UNSIGNED (#113504)
Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).
This is nearly identical to the UNSIGNED feature that h
[flang] Add UNSIGNED (#113504)
Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).
This is nearly identical to the UNSIGNED feature that has been available
in Sun Fortran for years, and now implemented in GNU Fortran for
gfortran 15, and proposed for ISO standardization in J3/24-116.txt.
See the new documentation for details; but in short, this is C's
unsigned type, with guaranteed modular arithmetic for +, -, and *, and
the related transformational intrinsic functions SUM & al.
show more ...
|
#
d5dd7d23 |
| 17-Sep-2024 |
Youngsuk Kim <youngsuk.kim@hpe.com> |
[flang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs, 1) raw_string_ostream is always unbuffered and 2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884b
[flang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs, 1) raw_string_ostream is always unbuffered and 2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
show more ...
|
#
58b51492 |
| 05-Dec-2023 |
madanial0 <118996571+madanial0@users.noreply.github.com> |
[flang] Run real 10 test on x86 only (NFC) (#73911)
Remove real 10 tests for powerpc
---------
Co-authored-by: Mark Danial <mark.danial@ibm.com>
|
#
0e05ab67 |
| 26-May-2023 |
Peter Klausler <pklausler@nvidia.com> |
[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
[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
show more ...
|
#
1ef5e6de |
| 21-Jun-2022 |
Peter Klausler <pklausler@nvidia.com> |
[flang] Make SQRT folding exact
Replace the latter half of the SQRT() folding algorithm with code that calculates an exact root with extra rounding bits, and then lets the usual normalization and ro
[flang] Make SQRT folding exact
Replace the latter half of the SQRT() folding algorithm with code that calculates an exact root with extra rounding bits, and then lets the usual normalization and rounding code do the right thing. Extend tests to catch regressions.
Differential Revision: https://reviews.llvm.org/D128395
show more ...
|
#
0ff32224 |
| 14-Apr-2022 |
PeixinQiao <qiaopeixin@huawei.com> |
[flang] Fix float-number representation bug
The float number is represented as (-1)^s * 1.f * 2^(-127) for 32-bit, where s is the signed flag, f is the mantissa. When the exponent bits are all zeros
[flang] Fix float-number representation bug
The float number is represented as (-1)^s * 1.f * 2^(-127) for 32-bit, where s is the signed flag, f is the mantissa. When the exponent bits are all zeros, the float number is represented as (-1)^s * 0.f *2^(-126) for 32-bit, in which case, the intPart is '0'.
Reviewed By: Jean Perier
https://reviews.llvm.org/D123673
show more ...
|
#
29c3ef5a |
| 01-Sep-2021 |
V Donaldson <vdonaldson@nvidia.com> |
Remove blank from NaN string representation
Flang front end function DumpHexadecimal generates a string representation of a REAL value. When the value is a NaN, the string contains a blank, as in "
Remove blank from NaN string representation
Flang front end function DumpHexadecimal generates a string representation of a REAL value. When the value is a NaN, the string contains a blank, as in "NaN 0x7fc00000". This function is used by lowering to generate a string that is then passed to llvm Support function convertFromStringSpecials, which does not expect a blank in the string. Remove the blank to allow correct recognition of a NaN by this llvm function.
Note that function DumpHexadecimal is not exercised by the front end itself. This functionality is only exercised by code that is not yet present in llvm.
show more ...
|
#
1f879005 |
| 29-Mar-2020 |
Tim Keith <tkeith@nvidia.com> |
[flang] Reformat with latest clang-format and .clang-format
Original-commit: flang-compiler/f18@9fe84f45d7fd685051004678d6b5775dcc4c6f8f Reviewed-on: https://github.com/flang-compiler/f18/pull/1094
|
#
8670e499 |
| 28-Feb-2020 |
Caroline Concatto <caroline.concatto@arm.com> |
[flang] [LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
This patch replaces the occurrence of std::ostream by llvm::raw_ostream. In LLVM Coding Standards[1] "All new code
[flang] [LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
This patch replaces the occurrence of std::ostream by llvm::raw_ostream. In LLVM Coding Standards[1] "All new code should use raw_ostream instead of ostream".[1]
As a consequence, this patch also replaces the use of: std::stringstream by llvm::raw_string_ostream or llvm::raw_ostream* std::ofstream by llvm::raw_fd_ostream std::endl by '\n' and flush()[2] std::cout by llvm::outs() and std::cerr by llvm::errs()
It also replaces std::strerro by llvm::sys::StrError** , but NOT in Fortran runtime libraries
*std::stringstream were replaced by llvm::raw_ostream in all methods that used std::stringstream as a parameter. Moreover, it removes the pointers to these streams.
[1]https://llvm.org/docs/CodingStandards.html [2]https://releases.llvm.org/2.5/docs/CodingStandards.html#ll_avoidendl
Signed-off-by: Caroline Concatto <caroline.concatto@arm.com>
Running clang-format-7
Signed-off-by: Caroline Concatto <caroline.concatto@arm.com>
Removing residue of ostream library
Signed-off-by: Caroline Concatto <caroline.concatto@arm.com>
Original-commit: flang-compiler/f18@a3507d44b8911e6024033aa583c1dc54e0eb89fd Reviewed-on: https://github.com/flang-compiler/f18/pull/1047
show more ...
|
#
ee5fa1f2 |
| 19-Feb-2020 |
Luke Ireland <luke.ireland@arm.com> |
[flang] Create a separate directory for unittests
Some of the regression tests are C programs that act as test harnesses for the compiler internals as opposed to being Fortran inputs to test the com
[flang] Create a separate directory for unittests
Some of the regression tests are C programs that act as test harnesses for the compiler internals as opposed to being Fortran inputs to test the compiler in action. The former style of tests are analog to LLVM's unittests and will not use the lit framework.
Change-Id: I0ff10e23f66ff843e8fff4c35cfb6559b9dab762
Original-commit: flang-compiler/f18@2bfddbe8f8898551a28c3ea07b7ae508018f8634 Reviewed-on: https://github.com/flang-compiler/f18/pull/1027 Tree-same-pre-rewrite: false
show more ...
|