public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening
@ 2014-12-22  7:54 Zhouyi Zhou
  2014-12-22 16:56 ` Jeff Law
  0 siblings, 1 reply; 4+ messages in thread
From: Zhouyi Zhou @ 2014-12-22  7:54 UTC (permalink / raw)
  To: gcc-patches; +Cc: Zhouyi Zhou

In function ira_flattening, conflict relationship will be rebuilt in case
of any new pseudo register has been created during ira_emit.

By adding the current object to OBJECTS_LIVE after traversing OBJECTS_LIVE, a conflict
obj compare can be saved.


Bootstraped and regtested in x86_64 Linux 
Signed-off-by: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
---
 gcc/ChangeLog   |    5 +++++
 gcc/ira-build.c |    2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e5d16f9..c0ce758 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-22  Zhouyi Zhou <yizhouzhou@ict.ac.cn>
+
+	* ira-build.c (ira_flattening): Add the current
+	object to OBJECTS_LIVE after traversing OBJECTS_LIVE.
+	
 2014-12-17  Oleg Endo  <olegendo@gcc.gnu.org>
 
 	PR target/55212
diff --git a/gcc/ira-build.c b/gcc/ira-build.c
index af82b71..66318096 100644
--- a/gcc/ira-build.c
+++ b/gcc/ira-build.c
@@ -3252,7 +3252,6 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit)
 		continue;
 
 	      aclass = ALLOCNO_CLASS (a);
-	      sparseset_set_bit (objects_live, OBJECT_CONFLICT_ID (obj));
 	      EXECUTE_IF_SET_IN_SPARSESET (objects_live, n)
 		{
 		  ira_object_t live_obj = ira_object_id_map[n];
@@ -3264,6 +3263,7 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit)
 		      && live_a != a)
 		    ira_add_conflict (obj, live_obj);
 		}
+	      sparseset_set_bit (objects_live, OBJECT_CONFLICT_ID (obj));
 	    }
 
 	  for (r = ira_finish_point_ranges[i]; r != NULL; r = r->finish_next)
-- 
1.7.10.4

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

* Re: [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening
  2014-12-22  7:54 [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening Zhouyi Zhou
@ 2014-12-22 16:56 ` Jeff Law
  2014-12-23 11:22   ` Zhouyi Zhou
  0 siblings, 1 reply; 4+ messages in thread
From: Jeff Law @ 2014-12-22 16:56 UTC (permalink / raw)
  To: Zhouyi Zhou, gcc-patches; +Cc: Zhouyi Zhou

On 12/21/14 23:34, Zhouyi Zhou wrote:
> In function ira_flattening, conflict relationship will be rebuilt in case
> of any new pseudo register has been created during ira_emit.
>
> By adding the current object to OBJECTS_LIVE after traversing OBJECTS_LIVE, a conflict
> obj compare can be saved.
>
>
> Bootstraped and regtested in x86_64 Linux
> Signed-off-by: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
> ---
>   gcc/ChangeLog   |    5 +++++
>   gcc/ira-build.c |    2 +-
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index e5d16f9..c0ce758 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,8 @@
> +2014-12-22  Zhouyi Zhou <yizhouzhou@ict.ac.cn>
> +
> +	* ira-build.c (ira_flattening): Add the current
> +	object to OBJECTS_LIVE after traversing OBJECTS_LIVE.
This is OK.  Please install on the trunk.

Thanks,
Jeff

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

* Re: Re: [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening
  2014-12-22 16:56 ` Jeff Law
@ 2014-12-23 11:22   ` Zhouyi Zhou
  2014-12-23 19:49     ` Jeff Law
  0 siblings, 1 reply; 4+ messages in thread
From: Zhouyi Zhou @ 2014-12-23 11:22 UTC (permalink / raw)
  To: Jeff Law; +Cc: Zhouyi Zhou, gcc-patches

Thanks Jeff for reviewing,
I forget to mention that I do not have write access
to gcc. 
Can you install for me ?
Cheers 
Zhouyi

> -----Original Messages-----
> From: "Jeff Law" <law@redhat.com>
> Sent Time: Tuesday, December 23, 2014
> To: "Zhouyi Zhou" <zhouzhouyi@gmail.com>, gcc-patches@gcc.gnu.org
> Cc: "Zhouyi Zhou" <yizhouzhou@ict.ac.cn>
> Subject: Re: [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening
> 
> On 12/21/14 23:34, Zhouyi Zhou wrote:
> > In function ira_flattening, conflict relationship will be rebuilt in case
> > of any new pseudo register has been created during ira_emit.
> >
> > By adding the current object to OBJECTS_LIVE after traversing OBJECTS_LIVE, a conflict
> > obj compare can be saved.
> >
> >
> > Bootstraped and regtested in x86_64 Linux
> > Signed-off-by: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
> > ---
> >   gcc/ChangeLog   |    5 +++++
> >   gcc/ira-build.c |    2 +-
> >   2 files changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> > index e5d16f9..c0ce758 100644
> > --- a/gcc/ChangeLog
> > +++ b/gcc/ChangeLog
> > @@ -1,3 +1,8 @@
> > +2014-12-22  Zhouyi Zhou <yizhouzhou@ict.ac.cn>
> > +
> > +	* ira-build.c (ira_flattening): Add the current
> > +	object to OBJECTS_LIVE after traversing OBJECTS_LIVE.
> This is OK.  Please install on the trunk.
> 
> Thanks,
> Jeff
> 




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

* Re: [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening
  2014-12-23 11:22   ` Zhouyi Zhou
@ 2014-12-23 19:49     ` Jeff Law
  0 siblings, 0 replies; 4+ messages in thread
From: Jeff Law @ 2014-12-23 19:49 UTC (permalink / raw)
  To: Zhouyi Zhou; +Cc: Zhouyi Zhou, gcc-patches

On 12/22/14 18:28, Zhouyi Zhou wrote:
> Thanks Jeff for reviewing,
> I forget to mention that I do not have write access
> to gcc.
> Can you install for me ?
Done.  Thanks,
Jeff

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

end of thread, other threads:[~2014-12-23 19:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-22  7:54 [PATCH 1/1] gcc/ira-build.c: save a conflict obj compare in ira_flattening Zhouyi Zhou
2014-12-22 16:56 ` Jeff Law
2014-12-23 11:22   ` Zhouyi Zhou
2014-12-23 19:49     ` Jeff Law

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