RISC-V: Fix dump FILE of VSETVL PASS[PR111311]
Checks
Commit Message
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:
* 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 | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Comments
LGTM
Juzhe-Zhong <juzhe.zhong@rivai.ai> 於 2023年9月10日 週日 07:58 寫道:
> 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:
>
> * 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 | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/gcc/config/riscv/riscv-vsetvl.cc
> b/gcc/config/riscv/riscv-vsetvl.cc
> index ae362a3f6a8..134b97737ae 100644
> --- a/gcc/config/riscv/riscv-vsetvl.cc
> +++ b/gcc/config/riscv/riscv-vsetvl.cc
> @@ -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. */
> --
> 2.36.3
>
>
Committed, thanks Kito.
Pan
-----Original Message-----
From: Gcc-patches <gcc-patches-bounces+pan2.li=intel.com@gcc.gnu.org> On Behalf Of Kito Cheng via Gcc-patches
Sent: Sunday, September 10, 2023 9:22 AM
To: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kito Cheng <kito.cheng@gmail.com>
Subject: Re: [PATCH] RISC-V: Fix dump FILE of VSETVL PASS[PR111311]
LGTM
Juzhe-Zhong <juzhe.zhong@rivai.ai> 於 2023年9月10日 週日 07:58 寫道:
> 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:
>
> * 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 | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/gcc/config/riscv/riscv-vsetvl.cc
> b/gcc/config/riscv/riscv-vsetvl.cc
> index ae362a3f6a8..134b97737ae 100644
> --- a/gcc/config/riscv/riscv-vsetvl.cc
> +++ b/gcc/config/riscv/riscv-vsetvl.cc
> @@ -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. */
> --
> 2.36.3
>
>
@@ -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. */