From 0dd93631a0aa1b5c2f807270305225bc2786393b Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Fri, 27 Mar 2015 20:09:17 -0700 Subject: backport fix for ICE: in add_stores, at var-tracking.c:6000 2014-06-30 Joseph Myers * var-tracking.c (add_stores): Return instead of asserting if old and new values for conditional store are the same. Change-Id: Ibb5775a3ad90e57bd6882a86a6b4c7a5262c09d0 --- gcc-4.8/gcc/var-tracking.c | 3 ++- gcc-4.9/gcc/var-tracking.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc-4.8/gcc/var-tracking.c b/gcc-4.8/gcc/var-tracking.c index 0db15625b..fe1ce6070 100644 --- a/gcc-4.8/gcc/var-tracking.c +++ b/gcc-4.8/gcc/var-tracking.c @@ -5915,7 +5915,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip) { cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode); - gcc_assert (oval != v); + if (oval == v) + return; gcc_assert (REG_P (oloc) || MEM_P (oloc)); if (oval && !cselib_preserved_value_p (oval)) diff --git a/gcc-4.9/gcc/var-tracking.c b/gcc-4.9/gcc/var-tracking.c index 65d82854c..555344144 100644 --- a/gcc-4.9/gcc/var-tracking.c +++ b/gcc-4.9/gcc/var-tracking.c @@ -5997,7 +5997,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip) { cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode); - gcc_assert (oval != v); + if (oval == v) + return; gcc_assert (REG_P (oloc) || MEM_P (oloc)); if (oval && !cselib_preserved_value_p (oval)) -- cgit v1.2.3