diff options
author | Richard Biener <rguenther@suse.de> | 2019-11-21 13:46:18 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-11-21 13:46:18 +0000 |
commit | d78b70959f334699bf556e9b8d4e0a8c12a64b46 (patch) | |
tree | bbeb4dbda1117ae17d50415a6053d914cf30f236 /gcc/vec.h | |
parent | e2a05fdfd4798192493c582ec6528c975bfa9b0c (diff) |
cfgloop.h (loop_iterator::~loop_iterator): Remove.
2019-11-21 Richard Biener <rguenther@suse.de>
* cfgloop.h (loop_iterator::~loop_iterator): Remove.
(loop_iterator::to_visit): Use an auto_vec with internal storage.
(loop_iterator::loop_iterator): Adjust.
* cfganal.c (compute_dominance_frontiers_1): Fold into...
(compute_dominance_frontiers): ... this. Hoist invariant
get_immediate_dominator call.
(compute_idf): Use a work-set instead of a work-list for more
optimal iteration order and duplicate avoidance.
* tree-into-ssa.c (mark_phi_for_rewrite): Avoid re-allocating
the vector all the time, instead pre-allocate the vector only
once.
(delete_update_ssa): Simplify.
* vec.h (va_heap::release): Disable -Wfree-nonheap-object around it.
From-SVN: r278550
Diffstat (limited to 'gcc/vec.h')
-rw-r--r-- | gcc/vec.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/vec.h b/gcc/vec.h index 091056b37bc..8070021223a 100644 --- a/gcc/vec.h +++ b/gcc/vec.h @@ -295,6 +295,11 @@ va_heap::reserve (vec<T, va_heap, vl_embed> *&v, unsigned reserve, bool exact } +#if GCC_VERSION >= 4007 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wfree-nonheap-object" +#endif + /* Free the heap space allocated for vector V. */ template<typename T> @@ -312,6 +317,9 @@ va_heap::release (vec<T, va_heap, vl_embed> *&v) v = NULL; } +#if GCC_VERSION >= 4007 +#pragma GCC diagnostic pop +#endif /* Allocator type for GC vectors. Notice that we need the structure declaration even if GC is not enabled. */ |