]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/lra-constraints.c
[PR100066] Check paradoxical subreg when splitting hard reg live range
authorVladimir N. Makarov <vmakarov@redhat.com>
Wed, 14 Apr 2021 17:21:40 +0000 (13:21 -0400)
committerVladimir N. Makarov <vmakarov@redhat.com>
Wed, 14 Apr 2021 17:22:41 +0000 (13:22 -0400)
commitf99f64f69db49ce6343d79a39eab28dcc6b91865
treea95377d136f83e701a5aadea095055ffd5bff60f
parent785209fc464ee3efec2b2a8e8244b7292c251ad8
[PR100066] Check paradoxical subreg when splitting hard reg live range

When splitting live range of a hard reg, LRA actually split multi-register
containing the hard reg.  So we need to check the biggest used mode of the hard reg on
paradoxical subregister when the natural and the biggest
mode are ordered.

gcc/ChangeLog:

PR rtl-optimization/100066
* lra-constraints.c (split_reg): Check paradoxical_subreg_p for
ordered modes when choosing splitting mode for hard reg.

gcc/testsuite/ChangeLog:

PR rtl-optimization/100066
* gcc.target/i386/pr100066.c: New.
gcc/lra-constraints.c
gcc/testsuite/gcc.target/i386/pr100066.c [new file with mode: 0644]