diff --git a/gcc/testsuite/gcc.target/avr/isr-test.h b/gcc/testsuite/gcc.target/avr/isr-test.h
index 176dbc2a15f..bcad4886603 100644
--- a/gcc/testsuite/gcc.target/avr/isr-test.h
+++ b/gcc/testsuite/gcc.target/avr/isr-test.h
@@ -175,7 +175,7 @@ static void compare_reginfo (unsigned long gpr_ignore)
   ST(24,M)    ST(25,M)    ST(26,M)    ST(27,M)  \
   ST(28,M)    ST(29,M)    ST(30,M)    ST(31,M)
 
-__attribute__((unused,naked,noinline,noclone))
+__attribute__((unused,naked,noinline,noclone,noipa))
 static void host_store1 (void)
 {
   __asm __volatile__
@@ -217,7 +217,7 @@ static void host_store1 (void)
    : "memory", "r31");
 }
 
-__attribute__((unused,naked,noinline,noclone))
+__attribute__((unused,naked,noinline,noclone,noipa))
 static void host_store2 (void)
 {
   __asm __volatile__
@@ -271,7 +271,7 @@ static void host_store2 (void)
 
 #define MK_RUN_ISR(N, IGMSK)                    \
                                                 \
-__attribute__((noinline,noclone))               \
+__attribute__((noinline,noclone,noipa))         \
 void run_isr_ ## N (void)                       \
 {                                               \
   clear_reginfo();                              \
diff --git a/gcc/testsuite/gcc.target/avr/pr114981-powif.c b/gcc/testsuite/gcc.target/avr/pr114981-powif.c
index 191dcc61e6d..826a2c8889f 100644
--- a/gcc/testsuite/gcc.target/avr/pr114981-powif.c
+++ b/gcc/testsuite/gcc.target/avr/pr114981-powif.c
@@ -10,7 +10,7 @@ const float vals[] =
 
 #define ARRAY_SIZE(X) ((int) (sizeof(X) / sizeof(*X)))
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 void test1 (float x)
 {
   int i;
diff --git a/gcc/testsuite/gcc.target/avr/pr114981-powil.c b/gcc/testsuite/gcc.target/avr/pr114981-powil.c
index 70f8e796c65..f92ca0a8475 100644
--- a/gcc/testsuite/gcc.target/avr/pr114981-powil.c
+++ b/gcc/testsuite/gcc.target/avr/pr114981-powil.c
@@ -10,7 +10,7 @@ const long double vals[] =
 
 #define ARRAY_SIZE(X) ((int) (sizeof(X) / sizeof(*X)))
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 void test1 (long double x)
 {
   int i;
diff --git a/gcc/testsuite/gcc.target/avr/pr71676-1.c b/gcc/testsuite/gcc.target/avr/pr71676-1.c
index 0d41a600905..5b8fd8ac0dc 100644
--- a/gcc/testsuite/gcc.target/avr/pr71676-1.c
+++ b/gcc/testsuite/gcc.target/avr/pr71676-1.c
@@ -4,7 +4,7 @@
 #include "exit-abort.h"
 volatile unsigned char y;
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo1 (char x)
 {
   switch (x)
@@ -22,7 +22,7 @@ foo1 (char x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo2 (char x)
 {
   switch (x)
@@ -40,7 +40,7 @@ foo2 (char x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo3 (char x)
 {
   switch (x)
@@ -58,7 +58,7 @@ foo3 (char x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo4 (char x)
 {
   switch (x)
@@ -76,7 +76,7 @@ foo4 (char x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo5 (int x)
 {
   switch (x)
@@ -94,7 +94,7 @@ foo5 (int x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo6 (int x)
 {
   switch (x)
@@ -112,7 +112,7 @@ foo6 (int x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo7 (int x)
 {
   switch (x)
@@ -130,7 +130,7 @@ foo7 (int x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo8 (int x)
 {
   switch (x)
@@ -148,7 +148,7 @@ foo8 (int x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo9 (long x)
 {
   switch (x)
@@ -166,7 +166,7 @@ foo9 (long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo10 (unsigned long x)
 {
   switch (x)
@@ -184,7 +184,7 @@ foo10 (unsigned long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo11 (long x)
 {
   switch (x)
@@ -202,7 +202,7 @@ foo11 (long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo12 (long x)
 {
   switch (x)
@@ -220,7 +220,7 @@ foo12 (long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo13 (long long x)
 {
   switch (x)
@@ -238,7 +238,7 @@ foo13 (long long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo14 (long long x)
 {
   switch (x)
@@ -256,7 +256,7 @@ foo14 (long long x)
   return y;
 }
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo15 (long long x)
 {
   switch (x)
@@ -275,7 +275,7 @@ foo15 (long long x)
 }
 
 
-unsigned char __attribute__((noinline,noclone))
+unsigned char __attribute__((noinline,noclone,noipa))
 foo16 (long long x)
 {
   switch (x)
diff --git a/gcc/testsuite/gcc.target/avr/pr71676-2.c b/gcc/testsuite/gcc.target/avr/pr71676-2.c
index a3a7a08032d..6bec6a0acd0 100644
--- a/gcc/testsuite/gcc.target/avr/pr71676-2.c
+++ b/gcc/testsuite/gcc.target/avr/pr71676-2.c
@@ -2,7 +2,7 @@
 /* { dg-options "-dp -w -Os -fno-tree-switch-conversion" } */
 
 #define MK_FUN(NAME, TYP, V)                            \
-  unsigned char __attribute__((noinline,noclone))       \
+  unsigned char __attribute__((noinline,noclone,noipa)) \
   select_## NAME (TYP x, unsigned char y)               \
   {                                                     \
     switch (x)                                          \
diff --git a/gcc/testsuite/gcc.target/avr/pr71676-3.c b/gcc/testsuite/gcc.target/avr/pr71676-3.c
index 6c10f04b964..e0d44a1f0ae 100644
--- a/gcc/testsuite/gcc.target/avr/pr71676-3.c
+++ b/gcc/testsuite/gcc.target/avr/pr71676-3.c
@@ -27,7 +27,7 @@
     return x;                                           \
   }                                                     \
                                                         \
-  __attribute__((noinline,noclone))                     \
+  __attribute__((noinline,noclone,noipa))               \
   unsigned char select_## NAME (TYP x, unsigned char y) \
   {                                                     \
     return value_## NAME (x, y);                        \
diff --git a/gcc/testsuite/gcc.target/avr/pr71676.c b/gcc/testsuite/gcc.target/avr/pr71676.c
index 7737c1e5390..d82d67a34ea 100644
--- a/gcc/testsuite/gcc.target/avr/pr71676.c
+++ b/gcc/testsuite/gcc.target/avr/pr71676.c
@@ -5,7 +5,7 @@
 
 volatile unsigned char y;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 unsigned char foo (unsigned long x) 
 {
   switch (x)
diff --git a/gcc/testsuite/gcc.target/avr/torture/fix-types.h b/gcc/testsuite/gcc.target/avr/torture/fix-types.h
index f6a2aeb6fa2..8fcb113ce5c 100644
--- a/gcc/testsuite/gcc.target/avr/torture/fix-types.h
+++ b/gcc/testsuite/gcc.target/avr/torture/fix-types.h
@@ -60,7 +60,7 @@ typedef __UINT64_TYPE__ xint_ulr_t;
 #define INTullk_MAX __UINT64_MAX__
 
 #define SS_FUN(NAME, OP, T, FX)                 \
-  T __attribute__((noinline,noclone))           \
+  T __attribute__((noinline,noclone,noipa))     \
   NAME##_##FX (T fa, T fb)                      \
   {                                             \
     int_##FX##_t ia;                            \
@@ -79,7 +79,7 @@ typedef __UINT64_TYPE__ xint_ulr_t;
   }
 
 #define US_FUN(NAME, OP, T, FX)                 \
-  T __attribute__((noinline,noclone))           \
+  T __attribute__((noinline,noclone,noipa))     \
   NAME##_##FX (T fa, T fb)                      \
   {                                             \
     int_##FX##_t ia;                            \
@@ -98,7 +98,7 @@ typedef __UINT64_TYPE__ xint_ulr_t;
   }
 
 #define SS_LFUN(NAME, OP, T, FX, CMP)           \
-  T __attribute__((noinline,noclone))           \
+  T __attribute__((noinline,noclone,noipa))     \
   NAME##_##FX (T fa, T fb)                      \
   {                                             \
     int_##FX##_t ia;                            \
@@ -116,7 +116,7 @@ typedef __UINT64_TYPE__ xint_ulr_t;
   }
 
 #define US_LFUN(NAME, OP, T, FX, CMP)           \
-  T __attribute__((noinline,noclone))           \
+  T __attribute__((noinline,noclone,noipa))     \
   NAME##_##FX (T fa, T fb)                      \
   {                                             \
     int_##FX##_t ia;                            \
diff --git a/gcc/testsuite/gcc.target/avr/torture/fuse-add.c b/gcc/testsuite/gcc.target/avr/torture/fuse-add.c
index b78b1aa9fc9..abc2ca0455c 100644
--- a/gcc/testsuite/gcc.target/avr/torture/fuse-add.c
+++ b/gcc/testsuite/gcc.target/avr/torture/fuse-add.c
@@ -9,7 +9,7 @@ extern const uint64_t bb __asm ("real_bb");
 __attribute__((used)) const uint64_t real_aa = 0x1122334455667788;
 __attribute__((used)) const uint64_t real_bb = 0x0908070605040302;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t add1 (const uint64_t *aa, const uint64_t *bb)
 {
   return *aa + *bb;
@@ -22,7 +22,7 @@ extern const __flash uint64_t fb __asm ("real_fb");
 __attribute__((used)) const __flash uint64_t real_fa = 0x1122334455667788;
 __attribute__((used)) const __flash uint64_t real_fb = 0x0908070605040302;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t add2 (const __flash uint64_t *aa, const uint64_t *bb)
 {
   return *aa + *bb;
diff --git a/gcc/testsuite/gcc.target/avr/torture/get-mem.c b/gcc/testsuite/gcc.target/avr/torture/get-mem.c
index 46f47f10429..b22c8319cc0 100644
--- a/gcc/testsuite/gcc.target/avr/torture/get-mem.c
+++ b/gcc/testsuite/gcc.target/avr/torture/get-mem.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 
-#define NI __attribute__((noinline, noclone))
+#define NI __attribute__((noinline, noclone, noipa))
 
 typedef __INT8_TYPE__ s8;
 typedef __INT16_TYPE__ s16;
diff --git a/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-hi.c b/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-hi.c
index 7ee5c04813a..cc5311fa5a0 100644
--- a/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-hi.c
+++ b/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-hi.c
@@ -14,7 +14,7 @@ typedef __UINT16_TYPE__ uint16_t;
     return (a >> LSR) & (1u << OBIT);					\
   }									\
 									\
-  __attribute__((__noinline__,__noclone__))				\
+  __attribute__((__noinline__,__noclone__,__noipa__))			\
   uint16_t fun1_lsr_##OBIT##_##LSR##_ni (int x, uint16_t a)		\
   {									\
     return fun1_lsr_##OBIT##_##LSR##_ai (x, a);				\
@@ -38,7 +38,7 @@ typedef __UINT16_TYPE__ uint16_t;
     return (a >> LSR) & (1u << OBIT);					\
   }									\
 									\
-  __attribute__((__noinline__,__noclone__))				\
+  __attribute__((__noinline__,__noclone__,__noipa__))			\
   uint16_t fun3_lsr_##OBIT##_##LSR##_ni (uint16_t a)			\
   {									\
     return fun3_lsr_##OBIT##_##LSR##_ai (a);				\
@@ -63,7 +63,7 @@ typedef __UINT16_TYPE__ uint16_t;
     return (a << LSL) & (1u << OBIT);					\
   }									\
 									\
-  __attribute__((__noinline__,__noclone__))				\
+  __attribute__((__noinline__,__noclone__,__noipa__))			\
   uint16_t fun2_lsl_##OBIT##_##LSL##_ni (uint16_t a)			\
   {									\
     return fun2_lsl_##OBIT##_##LSL##_ai (a);				\
diff --git a/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-si.c b/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-si.c
index f52593cf0a7..ea9d8d0cc87 100644
--- a/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-si.c
+++ b/gcc/testsuite/gcc.target/avr/torture/insv-anyshift-si.c
@@ -13,7 +13,7 @@ typedef __UINT32_TYPE__ uint32_t;
     return (a >> LSR) & (1ul << OBIT);					\
   }									\
 									\
-  __attribute__((__noinline__,__noclone__))				\
+  __attribute__((__noinline__,__noclone__,__noipa__))			\
   uint32_t fun1_lsr_##OBIT##_##LSR##_ni (int x, uint32_t a)		\
   {									\
     return fun1_lsr_##OBIT##_##LSR##_ai (x, a);				\
@@ -39,7 +39,7 @@ typedef __UINT32_TYPE__ uint32_t;
     return (a << LSL) & (1ul << OBIT);					\
   }									\
 									\
-  __attribute__((__noinline__,__noclone__))				\
+  __attribute__((__noinline__,__noclone__,__noipa__))			\
   uint32_t fun2_lsl_##OBIT##_##LSL##_ni (int x, uint32_t a)		\
   {									\
     return fun2_lsl_##OBIT##_##LSL##_ai (x, a);				\
diff --git a/gcc/testsuite/gcc.target/avr/torture/isr-02-call.c b/gcc/testsuite/gcc.target/avr/torture/isr-02-call.c
index be4f22ebb35..26f835e7935 100644
--- a/gcc/testsuite/gcc.target/avr/torture/isr-02-call.c
+++ b/gcc/testsuite/gcc.target/avr/torture/isr-02-call.c
@@ -5,7 +5,7 @@
 
 int volatile v;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 void inc_v (void)
 {
   v++;
diff --git a/gcc/testsuite/gcc.target/avr/torture/isr-03-fixed.c b/gcc/testsuite/gcc.target/avr/torture/isr-03-fixed.c
index 5606225aebc..608aea81677 100644
--- a/gcc/testsuite/gcc.target/avr/torture/isr-03-fixed.c
+++ b/gcc/testsuite/gcc.target/avr/torture/isr-03-fixed.c
@@ -42,7 +42,7 @@ void test1 (void)
 
 /**********************************************************************/
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 void inc_r2 (void)
 {
   reg2++;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr109650-1.c b/gcc/testsuite/gcc.target/avr/torture/pr109650-1.c
index 9030db00fde..2a83bcdc2d5 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr109650-1.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr109650-1.c
@@ -12,7 +12,7 @@ bool func1a (bool p1, uint8_t p2)
   return p2 <= 2;
 }
 
-__attribute__((__noinline__, __noclone__))
+__attribute__((__noinline__, __noclone__,__noipa__))
 bool func1b (bool p1, uint8_t p2)
 {
   return func1a (p1, p2);
@@ -26,7 +26,7 @@ bool func2a (bool p1, unsigned p2)
   return p2 <= 2;
 }
 
-__attribute__((__noinline__, __noclone__))
+__attribute__((__noinline__, __noclone__,__noipa__))
 bool func2b (bool p1, unsigned p2)
 {
   return func2a (p1, p2);
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr109650-2.c b/gcc/testsuite/gcc.target/avr/torture/pr109650-2.c
index 386dc322afa..96c1c9346cc 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr109650-2.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr109650-2.c
@@ -3,7 +3,7 @@
 typedef __UINT8_TYPE__ uint8_t;
 
 #define AI static __inline__ __attribute__((__always_inline__))
-#define NI __attribute__((__noinline__,__noclone__))
+#define NI __attribute__((__noinline__,__noclone__,__noipa__))
 
 AI uint8_t func1_eq (uint8_t c, unsigned x)
 {
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr109907-1.c b/gcc/testsuite/gcc.target/avr/torture/pr109907-1.c
index 975afb27700..22b746b7695 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr109907-1.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr109907-1.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 
-#define NI __attribute__((__noinline__,__noclone__))
+#define NI __attribute__((__noinline__,__noclone__,__noipa__))
 #define AI static __inline__ __attribute__((__always_inline__))
 
 typedef __UINT8_TYPE__ uint8_t;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr109907-2.c b/gcc/testsuite/gcc.target/avr/torture/pr109907-2.c
index db0cc72e590..60265d9e97d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr109907-2.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr109907-2.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 
-#define NI __attribute__((__noinline__,__noclone__))
+#define NI __attribute__((__noinline__,__noclone__,__noipa__))
 #define AI static __inline__ __attribute__((__always_inline__))
 
 typedef __UINT8_TYPE__ uint8_t;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr114132-2.c b/gcc/testsuite/gcc.target/avr/torture/pr114132-2.c
index c2bcbacec37..6890caadb9f 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr114132-2.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr114132-2.c
@@ -1,7 +1,7 @@
 /* { dg-do run } */
 /* { dg-additional-options "-std=c99" } */
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 #ifdef __AVR_TINY__
 int func (int a, int b, char c)
 #else
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr39633.c b/gcc/testsuite/gcc.target/avr/torture/pr39633.c
index c5f5b0450e6..d74a6385110 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr39633.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr39633.c
@@ -4,7 +4,7 @@
 
 char c = 42;
 
-void __attribute__((noinline,noclone))
+void __attribute__((noinline,noclone,noipa))
 pr39633 (char a)
 {
   a >>= 7;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr51782-1.c b/gcc/testsuite/gcc.target/avr/torture/pr51782-1.c
index 88ce8cd86cd..fe5714e528b 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr51782-1.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr51782-1.c
@@ -14,27 +14,27 @@ struct RGB { char r,g,b; };
 __flash const struct R r1 = { 12 };
 __flash const struct RGB r3 = { 23, 56, 78 };
 
-char __attribute__((noinline,noclone))
+char __attribute__((noinline,noclone,noipa))
 read1_bug (const __flash struct R *s)
 {
   struct R t = *s;
   return t.r;
 }
 
-char __attribute__((noinline,noclone))
+char __attribute__((noinline,noclone,noipa))
 read1_ok (const __flash struct R *s)
 {
   return s->r;
 }
 
-char __attribute__((noinline,noclone))
+char __attribute__((noinline,noclone,noipa))
 read3_bug (const __flash struct RGB *s)
 {
   struct RGB t = *s;
   return t.r + t.g + t.b;
 }
 
-char __attribute__((noinline,noclone))
+char __attribute__((noinline,noclone,noipa))
 read3_ok (const __flash struct RGB *s)
 {
   return s->r + s->g + s->b;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr61055.c b/gcc/testsuite/gcc.target/avr/torture/pr61055.c
index cac1bdaf22c..8e101a5190d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr61055.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr61055.c
@@ -7,7 +7,7 @@ typedef __UINT16_TYPE__ uint16_t;
 typedef __INT16_TYPE__  int16_t;
 typedef __UINT8_TYPE__  uint8_t;
 
-uint8_t __attribute__((noinline,noclone))
+uint8_t __attribute__((noinline,noclone,noipa))
 fun_inc (uint8_t c0)
 {
   register uint8_t c asm ("r15") = c0;
@@ -24,7 +24,7 @@ fun_inc (uint8_t c0)
   return c;
 }
 
-uint8_t __attribute__((noinline,noclone))
+uint8_t __attribute__((noinline,noclone,noipa))
 fun_dec (uint8_t c0)
 {
   register uint8_t c asm ("r15") = c0;
@@ -42,7 +42,7 @@ fun_dec (uint8_t c0)
 }
 
 
-uint8_t __attribute__((noinline,noclone))
+uint8_t __attribute__((noinline,noclone,noipa))
 fun_neg (uint8_t c0)
 {
   register uint8_t c asm ("r15") = c0;
@@ -54,7 +54,7 @@ fun_neg (uint8_t c0)
   return c;
 }
 
-uint16_t __attribute__((noinline,noclone))
+uint16_t __attribute__((noinline,noclone,noipa))
 fun_adiw (uint16_t c0)
 {
   register uint16_t c asm ("r24") = c0;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr61443.c b/gcc/testsuite/gcc.target/avr/torture/pr61443.c
index 36df852a012..5740a33d66a 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr61443.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr61443.c
@@ -9,7 +9,7 @@
 #define __memx  /* empty */
 #endif
 
-#define NC __attribute__((noinline,noclone))
+#define NC __attribute__((noinline,noclone,noipa))
 
 void NC vfun (char n, ...)
 {
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr64331.c b/gcc/testsuite/gcc.target/avr/torture/pr64331.c
index 1934ccfd294..525b26a286d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr64331.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr64331.c
@@ -6,7 +6,7 @@ typedef struct
 } T2;
 
 
-__attribute__((__noinline__, __noclone__))
+__attribute__((__noinline__, __noclone__,__noipa__))
 void foo2 (T2 *t, int x)
 {
   if (x != t->a)
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr77326.c b/gcc/testsuite/gcc.target/avr/torture/pr77326.c
index 7fe11ec390a..4cbd00dc922 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr77326.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr77326.c
@@ -3,13 +3,13 @@
 
 extern void test1 (void) __attribute__((weak));
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 static void va_pseudo (int flag, ...)
 {
   __asm ("nop":);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 static void func (void)
 {
   va_pseudo (0, 0, 0, 0);
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr83729.c b/gcc/testsuite/gcc.target/avr/torture/pr83729.c
index 01b14e9b167..c42db9625b7 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr83729.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr83729.c
@@ -1,7 +1,7 @@
 /* { dg-options { "-std=gnu99" } } */
 /* { dg-do run { target { ! avr_tiny } } } */
 
-__attribute((noinline,noclone))
+__attribute((noinline,noclone,noipa))
 char to_ascii (unsigned i)
 {
     static const char __memx code_tab[] = "0123456789";
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr83801.c b/gcc/testsuite/gcc.target/avr/torture/pr83801.c
index 77a5b76f53d..1b0123ea06d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr83801.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr83801.c
@@ -1,7 +1,7 @@
 /* { dg-options { "-std=gnu99" } } */
 /* { dg-do run { target { ! avr_tiny } } } */
 
-__attribute((noinline,noclone))
+__attribute((noinline,noclone,noipa))
 char to_ascii (unsigned i)
 {
     static const char __flash code_tab[] = "0123456789";
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr87376.c b/gcc/testsuite/gcc.target/avr/torture/pr87376.c
index c31a4a9dda5..edce20890ce 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr87376.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr87376.c
@@ -9,31 +9,31 @@ extern const uint64_t bb __asm ("real_bb");
 const __memx uint64_t real_aa = 0x1122334455667788;
 const uint64_t real_bb        = 0x0908070605040302;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t add1 (void)
 {
   return aa + bb;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t add2 (void)
 {
   return bb + aa;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t sub1 (void)
 {
   return aa - bb;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t sub2 (void)
 {
   return bb - aa;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 uint64_t neg1 (void)
 {
   return -aa;
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr88236-pr115726.c b/gcc/testsuite/gcc.target/avr/torture/pr88236-pr115726.c
index 9fd5fd3b5f5..5205e2617b6 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr88236-pr115726.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr88236-pr115726.c
@@ -7,7 +7,7 @@ char rvals8[] = { 0, 2, 4 };
 const __flash int fvals16[] = { 1, 2, 3 };
 int rvals16[] = { 0, 2, 4 };
 
-__attribute__((noinline, noclone))
+__attribute__((noinline, noclone, noipa))
 char xload8_r30 (const __memx char *pc)
 {
   register char c __asm ("r30");
@@ -16,7 +16,7 @@ char xload8_r30 (const __memx char *pc)
   return c;
 }
 
-__attribute__((noinline, noclone))
+__attribute__((noinline, noclone, noipa))
 int xload16_r30 (const __memx int *pc)
 {
   register int c __asm ("r30");
@@ -25,7 +25,7 @@ int xload16_r30 (const __memx int *pc)
   return c;
 }
 
-__attribute__((noinline, noclone))
+__attribute__((noinline, noclone, noipa))
 char xload8_r22 (const __memx char *pc)
 {
   register char c __asm ("r22");
@@ -34,7 +34,7 @@ char xload8_r22 (const __memx char *pc)
   return c;
 }
 
-__attribute__((noinline, noclone))
+__attribute__((noinline, noclone, noipa))
 int xload16_r22 (const __memx int *pc)
 {
   register int c __asm ("r22");
@@ -43,7 +43,7 @@ int xload16_r22 (const __memx int *pc)
   return c;
 }
 
-__attribute__((noinline, noclone))
+__attribute__((noinline, noclone, noipa))
 int xload16_r20 (const __memx int *pc)
 {
   register int c __asm ("r20");
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr92606.c b/gcc/testsuite/gcc.target/avr/torture/pr92606.c
index cc07128c73b..a222077b0e3 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr92606.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr92606.c
@@ -5,7 +5,7 @@ typedef __UINT32_TYPE__ uint32_t;
 
 typedef uint32_t T;
 
-#define NI __attribute__((noinline,noclone))
+#define NI __attribute__((noinline,noclone,noipa))
 
 
 #ifndef __AVR_TINY__
diff --git a/gcc/testsuite/gcc.target/avr/torture/pr98762.c b/gcc/testsuite/gcc.target/avr/torture/pr98762.c
index c3ba7da69a8..ac54c0b7528 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr98762.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr98762.c
@@ -3,7 +3,7 @@
 
 long long acc = 0x1122334455667788;
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 void addhi (short a)
 {
   acc += (long long) a << 32;
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-hr-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-hr-plus-minus.c
index e42ce912d37..3857cf22ba0 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-hr-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-hr-plus-minus.c
@@ -14,22 +14,22 @@ SS_FUN (ss_add, +, fx_t, hr)
 SS_FUN (ss_sub, -, fx_t, hr)
 
 #define VAL(N, X)                               \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t ss_add2_##N (satfx_t a)             \
     {                                           \
         return ss_add_hr (a, X##P##-##7hr);     \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t ss_add_##N (satfx_t a)              \
     {                                           \
         return a + X##P##-##7hr;                \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t ss_sub2_##N (satfx_t a)             \
     {                                           \
         return ss_sub_hr (a, X##P##-##7hr);     \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t ss_sub_##N (satfx_t a)              \
     {                                           \
         return a - X##P##-##7hr;                \
@@ -37,25 +37,25 @@ SS_FUN (ss_sub, -, fx_t, hr)
 #include "vals-hr.def"
 #undef VAL
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add2_99 (satfx_t a)
 {
   return ss_add_hr (a, __FRACT_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add_99 (satfx_t a)
 {
   return a + __FRACT_MIN__;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub2_99 (satfx_t a)
 {
   return ss_sub_hr (a, __FRACT_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub_99 (satfx_t a)
 {
   return a - __FRACT_MIN__;
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-k-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-k-plus-minus.c
index fea991e6ac5..68b9232bc68 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-k-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-k-plus-minus.c
@@ -14,22 +14,22 @@ SS_FUN (ss_add, +, fx_t, k)
 SS_FUN (ss_sub, -, fx_t, k)
 
 #define VAL(N, X)                               \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add2_##N (satfx_t a)               \
   {                                             \
     return ss_add_k (a, X##P##-##16k);          \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add_##N (satfx_t a)                \
   {                                             \
     return a + X##P##-##16k;                    \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub2_##N (satfx_t a)               \
   {                                             \
     return ss_sub_k (a, X##P##-##16k);          \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub_##N (satfx_t a)                \
   {                                             \
     return a - X##P##-##16k;                    \
@@ -37,25 +37,25 @@ SS_FUN (ss_sub, -, fx_t, k)
 #include "vals-k.def"
 #undef VAL
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add2_99 (satfx_t a)
 {
   return ss_add_k (a, __ACCUM_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add_99 (satfx_t a)
 {
   return a + __ACCUM_MIN__;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub2_99 (satfx_t a)
 {
   return ss_sub_k (a, __ACCUM_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub_99 (satfx_t a)
 {
   return a - __ACCUM_MIN__;
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-llk-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-llk-plus-minus.c
index 84ab7fd9fb1..4ae3cac802d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-llk-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-llk-plus-minus.c
@@ -14,22 +14,22 @@ SS_LFUN (ss_add, +, fx_t, llk, >)
 SS_LFUN (ss_sub, -, fx_t, llk, <)
 
 #define VAL(N, X)                               \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add2_##N (satfx_t a)               \
   {                                             \
     return ss_add_llk (a, X##P##-##48llk);      \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add_##N (satfx_t a)                \
   {                                             \
     return a + X##P##-##48llk;                  \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub2_##N (satfx_t a)               \
   {                                             \
     return ss_sub_llk (a, X##P##-##48llk);      \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub_##N (satfx_t a)                \
   {                                             \
     return a - X##P##-##48llk;                  \
@@ -37,25 +37,25 @@ SS_LFUN (ss_sub, -, fx_t, llk, <)
 #include "vals-llk.def"
 #undef VAL
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add2_99 (satfx_t a)
 {
   return ss_add_llk (a, __LLACCUM_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add_99 (satfx_t a)
 {
   return a + __LLACCUM_MIN__;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub2_99 (satfx_t a)
 {
   return ss_sub_llk (a, __LLACCUM_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub_99 (satfx_t a)
 {
   return a - __LLACCUM_MIN__;
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-r-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-r-plus-minus.c
index 72cbeee3ead..85dee40c309 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-r-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-r-plus-minus.c
@@ -14,22 +14,22 @@ SS_FUN (ss_add, +, fx_t, r)
 SS_FUN (ss_sub, -, fx_t, r)
 
 #define VAL(N, X)                               \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add2_##N (satfx_t a)               \
   {                                             \
     return ss_add_r (a, X##P##-##15r);          \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_add_##N (satfx_t a)                \
   {                                             \
     return a + X##P##-##15r;                    \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub2_##N (satfx_t a)               \
   {                                             \
     return ss_sub_r (a, X##P##-##15r);          \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t ss_sub_##N (satfx_t a)                \
   {                                             \
     return a - X##P##-##15r;                    \
@@ -37,25 +37,25 @@ SS_FUN (ss_sub, -, fx_t, r)
 #include "vals-r.def"
 #undef VAL
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add2_99 (satfx_t a)
 {
   return ss_add_r (a, __FRACT_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_add_99 (satfx_t a)
 {
   return a + __FRACT_MIN__;
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub2_99 (satfx_t a)
 {
   return ss_sub_r (a, __FRACT_MIN__);
 }
 
-__attribute__((noinline,noclone))
+__attribute__((noinline,noclone,noipa))
 satfx_t ss_sub_99 (satfx_t a)
 {
   return a - __FRACT_MIN__;
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-uhr-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-uhr-plus-minus.c
index f739c0d46d3..d04de453781 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-uhr-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-uhr-plus-minus.c
@@ -14,22 +14,22 @@ US_LFUN (us_add, +, fx_t, uhr, >)
 US_LFUN (us_sub, -, fx_t, uhr, <)
 
 #define VAL(N, X)                               \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_add2_##N (satfx_t a)               \
   {                                             \
     return us_add_uhr (a, X##P##-##8uhr);       \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_add_##N (satfx_t a)                \
   {                                             \
     return a + X##P##-##8uhr;                   \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_sub2_##N (satfx_t a)               \
   {                                             \
     return us_sub_uhr (a, X##P##-##8uhr);       \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_sub_##N (satfx_t a)                \
   {                                             \
     return a - X##P##-##8uhr;                   \
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-uk-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-uk-plus-minus.c
index e3915e3d8c8..4b8c1a4059d 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-uk-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-uk-plus-minus.c
@@ -14,22 +14,22 @@ US_LFUN (us_add, +, fx_t, uk, >)
 US_LFUN (us_sub, -, fx_t, uk, <)
 
 #define VAL(N, X)                               \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_add2_##N (satfx_t a)             \
     {                                           \
         return us_add_uk (a, X##P##-##16uk);    \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_add_##N (satfx_t a)              \
     {                                           \
         return a + X##P##-##16uk;               \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_sub2_##N (satfx_t a)             \
     {                                           \
         return us_sub_uk (a, X##P##-##16uk);    \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_sub_##N (satfx_t a)              \
     {                                           \
         return a - X##P##-##16uk;               \
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-ullk-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-ullk-plus-minus.c
index 014627a9314..15469d83382 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-ullk-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-ullk-plus-minus.c
@@ -14,22 +14,22 @@ US_LFUN (us_add, +, fx_t, ullk, >)
 US_LFUN (us_sub, -, fx_t, ullk, <)
 
 #define VAL(N, X)                               \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_add2_##N (satfx_t a)               \
   {                                             \
     return us_add_ullk (a, X##P##-##48ullk);    \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_add_##N (satfx_t a)                \
   {                                             \
     return a + X##P##-##48ullk;                 \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_sub2_##N (satfx_t a)               \
   {                                             \
     return us_sub_ullk (a, X##P##-##48ullk);    \
   }                                             \
-  __attribute__((noinline,noclone))             \
+  __attribute__((noinline,noclone,noipa))       \
   satfx_t us_sub_##N (satfx_t a)                \
   {                                             \
     return a - X##P##-##48ullk;                 \
diff --git a/gcc/testsuite/gcc.target/avr/torture/sat-ur-plus-minus.c b/gcc/testsuite/gcc.target/avr/torture/sat-ur-plus-minus.c
index 409a4d04510..d514650875f 100644
--- a/gcc/testsuite/gcc.target/avr/torture/sat-ur-plus-minus.c
+++ b/gcc/testsuite/gcc.target/avr/torture/sat-ur-plus-minus.c
@@ -14,22 +14,22 @@ US_LFUN (us_add, +, fx_t, ur, >)
 US_LFUN (us_sub, -, fx_t, ur, <)
 
 #define VAL(N, X)                               \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_add2_##N (satfx_t a)             \
     {                                           \
         return us_add_ur (a, X##P##-##16ur);    \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_add_##N (satfx_t a)              \
     {                                           \
         return a + X##P##-##16ur;               \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_sub2_##N (satfx_t a)             \
     {                                           \
         return us_sub_ur (a, X##P##-##16ur);    \
     }                                           \
-    __attribute__((noinline,noclone))           \
+    __attribute__((noinline,noclone,noipa))     \
     satfx_t us_sub_##N (satfx_t a)              \
     {                                           \
         return a - X##P##-##16ur;               \
diff --git a/gcc/testsuite/gcc.target/avr/torture/set-mem.c b/gcc/testsuite/gcc.target/avr/torture/set-mem.c
index 60ded19d4b6..6bc70407c50 100644
--- a/gcc/testsuite/gcc.target/avr/torture/set-mem.c
+++ b/gcc/testsuite/gcc.target/avr/torture/set-mem.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 
-#define NI __attribute__((noinline, noclone))
+#define NI __attribute__((noinline, noclone, noipa))
 
 typedef __INT8_TYPE__ s8;
 typedef __INT16_TYPE__ s16;
diff --git a/gcc/testsuite/gcc.target/avr/torture/tiny-progmem.c b/gcc/testsuite/gcc.target/avr/torture/tiny-progmem.c
index 1545c55ca3e..f2ed602e988 100644
--- a/gcc/testsuite/gcc.target/avr/torture/tiny-progmem.c
+++ b/gcc/testsuite/gcc.target/avr/torture/tiny-progmem.c
@@ -10,7 +10,7 @@
 
 #define PSTR(s) (__extension__({ static const char __c[] PM = (s); &__c[0];}))
 
-#define NI __attribute__((noinline,noclone))
+#define NI __attribute__((noinline,noclone,noipa))
 
 const volatile int data[] PM = { 1234, 5678 };
 const volatile int * volatile pdata = &data[1];
