aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadedge.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-11-01 15:50:38 +0100
committerAldy Hernandez <aldyh@redhat.com>2021-11-07 19:08:57 +0100
commit2be794fae034818a36e097c60adf612f343e24fe (patch)
tree8f800d600aa37ba3f58c43925d63ce9fb211272d /gcc/tree-ssa-threadedge.c
parentee11be7f2d788e6055ebed9746a8d8ac3cb04b8e (diff)
downloadgcc-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.c12
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