diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index cbb7a5b153d..1fa36566453 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2525,6 +2525,9 @@ Target keeps null pointer checks, either due to the use of @item llvm_binutils Target is using an LLVM assembler and/or linker, instead of GNU Binutils. +@item lra +Target supports local register allocator (LRA). + @item lto Compiler has been configured to support link-time optimization (LTO). diff --git a/gcc/testsuite/gcc.c-torture/compile/asmgoto-2.c b/gcc/testsuite/gcc.c-torture/compile/asmgoto-2.c index d2d2ac536bd..43e597bc59f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/asmgoto-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/asmgoto-2.c @@ -1,6 +1,5 @@ /* This test should be switched off for a new target with less than 4 allocatable registers */ -/* { dg-do compile } */ -/* { dg-skip-if "Reload target" { hppa*-*-* } } */ +/* { dg-do compile { target lra } } */ int foo (void) { diff --git a/gcc/testsuite/gcc.c-torture/compile/asmgoto-5.c b/gcc/testsuite/gcc.c-torture/compile/asmgoto-5.c index ce751ced90c..e1574a2903a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/asmgoto-5.c +++ b/gcc/testsuite/gcc.c-torture/compile/asmgoto-5.c @@ -1,7 +1,6 @@ /* Test to generate output reload in asm goto on x86_64. */ -/* { dg-do compile } */ +/* { dg-do compile { target lra } } */ /* { dg-skip-if "no O0" { { i?86-*-* x86_64-*-* } && { ! ia32 } } { "-O0" } { "" } } */ -/* { dg-skip-if "Reload target" { hppa*-*-* } } */ #if defined __x86_64__ #define ASM(s) asm (s) diff --git a/gcc/testsuite/gcc.c-torture/compile/pr98096.c b/gcc/testsuite/gcc.c-torture/compile/pr98096.c index 95ad55c81aa..bba3fa5c619 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr98096.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr98096.c @@ -1,6 +1,6 @@ /* Test for correct naming of label operands in asm goto in case of presence of input/output operands. */ -/* { dg-do compile } */ +/* { dg-do compile { target lra } } */ int i, j; int f(void) { asm goto ("# %0 %2" : "+r" (i) ::: jmp); diff --git a/gcc/testsuite/gcc.dg/pr97954.c b/gcc/testsuite/gcc.dg/pr97954.c index 178e1d2e965..0be60f500b6 100644 --- a/gcc/testsuite/gcc.dg/pr97954.c +++ b/gcc/testsuite/gcc.dg/pr97954.c @@ -1,5 +1,5 @@ /* PR rtl-optimization/97954 */ -/* { dg-do compile } */ +/* { dg-do compile { target lra } } */ /* { dg-options "-O2" } */ int diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 52d3d036d3c..a90c375b8fe 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -11005,3 +11005,13 @@ proc check_effective_target_o_flag_in_section { } { } }] } + +# return 1 if LRA is supported. + +proc check_effective_target_lra { } { + if { [istarget hppa*-*-*] } { + return 0 + } + return 1 +} +