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. 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; +} -- 2.51.0