summaryrefslogtreecommitdiff
path: root/gcc/cselib.h
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-30 21:00:47 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-30 21:00:47 +0000
commitba9817160bbb37a268a3c6f49d65db1425c7fbc2 (patch)
treefb52b1312a84f4a1957b35bb95aa6010cdf7ac1d /gcc/cselib.h
parent910193a57fac011e0a432ead13c2e5f36583ed13 (diff)
downloadgcc-ba9817160bbb37a268a3c6f49d65db1425c7fbc2.tar.gz
PR debug/42977
* cselib.c (n_useless_values): Document handling of debug locs. (n_useless_debug_values, n_debug_values): New variables. (new_elt_loc_list): Don't add to debug values, keep count. (promote_debug_loc): New. (cselib_reset_table): Zero new variables. (entry_and_rtx_equal_p): Promote debug locs. (discard_useless_locs): Increment n_useless_debug_values for debug values. (remove_useless_values): Adjust n_useless_values and n_debug_values with n_useless_debug_values. (add_mem_for_addr): Promote debug locs. (cselib_lookup_mem): Likewise. (cselib_lookup_addr): Renamed to... (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call... (cselib_log_lookup): ... this. Turn into... (cselib_lookup_addr): ... new wrapper. (cselib_lookup_from_insn): New. (cselib_invalidate_regno): Increment n_useless_debug_values for debug values. (cselib_invalidate_mem): Likewise. (cselib_process_insn): Take n_deleted and n_debug_values into account to guard remove_useless_value call. (cselib_finish): Zero n_useless_debug_values. * cselib.h (cselib_lookup_from_insn): Declare. * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn. (sched_analyze_2): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157837 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cselib.h')
-rw-r--r--gcc/cselib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cselib.h b/gcc/cselib.h
index 015d628bf9e..90d963888c6 100644
--- a/gcc/cselib.h
+++ b/gcc/cselib.h
@@ -77,6 +77,7 @@ extern void (*cselib_record_sets_hook) (rtx insn, struct cselib_set *sets,
int n_sets);
extern cselib_val *cselib_lookup (rtx, enum machine_mode, int);
+extern cselib_val *cselib_lookup_from_insn (rtx, enum machine_mode, int, rtx);
extern void cselib_init (int);
extern void cselib_clear_table (void);
extern void cselib_finish (void);