summaryrefslogtreecommitdiff
path: root/Changelog
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-04-23 09:46:13 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-04-23 09:46:13 +0000
commit39df8fb19bacb38f317abf06de432b83296dfdd1 (patch)
tree2665a7b9b1b197a72453514eddd37e75be837b98 /Changelog
parent2f643e4419e8237c63d6823720da8100da9c8b11 (diff)
Update with post-2.2 changes
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2460 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'Changelog')
-rw-r--r--Changelog36
1 files changed, 36 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index f5bfbbf..7c0c982 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,39 @@
+Language features:
+- Support for C99 designated initializers. (ISO C99 section 6.7.8.)
+
+Improvements in confidence:
+- More theorems proved about float<->integer conversions.
+
+Optimizations:
+- Optimize "x != 0", "x == 0", "x != 1", and "x == 1" when x is known
+ to be a boolean already, ranging over {0, 1, undef}.
+- More systematic constant propagation in pass Selection, lightens
+ the work of later RTL optimisations.
+- IA32: recognize and use the "not" instruction.
+
+Usability:
+- Option "-timings" to print compilation times for various passes.
+- Various tweaks in IRC graph coloring to reduce compilation time.
+
+Improvements in ABI conformance:
+- IA32: revised handling of "common" variables to conform with ABI.
+
+Bug fixing:
+- In -fbitfields emulation: "a->f" was not properly rewritten if "a"
+ had "array of structs" type instead of "pointer to struct".
+- Moved analysis of single-precision floats from RTLtyping to Machtyping.
+ (RTLtyping was incorrectly rejecting some functions involving
+ single-precision floats.) Simplified LTL semantics and Allocation
+ pass accordingly.
+- Assignment to a l-value of "volatile float" type could cause
+ an internal error in RTLtyping/Machtyping.
+- The case __builtin_fabs applied to integers was missing in the
+ C semantics and in C#minor generation.
+- Fixed some type annotations on CompCert C expressions. These
+ annotations were incorrect but not in a way that impacted code
+ generation.
+
+
Release 2.2, 2014-02-24
=======================