summaryrefslogtreecommitdiff
path: root/gcc/cselib.h
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-03 15:00:33 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-02-03 15:00:33 +0000
commit01df1184161c4861e2b58bcf7d47c740d40a6aa8 (patch)
treed1d02dd20ec7ed6126855d129131396ddfb171df /gcc/cselib.h
parent4ef43bbdd80b43a9843092db88a86bb5d4e9cc19 (diff)
downloadlinaro-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.h14
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);