loop-invariant: Don't move cold bb instructions to preheader in RTL
authorXionghu Luo <luoxhu@linux.ibm.com>
Thu, 30 Dec 2021 02:02:12 +0000 (20:02 -0600)
committerXionghu Luo <luoxhu@linux.ibm.com>
Thu, 30 Dec 2021 02:02:12 +0000 (20:02 -0600)
commitdc1969dab392661cdac1170bbb8c9f83f388580d
tree24af75f03a990f00ce001c92fd271f2bc07aa742
parentbe475aa0aae468df7370db9cfa8590776d901d1d
loop-invariant: Don't move cold bb instructions to preheader in RTL

gcc/ChangeLog:

2021-12-30  Xionghu Luo  <luoxhu@linux.ibm.com>

* loop-invariant.c (find_invariants_bb): Check profile count
before motion.
(find_invariants_body): Add argument.

gcc/testsuite/ChangeLog:

2021-12-30  Xionghu Luo  <luoxhu@linux.ibm.com>

* gcc.dg/loop-invariant-2.c: New.
gcc/loop-invariant.c
gcc/testsuite/gcc.dg/loop-invariant-2.c [new file with mode: 0644]