diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2013-01-18 10:58:15 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2013-01-18 10:58:15 +0000 |
commit | af6236c19de581808e0e98b7ca3f5514993a00a5 (patch) | |
tree | 99bb20202acf93837191e504d606842487027e5c /gcc/alias.c | |
parent | 7ff37ffa0865c4c7c5610009916d66927d14c258 (diff) | |
download | gcc-af6236c19de581808e0e98b7ca3f5514993a00a5.zip gcc-af6236c19de581808e0e98b7ca3f5514993a00a5.tar.gz gcc-af6236c19de581808e0e98b7ca3f5514993a00a5.tar.bz2 |
re PR debug/54114 (VTA compile-time performance could be improved)
PR debug/54114
PR debug/54402
PR debug/49888
* var-tracking.c (negative_power_of_two_p): New.
(global_get_addr_cache, local_get_addr_cache): New.
(get_addr_from_global_cache, get_addr_from_local_cache): New.
(vt_canonicalize_addr): Rewrite using the above. Adjust the
heading comment.
(vt_stack_offset_p): Remove.
(vt_canon_true_dep): Always canonicalize loc's address.
(clobber_overlapping_mems): Make sure we have a MEM.
(local_get_addr_clear_given_value): New.
(val_reset): Clear local cached entries.
(compute_bb_dataflow): Create and release the local cache.
Disable duplicate MEMs clobbering.
(emit_notes_in_bb): Clobber MEMs likewise.
(vt_emit_notes): Create and release the local cache.
(vt_initialize, vt_finalize): Create and release the global
cache, respectively.
* alias.c (rtx_equal_for_memref_p): Compare operands of
ENTRY_VALUEs.
From-SVN: r195291
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index f3cd014..e18dd34 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -1465,6 +1465,10 @@ rtx_equal_for_memref_p (const_rtx x, const_rtx y) case SYMBOL_REF: return XSTR (x, 0) == XSTR (y, 0); + case ENTRY_VALUE: + /* This is magic, don't go through canonicalization et al. */ + return rtx_equal_p (ENTRY_VALUE_EXP (x), ENTRY_VALUE_EXP (y)); + case VALUE: CASE_CONST_UNIQUE: /* There's no need to compare the contents of CONST_DOUBLEs or |