public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] regrename: Skip renaming if instruction is noop move.
@ 2021-11-16 11:44 Jojo R
  2021-11-16 12:12 ` Richard Biener
  0 siblings, 1 reply; 11+ messages in thread
From: Jojo R @ 2021-11-16 11:44 UTC (permalink / raw)
  To: gcc-patches, rjiejie

Skip renaming if instruction is noop move, and it will
been removed for performance.

gcc/
	* regrename.c (find_rename_reg): Return satisfied regno
	if instruction is noop move.
---
 gcc/regrename.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/regrename.c b/gcc/regrename.c
index b8a9ca36f22..cb605f5176b 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -394,6 +394,9 @@ find_rename_reg (du_head_p this_head, enum reg_class super_class,
 			  this_head, *unavailable))
     return this_head->tied_chain->regno;
 
+  if (noop_move_p (this_head->first->insn))
+    return best_new_reg;
+
   /* If PREFERRED_CLASS is not NO_REGS, we iterate in the first pass
      over registers that belong to PREFERRED_CLASS and try to find the
      best register within the class.  If that failed, we iterate in
-- 
2.24.3 (Apple Git-128)


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [PATCH v2] regrename: Skip renaming if instruction is noop move.
@ 2021-12-03  3:35 Jojo R
  0 siblings, 0 replies; 11+ messages in thread
From: Jojo R @ 2021-12-03  3:35 UTC (permalink / raw)
  To: rjiejie, gcc-patches, jeffreyalaw, richard.guenther, kito.cheng

Skip renaming if instruction is noop move, and it will
been removed for performance.

gcc/
	* regrename.c (find_rename_reg): Return satisfied regno
	if instruction is noop move.
---
 gcc/regrename.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/regrename.c b/gcc/regrename.c
index b8a9ca36f22..fe72fcc3624 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -394,6 +394,11 @@ find_rename_reg (du_head_p this_head, enum reg_class super_class,
 			  this_head, *unavailable))
     return this_head->tied_chain->regno;
 
+  /* If this insn is a noop move, then do not rename in this chain as doing so
+     would inhibit removal of the noop move.  */
+  if (noop_move_p (this_head->first->insn))
+    return best_new_reg;
+
   /* If PREFERRED_CLASS is not NO_REGS, we iterate in the first pass
      over registers that belong to PREFERRED_CLASS and try to find the
      best register within the class.  If that failed, we iterate in
-- 
2.24.3 (Apple Git-128)


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-12-14 21:56 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16 11:44 [PATCH] regrename: Skip renaming if instruction is noop move Jojo R
2021-11-16 12:12 ` Richard Biener
2021-11-17  2:20   ` Jojo R
2021-11-18 16:13     ` Jeff Law
2021-11-19  6:23       ` Jojo R
2021-12-02 18:24         ` Jeff Law
2021-12-03  4:26           ` [PATCH v2] " Jojo R
2021-12-03 14:57             ` Jeff Law
2021-12-14  1:40               ` Jojo R
2021-12-14 21:56                 ` Jeff Law
2021-12-03  3:35 Jojo R

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).