diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-22 13:34:33 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-22 13:34:33 +0000 |
commit | 592411905cdc9b00dc719204da4762305772719d (patch) | |
tree | 0b06b500febf846a9be290f5b44393399d824d50 /gcc/cse.c | |
parent | 56c3cd3df0c07c138e46fca295642d5929a7c512 (diff) | |
download | gcc-592411905cdc9b00dc719204da4762305772719d.tar.gz |
* cse.c (dump_class): New function.
(invalidate_memory): Fix typo in comment.
* function.c (temp_slot): Add an alias set field.
(assign_stack_temp): Only reuse slots if they will have the
same alias set as before.
(combine_temp_slots): Don't combine if -fstrict-aliasing;
that's unsafe.
* rtl.c (copy_rtx): Copy all the flags (in particular,
MEM_SCALAR_P).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25372 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index 4e52bb46b0e..7fa8116a6f6 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -663,9 +663,29 @@ static void cse_check_loop_start PROTO((rtx, rtx)); static void cse_set_around_loop PROTO((rtx, rtx, rtx)); static rtx cse_basic_block PROTO((rtx, rtx, struct branch_path *, int)); static void count_reg_usage PROTO((rtx, int *, rtx, int)); +static void dump_class PROTO((struct table_elt*)); extern int rtx_equal_function_value_matters; +/* Dump the expressions in the equivalence class indicated by CLASSP. + This function is used only for debugging. */ +void +dump_class (classp) + struct table_elt *classp; +{ + struct table_elt *elt; + + fprintf (stderr, "Equivalence chain for "); + print_rtl (stderr, classp->exp); + fprintf (stderr, ": \n"); + + for (elt = classp->first_same_value; elt; elt = elt->next_same_value) + { + print_rtl (stderr, elt->exp); + fprintf (stderr, "\n"); + } +} + /* Return an estimate of the cost of computing rtx X. One use is in cse, to decide which expression to keep in the hash table. Another is in rtl generation, to pick the cheapest way to multiply. @@ -7821,7 +7841,7 @@ cse_insn (insn, libcall_insn) prev_insn = insn; } -/* Remove from the ahsh table all expressions that reference memory. */ +/* Remove from the hash table all expressions that reference memory. */ static void invalidate_memory () { |