diff options
author | Steven Bosscher <stevenb@suse.de> | 2005-09-19 05:04:58 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2005-09-19 05:04:58 +0000 |
commit | 31c304baef95db414d5429ede8767f469a253945 (patch) | |
tree | 9e9a80ed7c0c194680c9e165cc538ad6c898a19f /gcc/cse.c | |
parent | 02c375d90d4e0b486814c915ee7fe8a47afb4716 (diff) | |
download | gcc-31c304baef95db414d5429ede8767f469a253945.zip gcc-31c304baef95db414d5429ede8767f469a253945.tar.gz gcc-31c304baef95db414d5429ede8767f469a253945.tar.bz2 |
re PR rtl-optimization/23943 (segv in side_effects_p())
gcc/
PR rtl-optimization/23943
* cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
testsuite/
* gcc.dg/pr23943.c: New test.
From-SVN: r104413
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -2999,7 +2999,9 @@ find_best_addr (rtx insn, rtx *loc, enum machine_mode mode) p = p->next_same_value, count++) if (! p->flag && (REG_P (p->exp) - || exp_equiv_p (p->exp, p->exp, 1, false))) + || (GET_CODE (p->exp) != EXPR_LIST + && exp_equiv_p (p->exp, p->exp, 1, false)))) + { rtx new = simplify_gen_binary (GET_CODE (*loc), Pmode, p->exp, op1); |