From f7161456fad7b0d1a59a8b8ab78e96bd6697fcd8 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 17 Feb 2016 13:03:44 +0000 Subject: [PATCH] Backport PR69752 fix from mainline. PR rtl-optimization/69752 * ira.c (update_equiv_regs): When looking for more than a single SET, also take other side effects into account. From-SVN: r233491 --- gcc/ChangeLog | 9 +++++++++ gcc/ira.c | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b82a7f382956..b6c2cc7f3156 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2016-02-16 Bernd Schmidt + + Backport from mainline + 2016-02-15 Bernd Schmidt + + PR rtl-optimization/69752 + * ira.c (update_equiv_regs): When looking for more than a single SET, + also take other side effects into account. + 2016-02-16 Tom de Vries backport from trunk: diff --git a/gcc/ira.c b/gcc/ira.c index 544dbf76f872..4741d6fa1bbd 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -3510,7 +3510,8 @@ update_equiv_regs (void) /* If this insn contains more (or less) than a single SET, only mark all destinations as having no known equivalence. */ - if (set == 0) + if (set == 0 + || side_effects_p (SET_SRC (set))) { note_stores (PATTERN (insn), no_equiv, NULL); continue; -- 2.47.2