aboutsummaryrefslogtreecommitdiff
path: root/gcc/cselib.h
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2010-03-30 21:00:47 +0000
committerJakub Jelinek <jakub@gcc.gnu.org>2010-03-30 23:00:47 +0200
commit5847e8da2f62aa638ca037e2e02ef6f2de2975a0 (patch)
treefb52b1312a84f4a1957b35bb95aa6010cdf7ac1d /gcc/cselib.h
parente9e008859c047465491bc3bb336503dba10caf18 (diff)
downloadgcc-5847e8da2f62aa638ca037e2e02ef6f2de2975a0.zip
gcc-5847e8da2f62aa638ca037e2e02ef6f2de2975a0.tar.gz
gcc-5847e8da2f62aa638ca037e2e02ef6f2de2975a0.tar.bz2
re PR debug/42977 ("-fcompare-debug failure" with "-O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC")
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. From-SVN: r157837
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 015d628..90d9638 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);