Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
dfdef2cb |
| 29-Jul-2024 |
lntue <35648136+lntue@users.noreply.github.com> |
[libc] Fix the remaining isnan and isinf in tests. (#100969)
Fixes https://github.com/llvm/llvm-project/issues/100964
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4 |
|
#
5748ad84 |
| 05-Apr-2024 |
lntue <35648136+lntue@users.noreply.github.com> |
[libc] Add proxy header math_macros.h. (#87598)
Context: https://github.com/llvm/llvm-project/pull/87017
- Add proxy header `libc/hdr/math_macros.h` that will: - include `<math.h>` in overlay mod
[libc] Add proxy header math_macros.h. (#87598)
Context: https://github.com/llvm/llvm-project/pull/87017
- Add proxy header `libc/hdr/math_macros.h` that will: - include `<math.h>` in overlay mode, - include `"include/llvm-libc-macros/math-macros.h"` in full build mode. - Its corresponding CMake target `libc.hdr.math_macros` will only depend on `libc.include.math` and `libc.include.llvm-libc-macros.math_macros` in full build mode. - Replace all `#include "include/llvm-libc-macros/math-macros.h"` with `#include "hdr/math_macros.h"`. - Add dependency to `libc.hdr.math_macros` CMake target when using `add_fp_unittest`. - Update the remaining dependency. - Update bazel overlay: add `libc:hdr_math_macros` target, and replacing all dependency on `libc:llvm_libc_macros_math_macros` with `libc:hdr_math_macros`.
show more ...
|
Revision tags: llvmorg-18.1.3, llvmorg-18.1.2 |
|
#
5d56b348 |
| 18-Mar-2024 |
Michael Jones <michaelrj@google.com> |
[libc] Remove direct math.h includes (#85324)
Reland of #84991
A downstream overlay mode user ran into issues with the isnan macro not working in our sources with a specific libc configuration. Thi
[libc] Remove direct math.h includes (#85324)
Reland of #84991
A downstream overlay mode user ran into issues with the isnan macro not working in our sources with a specific libc configuration. This patch replaces the last direct includes of math.h with our internal math_macros.h, along with the necessary build system changes.
show more ...
|
Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
6b02d2f8 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[reland][libc] Remove unnecessary `FPBits` functions and properties (#79128)
- reland #79113
- Fix aarch64 RISC-V build
|
#
b524eed9 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
Revert "[libc] Remove unnecessary `FPBits` functions and properties" (#79118)
Reverts llvm/llvm-project#79113
It broke aarch64 build bot machines.
|
#
3bc86bf3 |
| 23-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Remove unnecessary `FPBits` functions and properties (#79113)
This patch reduces the surface of `FPBits`.
|
#
c09e6905 |
| 03-Jan-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Remove `FloatProperties` (#76508)
Access is now done through `FPBits` exclusively.
This patch also renames a few internal structs and uses `T` instead of
`FP` as a template parameter.
|
#
c2399147 |
| 28-Dec-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Integrate `FloatProperties` into `FPBits` (#76506)
`FloatProperties` is always included when `FPBits` is. This will help
further refactoring.
|
#
3546f4da |
| 15-Dec-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)
This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better
[libc][NFC] Rename `MANTISSA_WIDTH` in `FRACTION_LEN` (#75489)
This one might be a bit controversial since the terminology has been
introduced from the start but I think `FRACTION_LEN` is a better name
here. AFAICT it really is "the number of bits after the decimal dot when
the number is in normal form."
`MANTISSA_WIDTH` is less precise as it's unclear whether we take the
leading bit into account.
This patch also renames most of the properties to use the `_LEN` suffix
and fixes useless casts or variables.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
#
b6bc9d72 |
| 26-Sep-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Mass replace enclosing namespace (#67032)
This is step 4 of
https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079
|
Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
2ff8094e |
| 12-Jul-2023 |
Michael Jones <michaelrj@google.com> |
[libc] Set min precision for strtofloat fuzz
MPFR has a minimum precision of 2, but the strtofloat fuzz sometimes would request a precision of 1 for the case of the minimum subnormal. This patch tel
[libc] Set min precision for strtofloat fuzz
MPFR has a minimum precision of 2, but the strtofloat fuzz sometimes would request a precision of 1 for the case of the minimum subnormal. This patch tells the fuzzer to ignore any case where the precision would go below 2.
Reviewed By: lntue
Differential Revision: https://reviews.llvm.org/D155130
show more ...
|
#
2cb47319 |
| 10-Jul-2023 |
Michael Jones <michaelrj@google.com> |
[libc] adjust strtofloat precision for subnormals
Subnormal floating point numbers have a lower effective precision than normal floating point numbers. This can cause issues for the fuzz test since
[libc] adjust strtofloat precision for subnormals
Subnormal floating point numbers have a lower effective precision than normal floating point numbers. This can cause issues for the fuzz test since the MPFR floats have a constant precision regardless of the exponent, and the precision must match exactly or else create rounding errors. To solve this problem, the precision of the MPFR floats is dynamically calculated.
Reviewed By: lntue
Differential Revision: https://reviews.llvm.org/D154909
show more ...
|
#
cfbcbc8f |
| 29-Jun-2023 |
Michael Jones <michaelrj@google.com> |
[libc] fix MPFR rounding problems in fuzz test
The accuracy for the MPFR numbers in the strtofloat fuzz test was set too high, causing rounding issues when rounding to a smaller final result.
Revie
[libc] fix MPFR rounding problems in fuzz test
The accuracy for the MPFR numbers in the strtofloat fuzz test was set too high, causing rounding issues when rounding to a smaller final result.
Reviewed By: lntue
Differential Revision: https://reviews.llvm.org/D154150
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4 |
|
#
ae3b59e6 |
| 15-May-2023 |
Michael Jones <michaelrj@google.com> |
[libc] Use MPFR for strtofloat fuzzing
The previous string to float tests didn't check correctness, but due to the atof differential test proving unreliable the strtofloat fuzz test has been changed
[libc] Use MPFR for strtofloat fuzzing
The previous string to float tests didn't check correctness, but due to the atof differential test proving unreliable the strtofloat fuzz test has been changed to use MPFR for correctness checking. Some minor bugs have been found and fixed as well.
Reviewed By: lntue
Differential Revision: https://reviews.llvm.org/D150905
show more ...
|
Revision tags: llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3 |
|
#
62e7bdd2 |
| 16-Feb-2023 |
Michael Jones <michaelrj@google.com> |
[libc] use vars in string to num fuzz targets
The string to integer and string to float standalone fuzz targets just ran the functions and didn't do anything with the output. This was intentional, s
[libc] use vars in string to num fuzz targets
The string to integer and string to float standalone fuzz targets just ran the functions and didn't do anything with the output. This was intentional, since they are intended to be used with sanitizers to detect buffer overflow bugs. Not using the variables was causing compile warnings, so this patch adds trivial checks to use the variables.
Reviewed By: sivachandra, lntue
Differential Revision: https://reviews.llvm.org/D144208
show more ...
|
#
3a66446a |
| 09-Feb-2023 |
Michael Jones <michaelrj@google.com> |
[libc] add standalone strtoint/float fuzzers
Fuzzing the string to integer and float functions without relying on the system libc allows for tests to be run in a wider variety of places.
Reviewed B
[libc] add standalone strtoint/float fuzzers
Fuzzing the string to integer and float functions without relying on the system libc allows for tests to be run in a wider variety of places.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D143616
show more ...
|