aboutsummaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-08-29 10:55:02 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-08-29 10:55:02 +0200
commit304fe432e55a7dffc0a7f9ceaedce48345ba7a5d (patch)
treefa1121f57aac0a2f23ed443c7bccefb364ee3eda /gcc/var-tracking.c
parent2c1a2cf39e016ce795a5cb9801af8098bfa8a234 (diff)
downloadgcc-304fe432e55a7dffc0a7f9ceaedce48345ba7a5d.zip
gcc-304fe432e55a7dffc0a7f9ceaedce48345ba7a5d.tar.gz
gcc-304fe432e55a7dffc0a7f9ceaedce48345ba7a5d.tar.bz2
re PR debug/50215 (FAIL: gcc.dg/guality/pr45882.c)
PR debug/50215 * var-tracking.c (create_entry_value): Call cselib_lookup_from_insn before adding ENTRY_VALUE to val->locs. From-SVN: r178167
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index f67b3f5..ae45e52 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -8488,13 +8488,13 @@ create_entry_value (rtx rtl, cselib_val *val)
cselib_val *val2;
struct elt_loc_list *el;
el = (struct elt_loc_list *) ggc_alloc_cleared_atomic (sizeof (*el));
- el->next = val->locs;
el->loc = gen_rtx_ENTRY_VALUE (GET_MODE (rtl));
ENTRY_VALUE_EXP (el->loc) = rtl;
- el->setting_insn = get_insns ();
- val->locs = el;
val2 = cselib_lookup_from_insn (el->loc, GET_MODE (rtl), true,
VOIDmode, get_insns ());
+ el->next = val->locs;
+ el->setting_insn = get_insns ();
+ val->locs = el;
if (val2
&& val2 != val
&& val2->locs