|
| 1 | +# Release 3.15 |
| 2 | + |
| 3 | +C language support: |
| 4 | +- Minimal syntactic support for `_Float16` type (half-precision FP numbers). Function declarations using `_Float16` are correctly parsed, but any actual use of `_Float16` is rejected later during compilation. (#525) |
| 5 | + |
| 6 | +Code generation and optimization: |
| 7 | +- Better support for `_Bool` type in the back-end and in the memory model. |
| 8 | + This avoids redundant normalizations to `_Bool`. |
| 9 | +- Take types of function parameters into account during value analysis. |
| 10 | + This avoids redundant normalizations on parameters of small integer types. |
| 11 | +- More conservative static analysis of pointer comparisons. (#516) |
| 12 | +- Refined heuristic for if-conversion. Turn if-conversion off in some cases where it would prevent later optimization of conditional branches in the continuation of the `if`. |
| 13 | +- CSE: remember pointer alias information in `Load` equations, making it possible to remove more redundant memory loads. (#518) |
| 14 | +- More precise value analysis of integer multiplication, division, modulus. |
| 15 | +- Constant propagation: optimize "known integer or undefined" results. For example, `&x == &x`, which is either 1 or undefined, is now replaced by 1. |
| 16 | +- Optimize `(x ^ cst) != 0` into `x != cst`. |
| 17 | +- Avoid quadratic compile-time behavior on deeply-nested `if` statements. (#519) |
| 18 | + |
| 19 | +Bug fixes: |
| 20 | +- More robust determination of symbols that may be defined in a shared object. (#538) |
| 21 | + |
| 22 | +Usability: |
| 23 | +- Mark stack as non-executable in binaries produced by `ccomp`. |
| 24 | +- Check that preprocessed sources (`.i` files) do not contain backslash-newline sequences. |
| 25 | + |
| 26 | +Supporting libraries: |
| 27 | +- ARM library for 64-bit integer arithmetic: faster division, cleaned-up code. |
| 28 | + |
| 29 | +Coq development: |
| 30 | +- Support Coq 8.20. |
| 31 | +- Install `.glob` and `.v` files along `.vo` files. |
| 32 | +- Build: support TIMING and PROFILING like `coq_makefile`. (#512) |
| 33 | +- Make dependency on `Extraction` explicit. (#515) |
| 34 | + |
| 35 | + |
1 | 36 | # Release 3.14, 2024-05-02
|
2 | 37 |
|
3 | 38 | ISO C conformance:
|
|
0 commit comments