diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-03 15:00:33 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-03 15:00:33 +0000 |
commit | 01df1184161c4861e2b58bcf7d47c740d40a6aa8 (patch) | |
tree | d1d02dd20ec7ed6126855d129131396ddfb171df /gcc/cselib.h | |
parent | 4ef43bbdd80b43a9843092db88a86bb5d4e9cc19 (diff) | |
download | linaro-gcc-01df1184161c4861e2b58bcf7d47c740d40a6aa8.tar.gz linaro-gcc-01df1184161c4861e2b58bcf7d47c740d40a6aa8.tar.bz2 linaro-gcc-01df1184161c4861e2b58bcf7d47c740d40a6aa8.zip |
2010-02-03 Alexandre Oliva <aoliva@redhat.com>
PR debug/42896
* cselib.h (struct cselib_val_struct): Add uid. Rename value to
hash.
(cselib_reset_table): Renamed from...
(cselib_reset_table_with_next_value): ... this.
(cselib_get_next_uid): Renamed from...
(cselib_get_next_unknown_value): ... this.
* cselib.c (next_uid): Renamed from...
(next_unknown_value): ... this.
(cselib_clear_table): Adjust.
(cselib_reset_table): Adjust. Renamed from...
(cselib_reset_table_with_next_value): ... this.
(cselib_get_next_uid): Adjust. Renamed from...
(cselib_get_next_unknown_value): ... this.
(get_value_hash): Use hash.
(cselib_hash_rtx): Likewise.
(new_cselib_val): Adjust. Set and dump uid.
(cselib_lookup_mem): Pass next_uid as hash.
(cselib_subst_to_values): Likewise.
(cselib_log_lookup): Dump uid.
(cselib_lookup): Pass next_uid as hash. Adjust.
(cselib_process_insn): Adjust.
(cselib_init): Initialize next_uid.
(cselib_finish): Adjust.
(dump_cselib_table): Likewise.
* dse.c (canon_address): Dump value uid.
* print-rtl.c (print_rtx): Print value uid.
* var-tracking.c (VARIABLE_HASH_VAL): Dropped.
(dvuid): New type.
(dv_uid): New function, sort of renamed from...
(dv_htab_hash): ... this, reimplemented in terms of it and...
(dv_uid2hash): ... this. New.
(variable_htab_eq): Drop excess assertions.
(tie_break_pointers): Removed.
(canon_value_cmp): Compare uids.
(variable_post_merge_New_vals): Print uids.
(vt_add_function_parameters): Adjust.
(vt_initialize): Reset table. Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156468 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cselib.h')
-rw-r--r-- | gcc/cselib.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/cselib.h b/gcc/cselib.h index 433f4deb87d..75ff457bf2d 100644 --- a/gcc/cselib.h +++ b/gcc/cselib.h @@ -1,6 +1,7 @@ /* Common subexpression elimination for GNU compiler. - Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. This file is part of GCC. @@ -21,7 +22,10 @@ along with GCC; see the file COPYING3. If not see /* Describe a value. */ typedef struct GTY(()) cselib_val_struct { /* The hash value. */ - unsigned int value; + unsigned int hash; + + /* A unique id assigned to values. */ + int uid; /* A VALUE rtx that points back to this structure. */ rtx val_rtx; @@ -81,8 +85,8 @@ extern rtx cselib_expand_value_rtx_cb (rtx, bitmap, int, extern rtx cselib_subst_to_values (rtx); extern void cselib_invalidate_rtx (rtx); -extern void cselib_reset_table_with_next_value (unsigned int); -extern unsigned int cselib_get_next_unknown_value (void); +extern void cselib_reset_table (unsigned int); +extern unsigned int cselib_get_next_uid (void); extern void cselib_preserve_value (cselib_val *); extern bool cselib_preserved_value_p (cselib_val *); extern void cselib_preserve_only_values (bool); |