aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-cache.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2021-04-27 08:44:46 -0400
committerAndrew MacLeod <amacleod@redhat.com>2021-05-07 15:00:21 -0400
commita7943ea96d6a076a06eb06bd71a2656e682b8a78 (patch)
treed40cb117c49ad3a3623d3c89ea96ea4461145ccd /gcc/gimple-range-cache.h
parentd942d7332d3dbd93609f5b5706df5990fd63dcfc (diff)
downloadgcc-a7943ea96d6a076a06eb06bd71a2656e682b8a78.zip
gcc-a7943ea96d6a076a06eb06bd71a2656e682b8a78.tar.gz
gcc-a7943ea96d6a076a06eb06bd71a2656e682b8a78.tar.bz2
When searching for non-null, check the dominator tree.
The non-null bitmap only indicates which blocks non-null setting occurs. Generalized queries need to search the dom tree, whereas propagation engines only need to know the current block. Add a flag for this purpose. * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Search dominator tree is available and requested. (ranger_cache::ssa_range_in_bb): Don't search dom tree here. (ranger_cache::fill_block_cache): Don't search dom tree here either. * gimple-range-cache.h (non_null_deref_p): Add dom_search param.
Diffstat (limited to 'gcc/gimple-range-cache.h')
-rw-r--r--gcc/gimple-range-cache.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gimple-range-cache.h b/gcc/gimple-range-cache.h
index 2b36a02..986a68a 100644
--- a/gcc/gimple-range-cache.h
+++ b/gcc/gimple-range-cache.h
@@ -33,7 +33,7 @@ class non_null_ref
public:
non_null_ref ();
~non_null_ref ();
- bool non_null_deref_p (tree name, basic_block bb);
+ bool non_null_deref_p (tree name, basic_block bb, bool search_dom = true);
private:
vec <bitmap> m_nn;
void process_name (tree name);