aboutsummaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-02-11 09:27:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-02-11 09:27:30 +0100
commitbd0ba05d4c778a42c0199f7868c36975431edcb2 (patch)
treebb87848447f8e6ff40a6fd32e7bd31ce08f32fc7 /gcc/reg-stack.c
parent28f7ff45ec593f6a2f5f76e16f32c682564794e4 (diff)
downloadgcc-bd0ba05d4c778a42c0199f7868c36975431edcb2.zip
gcc-bd0ba05d4c778a42c0199f7868c36975431edcb2.tar.gz
gcc-bd0ba05d4c778a42c0199f7868c36975431edcb2.tar.bz2
re PR debug/52132 (ICE in loc_descriptor)
PR debug/52132 * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg. * gcc.dg/pr52132.c: New test. From-SVN: r184126
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r--gcc/reg-stack.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index da7fe72..ce29fdc 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -1,6 +1,6 @@
/* Register to Stack convert for GNU compiler.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
@@ -1323,14 +1323,10 @@ compare_for_stack_reg (rtx insn, stack regstack, rtx pat_src)
static int
subst_stack_regs_in_debug_insn (rtx *loc, void *data)
{
- rtx *tloc = get_true_reg (loc);
stack regstack = (stack)data;
int hard_regno;
- if (!STACK_REG_P (*tloc))
- return 0;
-
- if (tloc != loc)
+ if (!STACK_REG_P (*loc))
return 0;
hard_regno = get_hard_regnum (regstack, *loc);