From 12b23c718cd29924a18e8cdd6790a9c04801c5f5 Mon Sep 17 00:00:00 2001 From: Ju-Zhe Zhong Date: Fri, 23 Dec 2022 20:42:27 +0800 Subject: [PATCH] RISC-V: Fix ICE for avl_info deprecated copy and pp_print error. 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(-) diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc index 01530c1..a55b5a1 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 ad9bb27..6f27004 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; } -- 2.7.4