public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Add ability to resolve unknowns to path solver.
@ 2021-09-21 16:53 Aldy Hernandez
  2021-09-21 16:53 ` [PATCH 1/7] Allocate non_null_ref tables at creation Aldy Hernandez
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Aldy Hernandez @ 2021-09-21 16:53 UTC (permalink / raw)
  To: Andrew MacLeod; +Cc: GCC patches, Jeff Law, Aldy Hernandez

The default behavior for the path solver is to resort to VARYING when
the range for a requested SSA is outside the given path.  This is both
cheap and fast, but fails to get a significant amount of ranges that
traditionally the DOM and VRP threaders got.

This patchset improves the path solver such that any names outside the
given path are resolved with the ranger.  It also adds the ability to
resolve relations ocurring both within and without the path.

This functionality is turned off by default.  It will be used by the
hybrid VRP threader replacement, as well as by the backward threader
when it becomes the only threader in town.

This entire patchset has been bootstrapped and tested on x86-64 Linux,
both alone, and along with upcoming patches to the threader and VRP.

Committing to trunk.
Aldy

Aldy Hernandez (7):
  Allocate non_null_ref tables at creation.
  Do not query SCEV in range_of_phi unless dominators are available.
  Move postfold_gcond_edges into fur_source.
  path solver: Add relation support.
  path solver: Remove useless code.
  path solver: Add related SSAs to solvable set.
  path solver: Use ranger to solve unknowns.

 gcc/gimple-range-cache.cc     |   4 +-
 gcc/gimple-range-fold.cc      |  48 ++---
 gcc/gimple-range-fold.h       |   4 +-
 gcc/gimple-range-path.cc      | 375 +++++++++++++++++++++++++++++++---
 gcc/gimple-range-path.h       |  20 +-
 gcc/tree-ssa-threadbackward.c |   2 +-
 6 files changed, 396 insertions(+), 57 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-09-23 11:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 16:53 [PATCH 0/7] Add ability to resolve unknowns to path solver Aldy Hernandez
2021-09-21 16:53 ` [PATCH 1/7] Allocate non_null_ref tables at creation Aldy Hernandez
2021-09-21 16:53 ` [PATCH 2/7] Do not query SCEV in range_of_phi unless dominators are available Aldy Hernandez
2021-09-21 17:05   ` Andrew MacLeod
2021-09-21 17:16     ` Aldy Hernandez
2021-09-22  8:05       ` Richard Biener
2021-09-23 11:07         ` Aldy Hernandez
2021-09-21 16:53 ` [PATCH 3/7] Move postfold_gcond_edges into fur_source Aldy Hernandez
2021-09-21 16:53 ` [PATCH 4/7] path solver: Add relation support Aldy Hernandez
2021-09-21 16:53 ` [PATCH 5/7] path solver: Remove useless code Aldy Hernandez
2021-09-21 16:53 ` [PATCH 6/7] path solver: Add related SSAs to solvable set Aldy Hernandez
2021-09-21 16:53 ` [PATCH 7/7] path solver: Use ranger to solve unknowns Aldy Hernandez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).