diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2024-06-19 11:42:16 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2024-06-27 11:09:20 +0200 |
commit | bcdbb85f26aa0d25645d51ddf728a049b201c980 (patch) | |
tree | c2bbcb50a088d059430f4700bb999a4a4bb98da3 /gcc/gimple-range-cache.h | |
parent | dafa750c8a6f0a088677871bfaad054881737ab1 (diff) | |
download | gcc-bcdbb85f26aa0d25645d51ddf728a049b201c980.zip gcc-bcdbb85f26aa0d25645d51ddf728a049b201c980.tar.gz gcc-bcdbb85f26aa0d25645d51ddf728a049b201c980.tar.bz2 |
Avoid global bitmap space in ranger.
gcc/ChangeLog:
* gimple-range-cache.cc (update_list::update_list): Add m_bitmaps.
(update_list::~update_list): Initialize m_bitmaps.
* gimple-range-cache.h (ssa_lazy_cache): Add m_bitmaps.
* gimple-range.cc (enable_ranger): Remove global bitmap
initialization.
(disable_ranger): Remove global bitmap release.
Diffstat (limited to 'gcc/gimple-range-cache.h')
-rw-r--r-- | gcc/gimple-range-cache.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/gimple-range-cache.h b/gcc/gimple-range-cache.h index 63410d5..0ea34d3 100644 --- a/gcc/gimple-range-cache.h +++ b/gcc/gimple-range-cache.h @@ -78,8 +78,12 @@ protected: class ssa_lazy_cache : public ssa_cache { public: - inline ssa_lazy_cache () { active_p = BITMAP_ALLOC (NULL); } - inline ~ssa_lazy_cache () { BITMAP_FREE (active_p); } + inline ssa_lazy_cache () + { + bitmap_obstack_initialize (&m_bitmaps); + active_p = BITMAP_ALLOC (&m_bitmaps); + } + inline ~ssa_lazy_cache () { bitmap_obstack_release (&m_bitmaps); } inline bool empty_p () const { return bitmap_empty_p (active_p); } virtual bool has_range (tree name) const; virtual bool set_range (tree name, const vrange &r); @@ -89,6 +93,7 @@ public: virtual void clear (); void merge (const ssa_lazy_cache &); protected: + bitmap_obstack m_bitmaps; bitmap active_p; }; |