From c3272a921a1492fcc4e437580d718f423f4e32db Mon Sep 17 00:00:00 2001 From: Po-Chun Chang Date: Fri, 17 May 2013 21:12:34 +0000 Subject: [PATCH] re PR middle-end/57276 (Waste work in cgraph_edge_brings_all_agg_vals_for_node()) 2013-05-17 Po-Chun Chang Martin Jambor PR middle-end/57276 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Break when a value that corresponds to the given aggval is found in values vector. Co-Authored-By: Martin Jambor From-SVN: r199035 --- gcc/ChangeLog | 7 +++++++ gcc/ipa-cp.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14ce924cbcd..7fce202e6fc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-05-17 Po-Chun Chang + Martin Jambor + + PR middle-end/57276 + * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Break when a + value that corresponds to the given aggval is found in values vector. + 2013-05-17 Uros Bizjak * config/i386/driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow, diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 40c946dc1f1..4bb1754d2b5 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -3213,7 +3213,10 @@ cgraph_edge_brings_all_agg_vals_for_node (struct cgraph_edge *cs, if (item->value && item->offset == av->offset && values_equal_for_ipcp_p (item->value, av->value)) - found = true; + { + found = true; + break; + } if (!found) { values.release(); -- 2.30.2