Commit 73d65336 by Bernd Schmidt Committed by Bernd Schmidt

addr_affects_sp_p now unconditional

From-SVN: r30586
parent 96e7ae40
1999-11-19 Bernd Schmidt <bernds@cygnus.co.uk>
* cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
(invalidate_skipped_set): Call it unconditionally.
(cse_set_around_loop): Likewise.
Fri Nov 18 13:39:22 CET 1999 Jam Hubicka <hubicka@freesoft.cz> Fri Nov 18 13:39:22 CET 1999 Jam Hubicka <hubicka@freesoft.cz>
* i386.h (struct_processor_costs): New fileds int_load, int_store, fp_move, * i386.h (struct_processor_costs): New fileds int_load, int_store, fp_move,
fp_load and fp_store fp_load and fp_store
......
...@@ -680,9 +680,7 @@ static void record_jump_equiv PROTO((rtx, int)); ...@@ -680,9 +680,7 @@ static void record_jump_equiv PROTO((rtx, int));
static void record_jump_cond PROTO((enum rtx_code, enum machine_mode, static void record_jump_cond PROTO((enum rtx_code, enum machine_mode,
rtx, rtx, int)); rtx, rtx, int));
static void cse_insn PROTO((rtx, rtx)); static void cse_insn PROTO((rtx, rtx));
#ifdef AUTO_INC_DEC
static int addr_affects_sp_p PROTO((rtx)); static int addr_affects_sp_p PROTO((rtx));
#endif
static void invalidate_from_clobbers PROTO((rtx)); static void invalidate_from_clobbers PROTO((rtx));
static rtx cse_process_notes PROTO((rtx, rtx)); static rtx cse_process_notes PROTO((rtx, rtx));
static void cse_around_loop PROTO((rtx)); static void cse_around_loop PROTO((rtx));
...@@ -5924,8 +5922,6 @@ invalidate_memory () ...@@ -5924,8 +5922,6 @@ invalidate_memory ()
} }
} }
#ifdef AUTO_INC_DEC
/* If ADDR is an address that implicitly affects the stack pointer, return /* If ADDR is an address that implicitly affects the stack pointer, return
1 and update the register tables to show the effect. Else, return 0. */ 1 and update the register tables to show the effect. Else, return 0. */
...@@ -5950,7 +5946,6 @@ addr_affects_sp_p (addr) ...@@ -5950,7 +5946,6 @@ addr_affects_sp_p (addr)
return 0; return 0;
} }
#endif
/* Perform invalidation on the basis of everything about an insn /* Perform invalidation on the basis of everything about an insn
except for invalidating the actual places that are SET in it. except for invalidating the actual places that are SET in it.
...@@ -6175,9 +6170,7 @@ invalidate_skipped_set (dest, set, data) ...@@ -6175,9 +6170,7 @@ invalidate_skipped_set (dest, set, data)
enum rtx_code code = GET_CODE (dest); enum rtx_code code = GET_CODE (dest);
if (code == MEM if (code == MEM
#ifdef AUTO_INC_DEC
&& ! addr_affects_sp_p (dest) /* If this is not a stack push ... */ && ! addr_affects_sp_p (dest) /* If this is not a stack push ... */
#endif
/* There are times when an address can appear varying and be a PLUS /* There are times when an address can appear varying and be a PLUS
during this scan when it would be a fixed address were we to know during this scan when it would be a fixed address were we to know
the proper equivalences. So invalidate all memory if there is the proper equivalences. So invalidate all memory if there is
...@@ -6350,10 +6343,8 @@ cse_set_around_loop (x, insn, loop_start) ...@@ -6350,10 +6343,8 @@ cse_set_around_loop (x, insn, loop_start)
} }
} }
#ifdef AUTO_INC_DEC
/* Deal with the destination of X affecting the stack pointer. */ /* Deal with the destination of X affecting the stack pointer. */
addr_affects_sp_p (SET_DEST (x)); addr_affects_sp_p (SET_DEST (x));
#endif
/* See comment on similar code in cse_insn for explanation of these /* See comment on similar code in cse_insn for explanation of these
tests. */ tests. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment