diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-11-01 15:50:38 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-11-07 19:08:57 +0100 |
commit | 2be794fae034818a36e097c60adf612f343e24fe (patch) | |
tree | 8f800d600aa37ba3f58c43925d63ce9fb211272d /gcc/tree-ssa-threadedge.c | |
parent | ee11be7f2d788e6055ebed9746a8d8ac3cb04b8e (diff) | |
download | gcc-2be794fae034818a36e097c60adf612f343e24fe.zip gcc-2be794fae034818a36e097c60adf612f343e24fe.tar.gz gcc-2be794fae034818a36e097c60adf612f343e24fe.tar.bz2 |
Remove VRP threader.
Now that things have stabilized, we can remove the old code.
I have left the hybrid threader in tree-ssa-threadedge, even though the
VRP threader was the only user, because we may need it as an interim
step for DOM threading removal.
Tested on x86-64 Linux.
gcc/ChangeLog:
* tree-pass.h (make_pass_vrp_threader): Remove.
* tree-ssa-threadbackward.c
(back_threader_profitability::profitable_path_p): Remove
ASSERT_EXPR references.
* tree-ssa-threadedge.c (jt_state::register_equivs_stmt): Same.
* tree-vrp.c (vrp_folder::simplify_casted_conds): Same.
(execute_vrp): Same.
(class hybrid_threader): Remove.
(hybrid_threader::hybrid_threader): Remove.
(hybrid_threader::~hybrid_threader): Remove.
(hybrid_threader::before_dom_children): Remove.
(hybrid_threader::after_dom_children): Remove.
(execute_vrp_threader): Remove.
(class pass_vrp_threader): Remove.
(make_pass_vrp_threader): Remove.
Diffstat (limited to 'gcc/tree-ssa-threadedge.c')
-rw-r--r-- | gcc/tree-ssa-threadedge.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index a63a976..f693db1 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -1334,25 +1334,19 @@ jt_state::register_equivs_stmt (gimple *stmt, basic_block bb, to expose more context sensitive equivalences which in turn may allow us to simplify the condition at the end of the loop. - Handle simple copy operations as well as implied copies from - ASSERT_EXPRs. */ + Handle simple copy operations. */ tree cached_lhs = NULL; if (gimple_assign_single_p (stmt) && TREE_CODE (gimple_assign_rhs1 (stmt)) == SSA_NAME) cached_lhs = gimple_assign_rhs1 (stmt); - else if (gimple_assign_single_p (stmt) - && TREE_CODE (gimple_assign_rhs1 (stmt)) == ASSERT_EXPR) - cached_lhs = TREE_OPERAND (gimple_assign_rhs1 (stmt), 0); else { - /* A statement that is not a trivial copy or ASSERT_EXPR. + /* A statement that is not a trivial copy. Try to fold the new expression. Inserting the expression into the hash table is unlikely to help. */ /* ??? The DOM callback below can be changed to setting the mprts_hook around the call to thread_across_edge, - avoiding the use substitution. The VRP hook should be - changed to properly valueize operands itself using - SSA_NAME_VALUE in addition to its own lattice. */ + avoiding the use substitution. */ cached_lhs = gimple_fold_stmt_to_constant_1 (stmt, threadedge_valueize); if (NUM_SSA_OPERANDS (stmt, SSA_OP_ALL_USES) != 0 |