public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Palmer Dabbelt <palmer@rivosinc.com>
To: jeffreyalaw@gmail.com,         gcc-patches@gcc.gnu.org
Cc: Palmer Dabbelt <palmer@rivosinc.com>
Subject: [PATCH] Fix the build of record_edge_info()
Date: Fri, 30 Sep 2022 17:57:20 -0700	[thread overview]
Message-ID: <20221001005720.28208-1-palmer@rivosinc.com> (raw)

As of 1214196da79 ("More gimple const/copy propagation opportunities"),
I'm getting some build failures during bootstrap

    ../../gcc/tree-ssa-dom.cc: In function ‘void record_edge_info(basic_block)’:
    ../../gcc/tree-ssa-dom.cc:689:27: error: ‘dst’ was not declared in this scope; did you mean ‘dse’?
      689 |                       if (dst == PHI_ARG_DEF (phi, !alternative))
          |                           ^~~
          |                           dse
    In file included from ../../gcc/gimple-ssa.h:24,
                     from ../../gcc/ssa.h:27,
                     from ../../gcc/tree-ssa-dom.cc:28:
    ../../gcc/tree-ssa-dom.cc:689:47: error: ‘phi’ was not declared in this scope; did you mean ‘gphi’?
      689 |                       if (dst == PHI_ARG_DEF (phi, !alternative))
          |                                               ^~~
    ../../gcc/tree-ssa-operands.h:82:54: note: in definition of macro ‘PHI_ARG_DEF’
       82 | #define PHI_ARG_DEF(PHI, I)     gimple_phi_arg_def ((PHI), (I))
          |

I've never looked at this stuff before so I've sort of just pattern
matched this, it at least fixes the build.  Happy to go try and
understand what's going on here, but I'm in the middle of a few things
so I figured it'd be better to just send it along in case anyone else is
running into the same issue -- it's more of a bug report than a fix,
though.

gcc/ChangeLog

	* tree-ssa-dom.c (record_edge_info): Move the alternative check
	below the phi definition.
---
 gcc/tree-ssa-dom.cc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gcc/tree-ssa-dom.cc b/gcc/tree-ssa-dom.cc
index 8d8312ca350..e6b8dace5e9 100644
--- a/gcc/tree-ssa-dom.cc
+++ b/gcc/tree-ssa-dom.cc
@@ -684,11 +684,6 @@ record_edge_info (basic_block bb)
 		       !gsi_end_p (gsi);
 		       gsi_next (&gsi))
 		    {
-		      /* If the other alternative is the same as the result,
-			 then this is a degenerate and can be ignored.  */
-		      if (dst == PHI_ARG_DEF (phi, !alternative))
-			continue;
-
 		      /* Now get the EDGE_INFO class so we can append
 			 it to our list.  We want the successor edge
 			 where the destination is not the source of
@@ -697,6 +692,11 @@ record_edge_info (basic_block bb)
 		      tree src = PHI_ARG_DEF (phi, alternative);
 		      tree dst = PHI_RESULT (phi);
 
+		      /* If the other alternative is the same as the result,
+			 then this is a degenerate and can be ignored.  */
+		      if (dst == PHI_ARG_DEF (phi, !alternative))
+			continue;
+
 		      if (EDGE_SUCC (bb, 0)->dest
 			  != EDGE_PRED (bb, !alternative)->src)
 			edge_info = (class edge_info *)EDGE_SUCC (bb, 0)->aux;
-- 
2.34.1


             reply	other threads:[~2022-10-01  0:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-01  0:57 Palmer Dabbelt [this message]
2022-10-01  1:01 ` Jeff Law
2022-10-01  1:27   ` Palmer Dabbelt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221001005720.28208-1-palmer@rivosinc.com \
    --to=palmer@rivosinc.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jeffreyalaw@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).