diff options
Diffstat (limited to 'gcc/cselib.cc')
-rw-r--r-- | gcc/cselib.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cselib.cc b/gcc/cselib.cc index e6a36e8..947782b 100644 --- a/gcc/cselib.cc +++ b/gcc/cselib.cc @@ -1122,6 +1122,11 @@ rtx_equal_for_cselib_1 (rtx x, rtx y, machine_mode memmode, int depth) return false; break; + case 'L': + if (XLOC (x, i) != XLOC (y, i)) + return false; + break; + case 'p': if (maybe_ne (SUBREG_BYTE (x), SUBREG_BYTE (y))) return false; @@ -1565,6 +1570,10 @@ cselib_hash_rtx (rtx x, int create, machine_mode memmode) hash.add_hwi (XINT (x, i)); break; + case 'L': + hash.add_hwi (XLOC (x, i)); + break; + case 'p': hash.add_int (constant_lower_bound (SUBREG_BYTE (x))); break; @@ -2079,6 +2088,7 @@ cselib_expand_value_rtx_1 (rtx orig, struct expand_value_data *evd, case 't': case 'w': case 'i': + case 'L': case 's': case 'S': case 'T': |