* [PATCH] RISC-V: Add function comment for cleanup_insns.
@ 2023-04-23 11:33 juzhe.zhong
2023-04-24 6:25 ` Kito Cheng
0 siblings, 1 reply; 2+ messages in thread
From: juzhe.zhong @ 2023-04-23 11:33 UTC (permalink / raw)
To: gcc-patches; +Cc: kito.cheng, palmer, jeffreyalaw, Juzhe-Zhong
From: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Address Jeff's comment: https://patchwork.sourceware.org/project/gcc/patch/20230330012804.110539-1-juzhe.zhong@rivai.ai/
Add a function comment.
gcc/ChangeLog:
* config/riscv/riscv-vsetvl.cc (pass_vsetvl::pre_vsetvl): Add function comment for cleanup_insns.
---
gcc/config/riscv/riscv-vsetvl.cc | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc
index ac99028df43..fa68b8a0462 100644
--- a/gcc/config/riscv/riscv-vsetvl.cc
+++ b/gcc/config/riscv/riscv-vsetvl.cc
@@ -3998,6 +3998,21 @@ pass_vsetvl::pre_vsetvl (void)
commit_edge_insertions ();
}
+/* Before VSETVL PASS, RVV instructions pattern is depending on AVL operand
+ implicitly. Since we will emit VSETVL instruction and make RVV instructions
+ depending on VL/VTYPE global status registers, we remove the such AVL operand
+ in the RVV instructions pattern here in order to remove AVL dependencies when
+ AVL operand is a register operand.
+
+ Before the VSETVL PASS:
+ li a5,32
+ ...
+ vadd.vv (..., a5)
+ After the VSETVL PASS:
+ li a5,32
+ vsetvli zero, a5, ...
+ ...
+ vadd.vv (..., const_int 0). */
void
pass_vsetvl::cleanup_insns (void) const
{
--
2.36.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] RISC-V: Add function comment for cleanup_insns.
2023-04-23 11:33 [PATCH] RISC-V: Add function comment for cleanup_insns juzhe.zhong
@ 2023-04-24 6:25 ` Kito Cheng
0 siblings, 0 replies; 2+ messages in thread
From: Kito Cheng @ 2023-04-24 6:25 UTC (permalink / raw)
To: juzhe.zhong; +Cc: gcc-patches, palmer, jeffreyalaw
Pushed
On Sun, Apr 23, 2023 at 7:34 PM <juzhe.zhong@rivai.ai> wrote:
>
> From: Juzhe-Zhong <juzhe.zhong@rivai.ai>
>
> Address Jeff's comment: https://patchwork.sourceware.org/project/gcc/patch/20230330012804.110539-1-juzhe.zhong@rivai.ai/
> Add a function comment.
>
> gcc/ChangeLog:
>
> * config/riscv/riscv-vsetvl.cc (pass_vsetvl::pre_vsetvl): Add function comment for cleanup_insns.
>
> ---
> gcc/config/riscv/riscv-vsetvl.cc | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc
> index ac99028df43..fa68b8a0462 100644
> --- a/gcc/config/riscv/riscv-vsetvl.cc
> +++ b/gcc/config/riscv/riscv-vsetvl.cc
> @@ -3998,6 +3998,21 @@ pass_vsetvl::pre_vsetvl (void)
> commit_edge_insertions ();
> }
>
> +/* Before VSETVL PASS, RVV instructions pattern is depending on AVL operand
> + implicitly. Since we will emit VSETVL instruction and make RVV instructions
> + depending on VL/VTYPE global status registers, we remove the such AVL operand
> + in the RVV instructions pattern here in order to remove AVL dependencies when
> + AVL operand is a register operand.
> +
> + Before the VSETVL PASS:
> + li a5,32
> + ...
> + vadd.vv (..., a5)
> + After the VSETVL PASS:
> + li a5,32
> + vsetvli zero, a5, ...
> + ...
> + vadd.vv (..., const_int 0). */
> void
> pass_vsetvl::cleanup_insns (void) const
> {
> --
> 2.36.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-24 6:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-23 11:33 [PATCH] RISC-V: Add function comment for cleanup_insns juzhe.zhong
2023-04-24 6:25 ` Kito Cheng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).