From: DJ Delorie Date: Tue, 21 Jan 2014 04:30:45 +0000 (-0500) Subject: rl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propog... X-Git-Tag: releases/gcc-4.9.0~1504 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=84db09e3c260b7dfc0f652387e3aa28f04626e70;p=thirdparty%2Fgcc.git rl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propogating their values. * config/rl78/rl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propogating their values. From-SVN: r206867 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a666d2e10460..45304e908e56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-20 DJ Delorie + + * config/rl78/rl78.c (rl78_propogate_register_origins): Verify + that CLOBBERs are REGs before propogating their values. + 2014-01-20 H.J. Lu PR middle-end/59789 diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c index dd8fc55a2009..227a39be6f29 100644 --- a/gcc/config/rl78/rl78.c +++ b/gcc/config/rl78/rl78.c @@ -3426,7 +3426,8 @@ rl78_propogate_register_origins (void) { rtx clobber = XVECEXP (pat, 0, 1); pat = XVECEXP (pat, 0, 0); - if (GET_CODE (clobber) == CLOBBER) + if (GET_CODE (clobber) == CLOBBER + && GET_CODE (XEXP (clobber, 0)) == REG) { int cr = REGNO (XEXP (clobber, 0)); int mb = GET_MODE_SIZE (GET_MODE (XEXP (clobber, 0))); @@ -3569,7 +3570,8 @@ rl78_propogate_register_origins (void) } } } - else if (GET_CODE (pat) == CLOBBER) + else if (GET_CODE (pat) == CLOBBER + && GET_CODE (XEXP (pat, 0)) == REG) { if (REG_P (XEXP (pat, 0))) {