-fuse-caller-save - Enable for i386
2014-05-30 Tom de Vries <tom@codesourcery.com> * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true. * gcc.target/i386/fuse-caller-save.c: New test. * gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save. * gcc.dg/ira-shrinkwrap-prep-2.c: Same. From-SVN: r211078
This commit is contained in:
parent
29f0952140
commit
5028356f89
@ -1,3 +1,8 @@
|
||||
2014-05-30 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
|
||||
Redefine as true.
|
||||
|
||||
2014-05-30 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
|
||||
|
@ -47272,6 +47272,9 @@ ix86_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update)
|
||||
#undef TARGET_MODE_PRIORITY
|
||||
#define TARGET_MODE_PRIORITY ix86_mode_priority
|
||||
|
||||
#undef TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS
|
||||
#define TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS true
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
#include "gt-i386.h"
|
||||
|
@ -1,3 +1,9 @@
|
||||
2014-05-30 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* gcc.target/i386/fuse-caller-save.c: New test.
|
||||
* gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save.
|
||||
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.
|
||||
|
||||
2014-04-30 Alan Lawrence <alan.lawrence@arm.com>
|
||||
|
||||
gcc.target/arm/simd/vrev16p8_1.c: New file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { powerpc*-*-* && lp64 } } } } */
|
||||
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue" } */
|
||||
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */
|
||||
|
||||
long __attribute__((noinline, noclone))
|
||||
foo (long a)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { powerpc*-*-* && lp64 } } } } */
|
||||
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue" } */
|
||||
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */
|
||||
|
||||
long __attribute__((noinline, noclone))
|
||||
foo (long a)
|
||||
|
25
gcc/testsuite/gcc.target/i386/fuse-caller-save.c
Normal file
25
gcc/testsuite/gcc.target/i386/fuse-caller-save.c
Normal file
@ -0,0 +1,25 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fuse-caller-save" } */
|
||||
/* Testing -fuse-caller-save optimization option. */
|
||||
|
||||
static int __attribute__((noinline))
|
||||
bar (int x)
|
||||
{
|
||||
return x + 3;
|
||||
}
|
||||
|
||||
int __attribute__((noinline))
|
||||
foo (int y)
|
||||
{
|
||||
return y + bar (y);
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
return !(foo (5) == 13);
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler-not "\.cfi_def_cfa_offset" } } */
|
||||
/* { dg-final { scan-assembler-not "\.cfi_offset" } } */
|
||||
|
Loading…
Reference in New Issue
Block a user