diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2022-02-11 09:52:14 -0500 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2022-02-11 10:50:01 -0500 |
commit | 274a4d29421e73c9b40c1641986c6ed904e20184 (patch) | |
tree | de7f704b51a685ddc4627264e64830f2db060f45 /gcc/tree.cc | |
parent | cc68ad87014a331399ccb2528db3bf47fabe6f72 (diff) | |
download | gcc-274a4d29421e73c9b40c1641986c6ed904e20184.zip gcc-274a4d29421e73c9b40c1641986c6ed904e20184.tar.gz gcc-274a4d29421e73c9b40c1641986c6ed904e20184.tar.bz2 |
[PR104400] LRA: Modify exclude start hard register calculation for insn alternative
v850 target has an interesting insn alternative constraint 'e!r' where e
denotes even general regs and e is a subset of r. We cannot just make
union of exclude start hard registers for e and r and should use only
exclude start hard registers of r. The following patch implements this.
gcc/ChangeLog:
PR rtl-optimization/104400
* lra-constraints.cc (process_alt_operands): Don't make union of
this_alternative_exclude_start_hard_regs when reg class in insn
alternative covers other reg classes in the same alternative.
gcc/testsuite/ChangeLog:
PR rtl-optimization/104400
* gcc.target/v850/pr104400.c: New.
* gcc.target/v850/v850.exp: New.
Diffstat (limited to 'gcc/tree.cc')
0 files changed, 0 insertions, 0 deletions