diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-06-01 23:45:34 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-06-01 23:45:34 +0200 |
commit | 88c158217c256ee61beca5b39b4c58f3ecfb4da2 (patch) | |
tree | e668a40a77b2c40250c0061e35a79cf35a0aee41 /gcc | |
parent | cd2c00bef35a04a929de9405d50a6c94ff88b8fc (diff) | |
download | gcc-88c158217c256ee61beca5b39b4c58f3ecfb4da2.zip gcc-88c158217c256ee61beca5b39b4c58f3ecfb4da2.tar.gz gcc-88c158217c256ee61beca5b39b4c58f3ecfb4da2.tar.bz2 |
re PR debug/49250 (ICE in set_slot_part, at var-tracking.c:6793)
PR debug/49250
* var-tracking.c (add_uses, add_stores): Don't call
cselib_subst_to_values on ENTRY_VALUE.
From-SVN: r174548
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/var-tracking.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 148a530..6483324 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-06-01 Jakub Jelinek <jakub@redhat.com> + + PR debug/49250 + * var-tracking.c (add_uses, add_stores): Don't call + cselib_subst_to_values on ENTRY_VALUE. + 2011-06-01 Diego Novillo <dnovillo@google.com> * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index db261c0..9823014 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -5052,6 +5052,7 @@ add_uses (rtx *ploc, void *data) if (MEM_P (vloc) && !REG_P (XEXP (vloc, 0)) && !MEM_P (XEXP (vloc, 0)) + && GET_CODE (XEXP (vloc, 0)) != ENTRY_VALUE && (GET_CODE (XEXP (vloc, 0)) != PLUS || XEXP (XEXP (vloc, 0), 0) != cfa_base_rtx || !CONST_INT_P (XEXP (XEXP (vloc, 0), 1)))) @@ -5130,6 +5131,7 @@ add_uses (rtx *ploc, void *data) if (MEM_P (oloc) && !REG_P (XEXP (oloc, 0)) && !MEM_P (XEXP (oloc, 0)) + && GET_CODE (XEXP (oloc, 0)) != ENTRY_VALUE && (GET_CODE (XEXP (oloc, 0)) != PLUS || XEXP (XEXP (oloc, 0), 0) != cfa_base_rtx || !CONST_INT_P (XEXP (XEXP (oloc, 0), 1)))) @@ -5383,6 +5385,7 @@ add_stores (rtx loc, const_rtx expr, void *cuip) if (MEM_P (loc) && type == MO_VAL_SET && !REG_P (XEXP (loc, 0)) && !MEM_P (XEXP (loc, 0)) + && GET_CODE (XEXP (loc, 0)) != ENTRY_VALUE && (GET_CODE (XEXP (loc, 0)) != PLUS || XEXP (XEXP (loc, 0), 0) != cfa_base_rtx || !CONST_INT_P (XEXP (XEXP (loc, 0), 1)))) |