This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Tidy tree-ssa-dom.c: Use dom_valueize more.
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Alan Lawrence <alan dot lawrence at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>
- Date: Mon, 31 Aug 2015 12:26:15 +0200
- Subject: Re: [PATCH] Tidy tree-ssa-dom.c: Use dom_valueize more.
- Authentication-results: sourceware.org; auth=none
- References: <1440770725-16753-1-git-send-email-alan dot lawrence at arm dot com>
On Fri, Aug 28, 2015 at 4:05 PM, Alan Lawrence <alan.lawrence@arm.com> wrote:
> The code in the dom_valueize function is duplicated a number of times; so, call
> the function.
>
> Also remove a comment in lookup_avail_expr re const_and_copies, describing one
> of said duplicates, that looks like it was superceded in r87787.
>
> Bootstrapped + check-gcc on x86-none-linux-gnu.
Ok.
> gcc/ChangeLog:
>
> * tree-ssa-dom.c (record_equivalences_from_phis,
> record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
> (lookup_avail_expr): Likewise, and remove comment and unused temp.
> ---
> gcc/tree-ssa-dom.c | 31 ++++---------------------------
> 1 file changed, 4 insertions(+), 27 deletions(-)
>
> diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
> index a7d42bc..5a9a8aa 100644
> --- a/gcc/tree-ssa-dom.c
> +++ b/gcc/tree-ssa-dom.c
> @@ -1577,12 +1577,7 @@ record_equivalences_from_phis (basic_block bb)
> if (lhs == t)
> continue;
>
> - /* Valueize t. */
> - if (TREE_CODE (t) == SSA_NAME)
> - {
> - tree tmp = SSA_NAME_VALUE (t);
> - t = tmp ? tmp : t;
> - }
> + t = dom_valueize (t);
>
> /* If we have not processed an alternative yet, then set
> RHS to this alternative. */
> @@ -2160,12 +2155,7 @@ record_equivalences_from_stmt (gimple stmt, int may_optimize_p)
> && (TREE_CODE (rhs) == SSA_NAME
> || is_gimple_min_invariant (rhs)))
> {
> - /* Valueize rhs. */
> - if (TREE_CODE (rhs) == SSA_NAME)
> - {
> - tree tmp = SSA_NAME_VALUE (rhs);
> - rhs = tmp ? tmp : rhs;
> - }
> + rhs = dom_valueize (rhs);
>
> if (dump_file && (dump_flags & TDF_DETAILS))
> {
> @@ -2442,12 +2432,7 @@ optimize_stmt (basic_block bb, gimple_stmt_iterator si)
> tree rhs = gimple_assign_rhs1 (stmt);
> tree cached_lhs;
> gassign *new_stmt;
> - if (TREE_CODE (rhs) == SSA_NAME)
> - {
> - tree tem = SSA_NAME_VALUE (rhs);
> - if (tem)
> - rhs = tem;
> - }
> + rhs = dom_valueize (rhs);
> /* Build a new statement with the RHS and LHS exchanged. */
> if (TREE_CODE (rhs) == SSA_NAME)
> {
> @@ -2569,7 +2554,6 @@ lookup_avail_expr (gimple stmt, bool insert)
> {
> expr_hash_elt **slot;
> tree lhs;
> - tree temp;
> struct expr_hash_elt element;
>
> /* Get LHS of phi, assignment, or call; else NULL_TREE. */
> @@ -2664,14 +2648,7 @@ lookup_avail_expr (gimple stmt, bool insert)
> definition of another variable. */
> lhs = (*slot)->lhs;
>
> - /* See if the LHS appears in the CONST_AND_COPIES table. If it does, then
> - use the value from the const_and_copies table. */
> - if (TREE_CODE (lhs) == SSA_NAME)
> - {
> - temp = SSA_NAME_VALUE (lhs);
> - if (temp)
> - lhs = temp;
> - }
> + lhs = dom_valueize (lhs);
>
> if (dump_file && (dump_flags & TDF_DETAILS))
> {
> --
> 1.8.3
>