From: bernds Date: Mon, 15 Feb 2016 12:04:13 +0000 (+0000) Subject: Don't make something with an autoinc an equivalencing insn (PR69752). X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=976b4d1b9ce46bdf3ae038323d5e40966dc5b0dc;p=thirdparty%2Fgcc.git Don't make something with an autoinc an equivalencing insn (PR69752). PR rtl-optimization/69752 * ira.c (update_equiv_regs): When looking for more than a single SET, also take other side effects into account. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233423 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45f7b6ee8168..a50c2075759e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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-15 Marcin Kościelnicki * config/s390/s390.c (s390_function_profiler): Add a new sequence diff --git a/gcc/ira.c b/gcc/ira.c index 81d1d3399479..6b4a104cf8bb 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -3392,7 +3392,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 == NULL_RTX) + if (set == NULL_RTX + || side_effects_p (SET_SRC (set))) { note_stores (PATTERN (insn), no_equiv, NULL); continue;