From: Richard Kenner Date: Thu, 6 Jun 1996 22:21:16 +0000 (-0400) Subject: (fold): Don't do anything with evaluated SAVE_EXPR. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5fd7f37d2ea02f34575b9c9d9fc1ca28cda7e2f7;p=gcc.git (fold): Don't do anything with evaluated SAVE_EXPR. From-SVN: r12185 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 82e51c0ee76..b5a3d397222 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -3100,8 +3100,9 @@ fold (expr) int wins = 1; - /* Don't try to process an RTL_EXPR since its operands aren't trees. */ - if (code == RTL_EXPR) + /* Don't try to process an RTL_EXPR since its operands aren't trees. + Likewise for a SAVE_EXPR that's already been evaluated. */ + if (code == RTL_EXPR || (code == SAVE_EXPR && SAVE_EXPR_RTL (t)) != 0) return t; /* Return right away if already constant. */