aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-cache.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2021-11-04 15:08:06 -0400
committerAndrew MacLeod <amacleod@redhat.com>2021-11-05 13:15:19 -0400
commit98244c68e77cf75f93b66ee02df059f718c3fbc0 (patch)
tree2495475ee19889024e88e4c8bfbdf730b3698ea6 /gcc/gimple-range-cache.h
parenta79fe53d6ce6074d083e925b6b19773e45817405 (diff)
downloadgcc-98244c68e77cf75f93b66ee02df059f718c3fbc0.zip
gcc-98244c68e77cf75f93b66ee02df059f718c3fbc0.tar.gz
gcc-98244c68e77cf75f93b66ee02df059f718c3fbc0.tar.bz2
Abstract ranger cache update list.
Make it more efficient by removing the call to vec::contains. PR tree-optimization/102943 * gimple-range-cache.cc (class update_list): New. (update_list::add): Replace add_to_update. (update_list::pop): New. (ranger_cache::ranger_cache): Adjust. (ranger_cache::~ranger_cache): Adjust. (ranger_cache::add_to_update): Delete. (ranger_cache::propagate_cache): Adjust to new class. (ranger_cache::propagate_updated_value): Ditto. (ranger_cache::fill_block_cache): Ditto. * gimple-range-cache.h (class ranger_cache): Adjust to update class.
Diffstat (limited to 'gcc/gimple-range-cache.h')
-rw-r--r--gcc/gimple-range-cache.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/gimple-range-cache.h b/gcc/gimple-range-cache.h
index 7510500..49c13d1 100644
--- a/gcc/gimple-range-cache.h
+++ b/gcc/gimple-range-cache.h
@@ -114,7 +114,6 @@ private:
ssa_global_cache m_globals;
block_range_cache m_on_entry;
class temporal_cache *m_temporal;
- void add_to_update (basic_block bb);
void fill_block_cache (tree name, basic_block bb, basic_block def_bb);
void propagate_cache (tree name);
@@ -122,9 +121,8 @@ private:
void entry_range (irange &r, tree expr, basic_block bb);
void exit_range (irange &r, tree expr, basic_block bb);
- bitmap m_propfail;
vec<basic_block> m_workback;
- vec<basic_block> m_update_list;
+ class update_list *m_update;
};
#endif // GCC_SSA_RANGE_CACHE_H