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
+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
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.
--- /dev/null
+/* { 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;
+}