tree-optimization/100081 - Limit depth of logical expression windback.
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 16 Apr 2021 21:08:51 +0000 (17:08 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Mon, 19 Apr 2021 19:49:04 +0000 (15:49 -0400)
commit329d2f0df7d6d22c87ab3338b94caef68139cd58
treef70ab418e58c0ff0b6008744c9a4f7f5becd4cb2
parentdc7d1c74ffb1cc85e67984632f581d526c783770
tree-optimization/100081 - Limit depth of logical expression windback.

Limit how many logical expressions GORI will look back through when
evaluating outgoing edge range.

PR tree-optimization/100081
* gimple-range-cache.h (ranger_cache): Inherit from gori_compute
rather than gori_compute_cache.
* gimple-range-gori.cc (is_gimple_logical_p): Move to top of file.
(range_def_chain::m_logical_depth): New member.
(range_def_chain::range_def_chain): Initialize m_logical_depth.
(range_def_chain::get_def_chain): Don't build defchains through more
than LOGICAL_LIMIT logical expressions.
* params.opt (param_ranger_logical_depth): New.
gcc/gimple-range-cache.h
gcc/gimple-range-gori.cc
gcc/params.opt