Skip to content

Commit 5e445cd

Browse files
committed
Updates in preparation for release 3.15
1 parent 6da277c commit 5e445cd

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Changelog.md

+35
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
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+
136
# Release 3.14, 2024-05-02
237

338
ISO C conformance:

0 commit comments

Comments
 (0)