Commit 3d354792 by Martin Jambor Committed by Martin Jambor

re PR lto/60461 (LTO linking error at -Os (and above) on x86_64-linux-gnu)

2014-03-13  Martin Jambor  <mjambor@suse.cz>

	PR lto/60461
	* ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
	and simplify it.

testsuite/
	* gcc.dg/lto/pr60461_0.c: New test.

From-SVN: r208566
parent 5cbf2c71
2014-03-13 Martin Jambor <mjambor@suse.cz>
PR lto/60461
* ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
and simplify it.
2014-03-14 Georg-Johann Lay <avr@gjlay.de>
PR target/59396
......
......@@ -3900,8 +3900,7 @@ ipa_modify_call_arguments (struct cgraph_edge *cs, gimple stmt,
ipa_record_stmt_references (current_node, gsi_stmt (gsi));
gsi_prev (&gsi);
}
while ((gsi_end_p (prev_gsi) && !gsi_end_p (gsi))
|| (!gsi_end_p (prev_gsi) && gsi_stmt (gsi) == gsi_stmt (prev_gsi)));
while (gsi_stmt (gsi) != gsi_stmt (prev_gsi));
}
/* If the expression *EXPR should be replaced by a reduction of a parameter, do
......
2014-03-13 Martin Jambor <mjambor@suse.cz>
PR lto/60461
* gcc.dg/lto/pr60461_0.c: New test.
2014-03-14 Cesar Philippidis <cesar@codesourcery.com>
* lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
......
/* { dg-lto-do link } */
/* { dg-lto-options {{-Os -flto} } } */
struct S
{
int f1;
int f2;
} a[1] = { {0, 0} };
int b, c;
static unsigned short fn1 (struct S);
void
fn2 ()
{
for (; c;)
;
b = 0;
fn1 (a[0]);
}
unsigned short
fn1 (struct S p)
{
if (p.f1)
fn2 ();
return 0;
}
int
main ()
{
fn2 ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment