summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 1cbeca06081..392ac5923e9 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -1779,6 +1779,15 @@ integrate_decl_tree (let, map)
r = DECL_RTL (d);
subst_constants (&r, NULL_RTX, map, 1);
SET_DECL_RTL (d, r);
+
+ if (GET_CODE (r) == REG)
+ REGNO_DECL (REGNO (r)) = d;
+ else if (GET_CODE (r) == CONCAT)
+ {
+ REGNO_DECL (REGNO (XEXP (r, 0))) = d;
+ REGNO_DECL (REGNO (XEPX (r, 1))) = d;
+ }
+
apply_change_group ();
}