]> git.ipfire.org Git - thirdparty/gcc.git/commit
Gimple range PHI analyzer and testcases
authorAndrew MacLeod <amacleod@redhat.com>
Wed, 24 May 2023 13:52:26 +0000 (09:52 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 24 May 2023 20:40:11 +0000 (16:40 -0400)
commit1cd5bc387c453126fdb4c9400096180484ecddee
tree1e6b283f595756c7bf6ac904fba8674ef5be4ead
parent04859bda7730f9f0cc3dc02b1df865bd7d20d388
Gimple range PHI analyzer and testcases

Provide a PHI analyzer framework to provive better initial values for
PHI nodes which formk groups with initial values and single statements
which modify the PHI values in some predicatable way.

PR tree-optimization/107822
PR tree-optimization/107986
gcc/
* Makefile.in (OBJS): Add gimple-range-phi.o.
* gimple-range-cache.h (ranger_cache::m_estimate): New
phi_analyzer pointer member.
* gimple-range-fold.cc (fold_using_range::range_of_phi): Use
phi_analyzer if no loop info is available.
* gimple-range-phi.cc: New file.
* gimple-range-phi.h: New file.
* tree-vrp.cc (execute_ranger_vrp): Utililze a phi_analyzer.

gcc/testsuite/
* gcc.dg/pr107822.c: New.
* gcc.dg/pr107986-1.c: New.
gcc/Makefile.in
gcc/gimple-range-cache.h
gcc/gimple-range-fold.cc
gcc/gimple-range-phi.cc [new file with mode: 0644]
gcc/gimple-range-phi.h [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr107822.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr107986-1.c [new file with mode: 0644]
gcc/tree-vrp.cc