aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-04-03 20:09:13 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2015-04-03 18:09:13 +0000
commit133a84abb68641cf444e41f5f0e1682a9e4e0e0d (patch)
treeb2581ae6b9e106bae5976496cb2c03de16b4b87b /gcc/ipa-inline.c
parenta3d94329e909d9d14ba6a6cf9f398cdafc84da53 (diff)
downloadgcc-133a84abb68641cf444e41f5f0e1682a9e4e0e0d.zip
gcc-133a84abb68641cf444e41f5f0e1682a9e4e0e0d.tar.gz
gcc-133a84abb68641cf444e41f5f0e1682a9e4e0e0d.tar.bz2
re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076 * ipa-inline.c (edge_badness): Add combined size to the denominator. From-SVN: r221859
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 77d6d85..4533ea4 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1077,8 +1077,8 @@ edge_badness (struct cgraph_edge *edge, bool dump)
/* When profile is available. Compute badness as:
time_saved * caller_count
- goodness = ---------------------------------
- growth_of_caller * overall_growth
+ goodness = -------------------------------------------------
+ growth_of_caller * overall_growth * combined_size
badness = - goodness
@@ -1167,6 +1167,7 @@ edge_badness (struct cgraph_edge *edge, bool dump)
overall_growth += 256 * 256 - 256;
denominator *= overall_growth;
}
+ denominator *= inline_summaries->get (caller)->self_size + growth;
badness = - numerator / denominator;