Ok for trunk?
Is there any risk that r17-1602-ga5ab19d9db2d13 is to be picked to
releases/gcc-16?
If so, I think this patch should be picked for releases/gcc-16 now to avoid the
failures later on.
AFAICT, there should be no harm in changing noinline to noipa with or without
the r17-1602-ga5ab19d9db2d13 change.
Kind regards,
Torbjörn
--
Since r17-1602-ga5ab19d9db2d13, the tests starts to fail due to that
GCC thinks it can optimize away the function. With `noipa`, the function
is preserved.
gcc/testsuite/ChangeLog:
* gcc.target/arm/long-calls-1.c: Change to `noipa` to prevent
optimizing away the functions.
* gcc.target/arm/long-calls-2.c: Likewise.
* gcc.target/arm/long-calls-3.c: Likewise.
* gcc.target/arm/long-calls-4.c: Likewise.
Signed-off-by: Torbjörn SVENSSON <[email protected]>
---
gcc/testsuite/gcc.target/arm/long-calls-1.c | 6 +++---
gcc/testsuite/gcc.target/arm/long-calls-2.c | 6 +++---
gcc/testsuite/gcc.target/arm/long-calls-3.c | 6 +++---
gcc/testsuite/gcc.target/arm/long-calls-4.c | 6 +++---
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/gcc/testsuite/gcc.target/arm/long-calls-1.c
b/gcc/testsuite/gcc.target/arm/long-calls-1.c
index f10f10606a6..7b2933734bf 100644
--- a/gcc/testsuite/gcc.target/arm/long-calls-1.c
+++ b/gcc/testsuite/gcc.target/arm/long-calls-1.c
@@ -6,7 +6,7 @@
#define section(S) __attribute__((section(S)))
#define weak __attribute__((weak))
-#define noinline __attribute__((noinline))
+#define noipa __attribute__((noipa))
#define long_call __attribute__((long_call))
#define short_call __attribute__((short_call))
@@ -15,12 +15,12 @@
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
#define EXTERN_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
#define STATIC_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- static const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ static const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
diff --git a/gcc/testsuite/gcc.target/arm/long-calls-2.c
b/gcc/testsuite/gcc.target/arm/long-calls-2.c
index 8ce2404c1f7..97aa41a0137 100644
--- a/gcc/testsuite/gcc.target/arm/long-calls-2.c
+++ b/gcc/testsuite/gcc.target/arm/long-calls-2.c
@@ -4,7 +4,7 @@
#define section(S) __attribute__((section(S)))
#define weak __attribute__((weak))
-#define noinline __attribute__((noinline))
+#define noipa __attribute__((noipa))
#define long_call __attribute__((long_call))
#define short_call __attribute__((short_call))
@@ -13,12 +13,12 @@
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
#define EXTERN_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
#define STATIC_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- static const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ static const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
diff --git a/gcc/testsuite/gcc.target/arm/long-calls-3.c
b/gcc/testsuite/gcc.target/arm/long-calls-3.c
index bd1891c008b..e40ac49b187 100644
--- a/gcc/testsuite/gcc.target/arm/long-calls-3.c
+++ b/gcc/testsuite/gcc.target/arm/long-calls-3.c
@@ -4,7 +4,7 @@
#define section(S) __attribute__((section(S)))
#define weak __attribute__((weak))
-#define noinline __attribute__((noinline))
+#define noipa __attribute__((noipa))
#define long_call __attribute__((long_call))
#define short_call __attribute__((short_call))
@@ -13,12 +13,12 @@
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
#define EXTERN_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
#define STATIC_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- static const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ static const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
diff --git a/gcc/testsuite/gcc.target/arm/long-calls-4.c
b/gcc/testsuite/gcc.target/arm/long-calls-4.c
index dc184b8f8be..ebf74f85443 100644
--- a/gcc/testsuite/gcc.target/arm/long-calls-4.c
+++ b/gcc/testsuite/gcc.target/arm/long-calls-4.c
@@ -4,7 +4,7 @@
#define section(S) __attribute__((section(S)))
#define weak __attribute__((weak))
-#define noinline __attribute__((noinline))
+#define noipa __attribute__((noipa))
#define long_call __attribute__((long_call))
#define short_call __attribute__((short_call))
@@ -13,12 +13,12 @@
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
#define EXTERN_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
#define STATIC_CALL(ID, TARGET_ATTRS, CALL_ATTRS) \
- static const char *TARGET_ATTRS noinline ID (void) { return #ID; } \
+ static const char *TARGET_ATTRS noipa ID (void) { return #ID; } \
const char *CALL_ATTRS call_##ID (void) { return ID () + 1; }
\
const char *CALL_ATTRS sibcall_##ID (void) { return ID (); }
--
2.43.0