diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-30 21:00:47 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-30 21:00:47 +0000 |
commit | ba9817160bbb37a268a3c6f49d65db1425c7fbc2 (patch) | |
tree | fb52b1312a84f4a1957b35bb95aa6010cdf7ac1d /gcc/cselib.h | |
parent | 910193a57fac011e0a432ead13c2e5f36583ed13 (diff) | |
download | gcc-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.h | 1 |
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); |