Mercurial > hg > CbC > CbC_gcc
diff gcc/tree-call-cdce.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/tree-call-cdce.c Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/tree-call-cdce.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Conditional Dead Call Elimination pass for the GNU compiler. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 Free Software Foundation, Inc. Contributed by Xinliang David Li <davidxl@google.com> This file is part of GCC. @@ -314,6 +314,7 @@ CASE_FLT_FN (BUILT_IN_POW10): /* Sqrt. */ CASE_FLT_FN (BUILT_IN_SQRT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_SQRT): return check_builtin_call (call); /* Special one: two argument pow. */ case BUILT_IN_POW: @@ -342,6 +343,7 @@ CASE_FLT_FN (BUILT_IN_SIGNIFICAND): CASE_FLT_FN (BUILT_IN_SIN): CASE_FLT_FN (BUILT_IN_SQRT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_SQRT): CASE_FLT_FN (BUILT_IN_FMOD): CASE_FLT_FN (BUILT_IN_REMAINDER): return true; @@ -703,6 +705,7 @@ 308, true, false); /* sqrt: [0, +inf) */ CASE_FLT_FN (BUILT_IN_SQRT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_SQRT): return get_domain (0, true, true, 0, false, false); default: @@ -734,7 +737,7 @@ call = bi_call; fn = gimple_call_fndecl (call); - gcc_assert (fn && DECL_BUILT_IN (fn)); + gcc_assert (fn && fndecl_built_in_p (fn)); fnc = DECL_FUNCTION_CODE (fn); *nconds = 0; @@ -903,7 +906,6 @@ Here we take the second approach because it's slightly simpler and because it's easy to see that it doesn't lose profile counts. */ bi_call_bb->count = profile_count::zero (); - bi_call_bb->frequency = 0; while (!edges.is_empty ()) { edge_pair e = edges.pop (); @@ -916,16 +918,10 @@ nocall_edge->probability = profile_probability::always () - call_edge->probability; - unsigned int call_frequency - = call_edge->probability.apply (src_bb->frequency); - bi_call_bb->count += call_edge->count (); - bi_call_bb->frequency += call_frequency; if (nocall_edge->dest != join_tgt_bb) - { - nocall_edge->dest->frequency = src_bb->frequency - call_frequency; - } + nocall_edge->dest->count = src_bb->count - bi_call_bb->count; } if (dom_info_available_p (CDI_DOMINATORS))