diff options
author | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-24 13:15:49 +0000 |
---|---|---|
committer | ienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-24 13:15:49 +0000 |
commit | b0343e00229233c4afd2e02490967511456c06d4 (patch) | |
tree | a24f2a30d3bcdb2cf5110725a0f27b98c4c42e8d /gcc/ipa-inline-analysis.c | |
parent | 1f9acbc742c1378db33a5f9308fd675ae5d0b6b3 (diff) | |
download | gcc-b0343e00229233c4afd2e02490967511456c06d4.tar.gz |
gcc/
PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.
gcc/testsuite/
PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226155 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline-analysis.c')
-rw-r--r-- | gcc/ipa-inline-analysis.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index 286335eb474..3a8f0eced9d 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -3109,6 +3109,9 @@ estimate_calls_size_and_time (struct cgraph_node *node, int *size, struct cgraph_edge *e; for (e = node->callees; e; e = e->next_callee) { + if (inline_edge_summary_vec.length () <= (unsigned) e->uid) + continue; + struct inline_edge_summary *es = inline_edge_summary (e); /* Do not care about zero sized builtins. */ @@ -3140,6 +3143,9 @@ estimate_calls_size_and_time (struct cgraph_node *node, int *size, } for (e = node->indirect_calls; e; e = e->next_callee) { + if (inline_edge_summary_vec.length () <= (unsigned) e->uid) + continue; + struct inline_edge_summary *es = inline_edge_summary (e); if (!es->predicate || evaluate_predicate (es->predicate, possible_truths)) |