aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/expr.cc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-02-17 09:25:59 +0100
committerJakub Jelinek <jakub@redhat.com>2024-02-17 09:25:59 +0100
commite16f90be2dc8af6c371fe79044c3e668fa3dda62 (patch)
treec70c3ac3a7b571c7875549d51e1d54c469ee8131 /gcc/d/expr.cc
parentd70f155b0747799d65cbb7d86454ebeac14d1b69 (diff)
downloadgcc-e16f90be2dc8af6c371fe79044c3e668fa3dda62.zip
gcc-e16f90be2dc8af6c371fe79044c3e668fa3dda62.tar.gz
gcc-e16f90be2dc8af6c371fe79044c3e668fa3dda62.tar.bz2
testsuite: Fix up lra effective target
Given the recent discussions on IRC started with Andrew P. mentioning that an asm goto outputs test should have { target lra } and the lra effective target in GCC 11/12 only returning 0 for PA and in 13/14 for PA/AVR, while we clearly have 14 other targets which don't support LRA and a couple of further ones which have an -mlra/-mno-lra switch (whatever default they have), seems to me the effective target is quite broken. The following patch rewrites it, such that it has a fast path for heavily used targets which are for years known to use only LRA (just an optimization) plus determines whether it is a LRA target or reload target by scanning the -fdump-rtl-reload-details dump on an empty function, LRA has quite a few always emitted messages in that case while reload has none of those. Tested on x86_64-linux and cross to s390x-linux, for the latter with both make check-gcc RUNTESTFLAGS='--target_board=unix/-mno-lra dg.exp=pr107385.c' where the test is now UNSUPPORTED and make check-gcc RUNTESTFLAGS='--target_board=unix/-mlra dg.exp=pr107385.c' where it fails because I don't have libc around. There is one special case, NVPTX, which is a TARGET_NO_REGISTER_ALLOCATION target. I think claiming for it that it is a lra target is strange (even though it effectively returns true for targetm.lra_p ()), unsure if it supports asm goto with outputs or not, if it does and we want to test it, perhaps we should introduce asm_goto_outputs effective target and use lra || nvptx-*-* for that? 2024-02-17 Jakub Jelinek <jakub@redhat.com> * lib/target-supports.exp (check_effective_target_lra): Rewrite to list some heavily used always LRA targets and otherwise check the -fdump-rtl-reload-details dump for messages specific to LRA.
Diffstat (limited to 'gcc/d/expr.cc')
0 files changed, 0 insertions, 0 deletions