"H.J. Lu" <hjl.to...@gmail.com> writes: > Move pr121656.c to gcc.dg/torture and replace weak attribute with noipa > attribute. Verified by reverting > > 56ca14c4c4f Fix invalid right shift count with recent ifcvt changes > > to trigger > > FAIL: gcc.dg/torture/pr121656.c -O1 execution test > FAIL: gcc.dg/torture/pr121656.c -O2 execution test > FAIL: gcc.dg/torture/pr121656.c -O3 -g execution test > FAIL: gcc.dg/torture/pr121656.c -O2 -flto -fno-use-linker-plugin > -flto-partition=none execution test > > on Linux/x86-64. > > PR tree-optimization/121656 > * gcc.dg/pr121656.c: Moved to ... > * gcc.dg/torture/pr121656.c: Here. > (dg-options): Removed. > (foo): Replace weak attribute with noipa attribute. >
LGTM. Thanks. > Signed-off-by: H.J. Lu <hjl.to...@gmail.com> > --- > gcc/testsuite/gcc.dg/pr121656.c | 21 ----------------- > gcc/testsuite/gcc.dg/torture/pr121656.c | 30 +++++++++++++++++++++++++ > 2 files changed, 30 insertions(+), 21 deletions(-) > delete mode 100644 gcc/testsuite/gcc.dg/pr121656.c > create mode 100644 gcc/testsuite/gcc.dg/torture/pr121656.c > > diff --git a/gcc/testsuite/gcc.dg/pr121656.c b/gcc/testsuite/gcc.dg/pr121656.c > deleted file mode 100644 > index 00b89418a31..00000000000 > --- a/gcc/testsuite/gcc.dg/pr121656.c > +++ /dev/null > @@ -1,21 +0,0 @@ > -/* { dg-do run } */ > -/* { dg-options "-O1" } */ > - > -__attribute__ ((weak)) > -void > -foo (int b) > -{ > - if (b != 3) > - __builtin_abort (); > -} > - > -int a; > -int > -main () > -{ > - int b = 0; > - if (a >= 0) > - b += 3; > - foo (b); > - return 0; > -} > diff --git a/gcc/testsuite/gcc.dg/torture/pr121656.c > b/gcc/testsuite/gcc.dg/torture/pr121656.c > new file mode 100644 > index 00000000000..343d414b292 > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/torture/pr121656.c > @@ -0,0 +1,30 @@ > +/* { dg-do run } */ > + > +/* This test fails to run at -O1 and above. This is caused by > + > + ebbeaf490c5 [PR rtl-optimization/120553] Improve selecting between > constants based on sign bit test > + > + and has been fixed by > + > + 56ca14c4c4f Fix invalid right shift count with recent ifcvt changes > + > + */ > + > +__attribute__ ((noipa)) > +void > +foo (int b) > +{ > + if (b != 3) > + __builtin_abort (); > +} > + > +int a; > +int > +main () > +{ > + int b = 0; > + if (a >= 0) > + b += 3; > + foo (b); > + return 0; > +}