re PR lto/61786 (wrong code by LTO on x86_64-linux-gnu)

2014-07-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61786
	* gcc.dg/torture/pr61786.c: New testcase.
	* gcc.dg/lto/pr61786_0.c: Likewise.
	* gcc.dg/lto/pr61786_1.c: Likewise.

From-SVN: r212515
This commit is contained in:
Richard Biener 2014-07-14 11:22:34 +00:00 committed by Richard Biener
parent 3b57ff81e6
commit 888a1049c2
4 changed files with 73 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2014-07-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/61786
* gcc.dg/torture/pr61786.c: New testcase.
* gcc.dg/lto/pr61786_0.c: Likewise.
* gcc.dg/lto/pr61786_1.c: Likewise.
2014-07-14 Richard Biener <rguenther@suse.de> 2014-07-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/61757 PR tree-optimization/61757

View File

@ -0,0 +1,27 @@
/* { dg-lto-do run } */
/* { dg-lto-options { { -flto } } } */
/* { dg-extra-ld-options "-O" } */
int a, *c = &a, d;
char b = 1;
void
fn1 (void)
{
d = 1;
lbl:
if (b == d)
{
d = *c;
if (b)
goto lbl;
}
}
int
fn2 (void)
{
fn1 ();
return 0;
}

View File

@ -0,0 +1,8 @@
int fn2 (void);
int
main ()
{
fn2 ();
return 0;
}

View File

@ -0,0 +1,31 @@
/* { dg-do run } */
int a, *c = &a, d;
char b = 1;
void
fn1 ()
{
d = 1;
lbl:
if (b == d)
{
d = *c;
if (b)
goto lbl;
}
}
int
fn2 ()
{
fn1 ();
return 0;
}
int
main ()
{
fn2 ();
return 0;
}