diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-05-23 12:20:05 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-05-23 12:20:05 +0000 |
commit | 03211402fa5654d1c8510fd5eedef4645086bb17 (patch) | |
tree | e4d22843243ba91a62b378b110a3a43beb809462 /gcc/ipa-fnsummary.c | |
parent | 1297cbcd474e8dd6e8e16001321498d3c5749b8f (diff) | |
download | gcc-03211402fa5654d1c8510fd5eedef4645086bb17.tar.gz |
* ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check
that nonconst implies exec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248366 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-fnsummary.c')
-rw-r--r-- | gcc/ipa-fnsummary.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c index d9006d1e218..0a5abb54780 100644 --- a/gcc/ipa-fnsummary.c +++ b/gcc/ipa-fnsummary.c @@ -2738,11 +2738,14 @@ estimate_node_size_and_time (struct cgraph_node *node, for (i = 0; vec_safe_iterate (info->size_time_table, i, &e); i++) { - bool nonconst = e->nonconst_predicate.evaluate (possible_truths); bool exec = e->exec_predicate.evaluate (nonspec_possible_truths); - gcc_assert (!nonconst || exec); + + /* Because predicates are conservative, it can happen that nonconst is 1 + but exec is 0. */ if (exec) { + bool nonconst = e->nonconst_predicate.evaluate (possible_truths); + gcc_checking_assert (e->time >= 0); gcc_checking_assert (time >= 0); |