RISC-V: Fix ICE for avl_info deprecated copy and pp_print error.
Checks
Commit Message
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
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.
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."
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."
>
@@ -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 ())
{
@@ -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; }