RISC-V: Fix ICE for avl_info deprecated copy and pp_print error.

Message ID 20221223124227.199969-1-juzhe.zhong@rivai.ai
State Accepted
Headers
Series RISC-V: Fix ICE for avl_info deprecated copy and pp_print error. |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

juzhe.zhong@rivai.ai Dec. 23, 2022, 12:42 p.m. UTC
  From: Ju-Zhe Zhong <juzhe.zhong@rivai.ai>

gcc/ChangeLog:

        * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print.
        (avl_info::avl_info): Add copy function.
        (vector_insn_info::dump): Remove pp_print.
        * config/riscv/riscv-vsetvl.h: Add copy function.

---
 gcc/config/riscv/riscv-vsetvl.cc | 32 ++++++++------------------------
 gcc/config/riscv/riscv-vsetvl.h  |  1 +
 2 files changed, 9 insertions(+), 24 deletions(-)
  

Comments

Andreas Schwab Dec. 24, 2022, 4:58 p.m. UTC | #1
On Dez 23 2022, juzhe.zhong@rivai.ai wrote:

>         * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print.
>         (avl_info::avl_info): Add copy function.
>         (vector_insn_info::dump): Remove pp_print.
>         * config/riscv/riscv-vsetvl.h: Add copy function.

Survived bootstrap so far.
  
juzhe.zhong@rivai.ai Dec. 24, 2022, 10:41 p.m. UTC | #2
I just want to make sure. You mean the bootstrap can pass now with this patch?
If yes, plz merge this patch. Thank you so much.



juzhe.zhong@rivai.ai
 
From: Andreas Schwab
Date: 2022-12-25 00:58
To: juzhe.zhong
CC: gcc-patches
Subject: Re: [PATCH] RISC-V: Fix ICE for avl_info deprecated copy and pp_print error.
On Dez 23 2022, juzhe.zhong@rivai.ai wrote:
 
>         * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print.
>         (avl_info::avl_info): Add copy function.
>         (vector_insn_info::dump): Remove pp_print.
>         * config/riscv/riscv-vsetvl.h: Add copy function.
 
Survived bootstrap so far.
 
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
  
Kito Cheng Dec. 28, 2022, 12:43 a.m. UTC | #3
Committed.

On Sun, Dec 25, 2022 at 6:42 AM 钟居哲 <juzhe.zhong@rivai.ai> wrote:
>
> I just want to make sure. You mean the bootstrap can pass now with this patch?
> If yes, plz merge this patch. Thank you so much.
>
>
>
> juzhe.zhong@rivai.ai
>
> From: Andreas Schwab
> Date: 2022-12-25 00:58
> To: juzhe.zhong
> CC: gcc-patches
> Subject: Re: [PATCH] RISC-V: Fix ICE for avl_info deprecated copy and pp_print error.
> On Dez 23 2022, juzhe.zhong@rivai.ai wrote:
>
> >         * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print.
> >         (avl_info::avl_info): Add copy function.
> >         (vector_insn_info::dump): Remove pp_print.
> >         * config/riscv/riscv-vsetvl.h: Add copy function.
>
> Survived bootstrap so far.
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
> "And now for something completely different."
>
  

Patch

diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc
index 01530c1ae75..a55b5a1c394 100644
--- a/gcc/config/riscv/riscv-vsetvl.cc
+++ b/gcc/config/riscv/riscv-vsetvl.cc
@@ -810,15 +810,6 @@  change_insn (function_info *ssa, insn_change change, insn_info *insn,
       fprintf (dump_file, "\nChange PATTERN of insn %d from:\n",
 	       INSN_UID (rinsn));
       print_rtl_single (dump_file, PATTERN (rinsn));
-      if (dump_flags & TDF_DETAILS)
-	{
-	  fprintf (dump_file, "RTL_SSA info:\n");
-	  pretty_printer pp;
-	  pp.buffer->stream = dump_file;
-	  insn->print_full (&pp);
-	  pp_printf (&pp, "\n");
-	  pp_flush (&pp);
-	}
     }
 
   insn_change_watermark watermark;
@@ -834,19 +825,16 @@  change_insn (function_info *ssa, insn_change change, insn_info *insn,
     {
       fprintf (dump_file, "\nto:\n");
       print_rtl_single (dump_file, PATTERN (rinsn));
-      if (dump_flags & TDF_DETAILS)
-	{
-	  fprintf (dump_file, "RTL_SSA info:\n");
-	  pretty_printer pp;
-	  pp.buffer->stream = dump_file;
-	  insn->print_full (&pp);
-	  pp_printf (&pp, "\n");
-	  pp_flush (&pp);
-	}
     }
   return true;
 }
 
+avl_info::avl_info (const avl_info &other)
+{
+  m_value = other.get_value ();
+  m_source = other.get_source ();
+}
+
 avl_info::avl_info (rtx value_in, set_info *source_in)
   : m_value (value_in), m_source (source_in)
 {}
@@ -1355,12 +1343,8 @@  vector_insn_info::dump (FILE *file) const
     {
       if (get_insn ())
 	{
-	  fprintf (file, "RTL_SSA insn_info=");
-	  pretty_printer pp;
-	  pp.buffer->stream = file;
-	  get_insn ()->print_full (&pp);
-	  pp_printf (&pp, "\n");
-	  pp_flush (&pp);
+	  fprintf (file, "The real INSN=");
+	  print_rtl_single (file, get_insn ()->rtl ());
 	}
       if (get_dirty_pat ())
 	{
diff --git a/gcc/config/riscv/riscv-vsetvl.h b/gcc/config/riscv/riscv-vsetvl.h
index ad9bb27cebf..6f27004fab1 100644
--- a/gcc/config/riscv/riscv-vsetvl.h
+++ b/gcc/config/riscv/riscv-vsetvl.h
@@ -125,6 +125,7 @@  private:
 
 public:
   avl_info () : m_value (NULL_RTX), m_source (nullptr) {}
+  avl_info (const avl_info &);
   avl_info (rtx, rtl_ssa::set_info *);
   rtx get_value () const { return m_value; }
   rtl_ssa::set_info *get_source () const { return m_source; }