aboutsummaryrefslogtreecommitdiff
path: root/gcc/cselib.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cselib.cc')
-rw-r--r--gcc/cselib.cc10
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':