aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.cc
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2022-02-11 09:52:14 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2022-02-11 10:50:01 -0500
commit274a4d29421e73c9b40c1641986c6ed904e20184 (patch)
treede7f704b51a685ddc4627264e64830f2db060f45 /gcc/tree.cc
parentcc68ad87014a331399ccb2528db3bf47fabe6f72 (diff)
downloadgcc-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