diff options
Diffstat (limited to 'gcc-4.9/gcc/ipa-pure-const.c')
-rw-r--r-- | gcc-4.9/gcc/ipa-pure-const.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ipa-pure-const.c b/gcc-4.9/gcc/ipa-pure-const.c index 7d3588099..948665e4a 100644 --- a/gcc-4.9/gcc/ipa-pure-const.c +++ b/gcc-4.9/gcc/ipa-pure-const.c @@ -1504,6 +1504,12 @@ static bool gate_pure_const (void) { return (flag_ipa_pure_const + /* Due to the traverse order difference between profile-use + and profile-gen, pure/const analysis result can be different + resulting in differnt CFG in the caller (e.g, different VOPS, + --> different MEMOP PHI --> different CFG cleanups) function, + thus causing profile mismatch problem. */ + && (!flag_dyn_ipa || cgraph_pre_profiling_inlining_done) /* Don't bother doing anything if the program has errors. */ && !seen_error ()); } |