aboutsummaryrefslogtreecommitdiff
path: root/gcc/predict.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-01-29 08:43:14 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-01-29 07:43:14 +0000
commit10881cffc20a2eddc90f40ec5796fc0ce697f8d7 (patch)
treef011650fc0f421082a967c18e661f127af6f2860 /gcc/predict.c
parentbea30e0dea2888c88064fcebc106ef1647b16897 (diff)
downloadgcc-10881cffc20a2eddc90f40ec5796fc0ce697f8d7.zip
gcc-10881cffc20a2eddc90f40ec5796fc0ce697f8d7.tar.gz
gcc-10881cffc20a2eddc90f40ec5796fc0ce697f8d7.tar.bz2
re PR ipa/64801 (kernel build failure due to ICF)
PR ipa/64801 * gcc.dg/tree-ssa/pr64801.c: New testcase. * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; make sane BB profile. (cgraph_node::expand_thunk): Make sane BB profile. (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. * cgraph.h (init_lowered_empty_function): Update prototype. * config/i386/i386.c (make_resolver_func): Update call. * predict.c (gate): Disable branch prediction pass if profile is already there. From-SVN: r220230
Diffstat (limited to 'gcc/predict.c')
-rw-r--r--gcc/predict.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/predict.c b/gcc/predict.c
index 505c06d..67d5d20 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -3050,6 +3050,9 @@ pass_profile::execute (function *fun)
{
unsigned nb_loops;
+ if (profile_status_for_fn (cfun) == PROFILE_GUESSED)
+ return 0;
+
loop_optimizer_init (LOOPS_NORMAL);
if (dump_file && (dump_flags & TDF_DETAILS))
flow_loops_dump (dump_file, NULL, 0);