diff options
author | Bernd Schmidt <bernds@redhat.com> | 2016-02-15 12:04:13 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2016-02-15 12:04:13 +0000 |
commit | 07b383317d572118690c82d58da9536b1ed44a72 (patch) | |
tree | 3af94e284d7cebc697ae0420e7aff582f0085f99 | |
parent | 7e2507a578d6c82e6bb1fb05353c61f7808cf47e (diff) | |
download | gcc-07b383317d572118690c82d58da9536b1ed44a72.zip gcc-07b383317d572118690c82d58da9536b1ed44a72.tar.gz gcc-07b383317d572118690c82d58da9536b1ed44a72.tar.bz2 |
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.
From-SVN: r233423
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ira.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45f7b6e..a50c207 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-02-15 Bernd Schmidt <bschmidt@redhat.com> + + 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 <koriakin@0x04.net> * config/s390/s390.c (s390_function_profiler): Add a new sequence @@ -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; |