aboutsummaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-11-15 21:07:39 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-11-15 21:07:39 +0100
commit61630b27687dcd30748a594f90cd25035347959c (patch)
tree379244decef3dcbcca0f376008cd4b43301437e1 /gcc/alias.c
parent3abe8cabdcb83ad745fe569f76887cd0920e5998 (diff)
downloadgcc-61630b27687dcd30748a594f90cd25035347959c.zip
gcc-61630b27687dcd30748a594f90cd25035347959c.tar.gz
gcc-61630b27687dcd30748a594f90cd25035347959c.tar.bz2
re PR debug/46387 (ICE in add_stores, at var-tracking.c:5415)
PR debug/46387 * rtl.h (vt_equate_reg_base_value): New prototype. * alias.c (vt_equate_reg_base_value): New function. * var-tracking.c (vt_init_cfa_base): Use it. * gcc.dg/pr46387.c: New test. From-SVN: r166766
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index 2e0ac06..2a87797 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -2906,6 +2906,15 @@ init_alias_analysis (void)
timevar_pop (TV_ALIAS_ANALYSIS);
}
+/* Equate REG_BASE_VALUE (reg1) to REG_BASE_VALUE (reg2).
+ Special API for var-tracking pass purposes. */
+
+void
+vt_equate_reg_base_value (const_rtx reg1, const_rtx reg2)
+{
+ VEC_replace (rtx, reg_base_value, REGNO (reg1), REG_BASE_VALUE (reg2));
+}
+
void
end_alias_analysis (void)
{