diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-02 15:06:11 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-02 15:06:11 +0000 |
commit | 9ed50dd9c4eb6aa7c4e3b1873c3746fc6eb81529 (patch) | |
tree | ed9d589b6d21c1f81cea594cb96a9d2447ef866b /gcc/cgraphunit.c | |
parent | 941125aa76aa3bfc7cdac563a102881b1ba642e3 (diff) |
* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179430 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 5964570d882..c75c1300408 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -426,7 +426,9 @@ verify_edge_count_and_frequency (struct cgraph_edge *e) Remove this once edges are actualy removed from the function at that time. */ && (e->frequency || (inline_edge_summary_vec - && !inline_edge_summary (e)->predicate)) + && ((VEC_length(inline_edge_summary_t, inline_edge_summary_vec) + <= (unsigned) e->uid) + || !inline_edge_summary (e)->predicate))) && (e->frequency != compute_call_stmt_bb_frequency (e->caller->decl, gimple_bb (e->call_stmt)))) |