From 50ee6bdf639ffba989968abb9c24a57126ab35a4 Mon Sep 17 00:00:00 2001 From: xleroy Date: Thu, 18 Aug 2011 14:50:19 +0000 Subject: Presimplification SimplVolatile: cleaned up and integrated. test/*/Makefile: normalized 'bench' target git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1717 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- Changelog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Changelog') diff --git a/Changelog b/Changelog index e49f310c..cebff9ab 100644 --- a/Changelog +++ b/Changelog @@ -24,6 +24,14 @@ Release 1.9, 2011-xx-xx . Conditional expressions "e1 ? e2 : e3" where e2 and e3 have different types were missing a cast to their common type. +- Support for "read-modify-write" operations over volatiles + (such as e++ or --e or e |= 1 where e has volatile type) + through a new presimplification (flag -fvolatile-rmw, "on" by default). + +- New optimization pass: Redundant Reload Elimination, which fixes up + inefficiencies introduced during the Reload pass. On x86, it increases + performance by up to 10%. On PowerPC and ARM, the effect is negligible. + - Revised handling of annotation statements. Now they come in two forms: 1. __builtin_annot("format", x1, ..., xN) (arbitrarily many arguments; no code generated, even if some -- cgit