]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Fix dump FILE of VSETVL PASS[PR111311]
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Sat, 9 Sep 2023 23:57:44 +0000 (07:57 +0800)
committerPan Li <pan2.li@intel.com>
Sun, 10 Sep 2023 02:12:37 +0000 (10:12 +0800)
To make the dump FILE not too big, add TDF_DETAILS.

This patch fix these following FAILs in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311

FAIL: gcc.c-torture/unsorted/dump-noaddr.c.*r.vsetvl,  -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  comparison
FAIL: gcc.c-torture/unsorted/dump-noaddr.c.*r.vsetvl,  -O3 -g  comparison

gcc/ChangeLog:

PR target/111311
* config/riscv/riscv-vsetvl.cc (pass_vsetvl::vsetvl_fusion): Add TDF_DETAILS.
(pass_vsetvl::pre_vsetvl): Ditto.
(pass_vsetvl::init): Ditto.
(pass_vsetvl::lazy_vsetvl): Ditto.

gcc/config/riscv/riscv-vsetvl.cc

index ae362a3f6a8c4f0785d564da4f905cd733b19925..134b97737ae596bb9b7ebe73db93311f528477e4 100644 (file)
@@ -3438,7 +3438,7 @@ pass_vsetvl::vsetvl_fusion (void)
                        m_vector_manager->vector_kill,
                        m_vector_manager->vector_earliest);
       changed_p |= earliest_fusion ();
-      if (dump_file)
+      if (dump_file && (dump_flags & TDF_DETAILS))
        {
          fprintf (dump_file, "\nEARLIEST fusion %d\n", fusion_no);
          m_vector_manager->dump (dump_file);
@@ -3720,7 +3720,7 @@ pass_vsetvl::pre_vsetvl (void)
 
   /* We should dump the information before CFG is changed. Otherwise it will
      produce ICE (internal compiler error).  */
-  if (dump_file)
+  if (dump_file && (dump_flags & TDF_DETAILS))
     m_vector_manager->dump (dump_file);
 
   refine_vsetvls ();
@@ -4250,7 +4250,7 @@ pass_vsetvl::init (void)
   m_vector_manager = new vector_infos_manager ();
   compute_probabilities ();
 
-  if (dump_file)
+  if (dump_file && (dump_flags & TDF_DETAILS))
     {
       fprintf (dump_file, "\nPrologue: Initialize vector infos\n");
       m_vector_manager->dump (dump_file);
@@ -4334,7 +4334,7 @@ pass_vsetvl::lazy_vsetvl (void)
     fprintf (dump_file, "\nPhase 1: Compute local backward vector infos\n");
   for (const bb_info *bb : crtl->ssa->bbs ())
     compute_local_backward_infos (bb);
-  if (dump_file)
+  if (dump_file && (dump_flags & TDF_DETAILS))
     m_vector_manager->dump (dump_file);
 
   /* Phase 2 - Emit vsetvl instructions within each basic block according to
@@ -4344,7 +4344,7 @@ pass_vsetvl::lazy_vsetvl (void)
             "\nPhase 2: Emit vsetvl instruction within each block\n");
   for (const bb_info *bb : crtl->ssa->bbs ())
     emit_local_forward_vsetvls (bb);
-  if (dump_file)
+  if (dump_file && (dump_flags & TDF_DETAILS))
     m_vector_manager->dump (dump_file);
 
   /* Phase 3 - Propagate demanded info across blocks.  */