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 <torbjorn.svensson@foss.st.com>
#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))
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 (); }
#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))
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 (); }
#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))
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 (); }
#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))
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 (); }