Fix PR ipa/68790
PR ipa/68790
* ipa-icf.c (sem_function::param_used_p): Return true
if ipa_node_params_sum equals to NULL.
* gcc.dg/ipa/pr68790.c: New test.
From-SVN: r231446
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ PR ipa/68790
+ * ipa-icf.c (sem_function::param_used_p): Return true
+ if ipa_node_params_sum equals to NULL.
+
2015-12-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/68583
sem_function::param_used_p (unsigned int i)
{
if (ipa_node_params_sum == NULL)
- return false;
+ return true;
struct ipa_node_params *parms_info = IPA_NODE_REF (get_node ());
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/pr68790.c: New test.
+
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
PR ipa/61886
--- /dev/null
+/* { dg-do run } */
+/* { dg-options "-O0 -fipa-icf -fdump-ipa-icf" } */
+
+struct S
+{
+ int a;
+};
+
+int
+foo3 (struct S x, struct S y, struct S z)
+{
+ if (z.a != 9)
+ __builtin_abort ();
+ return 0;
+}
+
+int
+bar3 (struct S x, struct S y, struct S z)
+{
+ return foo3 (y, x, z);
+}
+
+int
+baz3 (struct S x, struct S y, struct S z)
+{
+ return foo3 (y, z, x);
+}
+
+int
+main (void)
+{
+ struct S
+ a = { 3 },
+ b = { 6 },
+ c = { 9 };
+
+ return bar3 (b, a, c);
+}
+
+/* { dg-final { scan-ipa-dump "Equal symbols: 0" "icf" } } */