diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-10-14 15:01:49 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-10-14 23:37:59 +0200 |
commit | 401aaa5983a7d31849b3b7a88f13eb6c7f74f11a (patch) | |
tree | d28a4ef3c71d3e01597af1cfc24b1f3920373118 /libiberty/ChangeLog | |
parent | 0bd68793921ecf3bb5654252dea3763fd127ab77 (diff) | |
download | gcc-401aaa5983a7d31849b3b7a88f13eb6c7f74f11a.zip gcc-401aaa5983a7d31849b3b7a88f13eb6c7f74f11a.tar.gz gcc-401aaa5983a7d31849b3b7a88f13eb6c7f74f11a.tar.bz2 |
Add ability to use full resolving path solver in the backward threader.
The path solver runs in two modes: a quick mode which assumes any unknown
SSA names are VARYING, and a fully resolving mode using the ranger.
The backward threader currently uses the quick mode, because the fully
resolving mode was not available initially. Since we now have the ability
in the solver (used by the hybrid threader), I thought it'd be useful to
have the knob for when the time comes.
Note that enabling the fully resolving mode will require some experimenting,
as enabling it would likely render other jump threading passes irrelevant
(VRP threading comes to mind).
There should be no functional changes as the resolver is set to false.
Tested on x86-64 Linux.
gcc/ChangeLog:
* tree-ssa-threadbackward.c (class back_threader): Add m_resolve.
(back_threader::back_threader): Same.
(back_threader::resolve_phi): Try to solve without looking back if
possible.
(back_threader::find_paths_to_names): Same.
(try_thread_blocks): Pass resolve argument to back threader.
(pass_early_thread_jumps::execute): Same.
Diffstat (limited to 'libiberty/ChangeLog')
0 files changed, 0 insertions, 0 deletions