diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-06-06 18:21:16 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-06-06 18:21:16 -0400 |
commit | 5fd7f37d2ea02f34575b9c9d9fc1ca28cda7e2f7 (patch) | |
tree | acae317ba33ce0031fc50c39e5e7e7b53f445cc0 /gcc/fold-const.c | |
parent | 6db59ad5add2899f4b8332753658e3919e83259b (diff) | |
download | gcc-5fd7f37d2ea02f34575b9c9d9fc1ca28cda7e2f7.zip gcc-5fd7f37d2ea02f34575b9c9d9fc1ca28cda7e2f7.tar.gz gcc-5fd7f37d2ea02f34575b9c9d9fc1ca28cda7e2f7.tar.bz2 |
(fold): Don't do anything with evaluated SAVE_EXPR.
From-SVN: r12185
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 82e51c0..b5a3d39 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. */ |