On Tue, Oct 29, 2013 at 4:12 PM, Vladimir Makarov wrote:
> Tomorrow I'd like commit the following patch.
>
> The patch removes regmove pass.
I can barely hold my tears... of joy :-)
Attached patch cleans up some left-overs. Nothing to test, really, as
it's just comments and NOPs. OK for trunk?
Ciao!
Steven
* gcse.c (pre_delete): Remove references to regmove from comments.
* recog.c: (validate_replace_rtx_1): Likewise.
* config/rl78/rl78.c: Likewise.
* config/v850/v850.h: Likewise, and remove unused ENABLE_REGMOVE_PASS.
* common/config/m32r/m32r-common.c: Don't manipulate OPT_fregmove.
* common/config/mmix/mmix-common.c: Likewise.
Index: gcse.c
===================================================================
--- gcse.c (revision 204231)
+++ gcse.c (working copy)
@@ -2535,7 +2535,7 @@ gcse_emit_move_after (rtx dest, rtx src, rtx insn)
/* Delete redundant computations.
Deletion is done by changing the insn to copy the `reaching_reg' of
the expression into the result of the SET. It is left to later passes
- (cprop, cse2, flow, combine, regmove) to propagate the copy or eliminate it.
+ to propagate the copy or eliminate it.
Return nonzero if a change is made. */
Index: recog.c
===================================================================
--- recog.c (revision 204231)
+++ recog.c (working copy)
@@ -726,7 +726,7 @@ validate_replace_rtx_1 (rtx *loc, rtx from, rtx to
/* Call ourself recursively to perform the replacements.
We must not replace inside already replaced expression, otherwise we
get infinite recursion for replacements like (reg X)->(subreg (reg X))
- done by regmove, so we must special case shared ASM_OPERANDS. */
+ so we must special case shared ASM_OPERANDS. */
if (GET_CODE (x) == PARALLEL)
{
@@ -762,6 +762,7 @@ validate_replace_rtx_1 (rtx *loc, rtx from, rtx to
if (num_changes == prev_changes)
return;
+ /* ??? The regmove is no more, so is this aberration still necessary? */
/* Allow substituted expression to have different mode. This is used by
regmove to change mode of pseudo register. */
if (fmt[0] == 'e' && GET_MODE (XEXP (x, 0)) != VOIDmode)
Index: config/rl78/rl78.c
===================================================================
--- config/rl78/rl78.c (revision 204231)
+++ config/rl78/rl78.c (working copy)
@@ -1894,8 +1894,8 @@ post-reload optimizers could operate on the real r
tried that there were some issues building the target libraries.
During devirtualization, a simple register move optimizer is run. It
-would be better to run a full CSE/propogation pass on it through, or
-re-run regmove, but that has not yet been attempted.
+would be better to run a full CSE/propogation pass on it through, bu
+but that has not yet been attempted.
*/
#define DEBUG_ALLOC 0
Index: config/v850/v850.h
===================================================================
--- config/v850/v850.h (revision 204231)
+++ config/v850/v850.h (working copy)
@@ -954,10 +954,6 @@ extern tree GHS_current_section_names [(int) COUNT
#define FILE_ASM_OP "\t.file\n"
-/* Enable the register move pass to improve code. */
-#define ENABLE_REGMOVE_PASS
-
-
/* Implement ZDA, TDA, and SDA */
#define EP_REGNUM 30 /* ep register number */
Index: common/config/m32r/m32r-common.c
===================================================================
--- common/config/m32r/m32r-common.c (revision 204231)
+++ common/config/m32r/m32r-common.c (working copy)
@@ -29,7 +29,6 @@
static const struct default_options m32r_option_optimization_table[] =
{
{ OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
- { OPT_LEVELS_1_PLUS, OPT_fregmove, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};
Index: common/config/mmix/mmix-common.c
===================================================================
--- common/config/mmix/mmix-common.c (revision 204231)
+++ common/config/mmix/mmix-common.c (working copy)
@@ -28,7 +28,6 @@ along with GCC; see the file COPYING3. If not see
static const struct default_options mmix_option_optimization_table[] =
{
- { OPT_LEVELS_1_PLUS, OPT_fregmove, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};