Move pr121656.c to gcc.dg/torture

Move pr121656.c to gcc.dg/torture and replace weak attribute with noipa
attribute.  Verified by reverting

56ca14c4c4 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.tools@gmail.com>
This commit is contained in:
H.J. Lu
2025-08-26 15:56:47 -07:00
parent edcbec0577
commit 775ecdb237
2 changed files with 30 additions and 21 deletions

View File

@@ -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;
}

View File

@@ -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;
}