]> git.ipfire.org Git - thirdparty/gcc.git/commit
Change fast VRP algorithm
authorAndrew MacLeod <amacleod@redhat.com>
Mon, 17 Jun 2024 15:32:51 +0000 (11:32 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Fri, 21 Jun 2024 12:55:21 +0000 (08:55 -0400)
commit68532d3c63725777aaa63b9ac2e4a086c6359bfa
tree3ce25ae8c86c0ec7634bd1bd523e2006b8350510
parentffaa806c302cca23b36173b65140a1ee1b1826af
Change fast VRP algorithm

Change the fast VRP algorithm to track contextual ranges active within
each basic block.

* gimple-range.cc (dom_ranger::dom_ranger): Create a block
vector.
(dom_ranger::~dom_ranger): Dispose of the block vector.
(dom_ranger::edge_range): Delete.
(dom_ranger::range_on_edge): Combine range in src BB with any
range gori_nme_on_edge returns.
(dom_ranger::range_in_bb): Combine global range with any active
contextual range for an ssa-name.
(dom_ranger::range_of_stmt): Fix non-ssa LHS case, use
fur_depend for folding so relations can be registered.
(dom_ranger::maybe_push_edge): Delete.
(dom_ranger::pre_bb): Create incoming contextual range vector.
(dom_ranger::post_bb): Free contextual range vector.
* gimple-range.h (dom_ranger::edge_range): Delete.
(dom_ranger::m_e0): Delete.
(dom_ranger::m_e1): Delete.
(dom_ranger::m_bb): New.
(dom_ranger::m_pop_list): Delete.
* tree-vrp.cc (execute_fast_vrp): Enable relation oracle.
gcc/gimple-range.cc
gcc/gimple-range.h
gcc/tree-vrp.cc