> 2011-12-15 Enkovich Ilya <[email protected]>
>
> 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