diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-12-18 17:12:23 -0500 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-12-18 17:14:50 -0500 |
commit | 989e67f827b74b76e58abe137ce12d948af2290c (patch) | |
tree | 17f07faea79e65b89a542f9b64d78e557a5ef3c4 /gcc/go | |
parent | 86b6daefc8ca00f6879779f6002ca575920d38d2 (diff) | |
download | gcc-989e67f827b74b76e58abe137ce12d948af2290c.zip gcc-989e67f827b74b76e58abe137ce12d948af2290c.tar.gz gcc-989e67f827b74b76e58abe137ce12d948af2290c.tar.bz2 |
[PR112918][LRA]: Fixing IRA ICE on m68k
Some GCC tests on m68K port of LRA is failed on `maximum number of
generated reload insns per insn achieved`. The problem is in that for
subreg reload LRA can not narrow reg class more from ALL_REGS to
GENERAL_REGS and then to data regs or address regs. The patch permits
narowing reg class from reload insns if this results in succesful
matching of reg operand.
gcc/ChangeLog:
PR rtl-optimization/112918
* lra-constraints.cc (SMALL_REGISTER_CLASS_P): Move before in_class_p.
(in_class_p): Restrict condition for narrowing class in case of
allow_all_reload_class_changes_p.
(process_alt_operands): Pass true for
allow_all_reload_class_changes_p in calls of in_class_p.
(curr_insn_transform): Ditto for reg operand win.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions