testsuite: Use attribute "noipa" in sibcall tests
...instead of attribute "noinline". For cris-elf, testsuite/gcc.dg/sibcall-3.c and sibcall-4.c "XPASS", without sibcalls being implemented. On inspection, recurser_void2 is set to be an assembly-level alias for recurser_void1 as in ".set _recurser_void2,_recurser_void1" for both these cases. IOW, those "__attribute__((noinline))" should be "__attribute__((noipa))". The astute reader will notice that I also adjust test-cases where self-recursion should occur: as mentioned in sibcall-1.c "self-recursion tail calls are optimized for all targets, regardless of presence of sibcall patterns". But, that optimization happens even with "noipa", as observed by the test-cases still passing for cris-elf after patching. Being of a small mind, I like consistency, but not all the time, so there's hope. testsuite: * gcc.dg/sibcall-1.c, gcc.dg/sibcall-10.c, gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/sibcall-9.c: Replace attribute "noinline" with "noipa".
This commit is contained in:
parent
6c0399378e
commit
60147c2b7d
|
@ -47,7 +47,7 @@ recurser_void (int n)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track (int n)
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
|
@ -46,7 +46,7 @@ int main ()
|
|||
reasonably sure is to make them have the same contents (regarding the
|
||||
n tests). */
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void1 (void)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -58,7 +58,7 @@ recurser_void1 (void)
|
|||
recurser_void2 ();
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void2 (void)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -73,7 +73,7 @@ recurser_void2 (void)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track ()
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
|
@ -38,7 +38,7 @@ recurser_void (void)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track ()
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
|
@ -40,7 +40,7 @@ int main ()
|
|||
reasonably sure is to make them have the same contents (regarding the
|
||||
n tests). */
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void1 (int n)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -52,7 +52,7 @@ recurser_void1 (int n)
|
|||
recurser_void2 (n + 1);
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void2 (int n)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -66,7 +66,7 @@ recurser_void2 (int n)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track (int n)
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
|
@ -41,7 +41,7 @@ int main ()
|
|||
reasonably sure is to make them have the same contents (regarding the
|
||||
n tests). */
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void1 (void)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -53,7 +53,7 @@ recurser_void1 (void)
|
|||
recurser_void2 ();
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void2 (void)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -67,7 +67,7 @@ recurser_void2 (void)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track ()
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
|
@ -45,7 +45,7 @@ int main ()
|
|||
reasonably sure is to make them have the same contents (regarding the
|
||||
n tests). */
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void1 (int n)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -57,7 +57,7 @@ recurser_void1 (int n)
|
|||
recurser_void2 (n + 1);
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) ATTR
|
||||
static void __attribute__((noipa)) ATTR
|
||||
recurser_void2 (int n)
|
||||
{
|
||||
if (n == 0 || n == 7 || n == 8)
|
||||
|
@ -72,7 +72,7 @@ recurser_void2 (int n)
|
|||
|
||||
void *trackpoint;
|
||||
|
||||
void __attribute__ ((noinline))
|
||||
void __attribute__ ((noipa))
|
||||
track (int n)
|
||||
{
|
||||
char stackpos[1];
|
||||
|
|
Loading…
Reference in New Issue