> 2011-12-15  Enkovich Ilya  <ilya.enkov...@intel.com>
>
>       PR target/50038
>       * implicit-zee.c: Delete.
>       * ree.c: New file.
>       * Makefile.in: Replace implicit-zee.c with ree.c.
>       * config/i386/i386.c (ix86_option_override_internal): Set
>       flag_ree for 32 bit platform.
>       * common.opt (fzee): Ignored.
>       (free): New.
>       * passes.c (init_optimization_passes): Replace pass_implicit_zee
>       with pass_ree.
>       * tree-pass.h (pass_implicit_zee): Delete.
>       (pass_ree): New.
>       * timevar.def (TV_ZEE): Delete.
>       (TV_REE): New.
>       * doc/invoke.texi: Add -free description.

The patch is OK (modulo the following nits) but I cannot approve the pure x86 
part.  So you can install it without this part (i.e. just rename flag_zee to 
flag_ree in ix86_option_override_internal with a corresponding ChangeLog) if 
you also install at least one testcase (e.g. for the x86-64 architecture) that 
is "fixed" by the patch in the testsuite.  Then repost the pure x86 part with 
at least one testcase for the x86 architecture and ask for approval by a x86 
maintainer.

Now on to the couple of nits:

@@ -6708,6 +6708,14 @@ Perform a number of minor optimizations that are 
relatively expensive.
 
 Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
 
+@item -free
+@opindex free
+Attempt to remove redundant extension instructions. This is especially

The double space after period is also meant for the .texi files.

+helpful for x86-64 architecture which implicitly zero-extend in 64-bit

...for the x86-64 architecture... zero-extends ...

+registers after writing to their lower 32-bit half.

-- 
Eric Botcazou

Reply via email to