* Re: RFA: patch to solve spec2006 degradation reported in 37243
[not found] <48B999DF.7080500@redhat.com>
@ 2008-09-03 20:17 ` Jeff Law
2008-09-03 20:25 ` Vladimir Makarov
0 siblings, 1 reply; 5+ messages in thread
From: Jeff Law @ 2008-09-03 20:17 UTC (permalink / raw)
To: Vladimir Makarov; +Cc: gcc-patches
Vladimir Makarov wrote:
> The following patch solves SPEC2006 degradation reported in PR37243.
> The analysis of the problem can be found in
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
>
> The patch was successfully bootstrapped and tested on x86_64.
>
> 2008-08-30 Vladimir Makarov <vmakarov@redhat.com>
>
> PR rtl-opt/37243
>
> * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
> all_allocnos.
>
> * ira-color.c (print_loop_title): Use all_allocnos.
> (color_pass): Ditto. Don't add border_allocnos. Check that
> subloop allocno in the correspdoning bitmap all_allocnos.
>
> * ira-emit.c (change_loop): Use all_allocnos.
>
> * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
> Ditto.
> (ira_create_allocno): Set up all_allocnos bit for the created
> allocno.
> (create_cap_allocno): Remove setting mentioned_allocnos.
> (create_insn_allocnos): Ditto.
> (remove_unnecessary_allocnos): Use all_allocnos.
> (check_allocno_creation): Check that allocnos are in the
> corresponding bitmap all_allocnos.
>
OK. Please install if you haven't done so already.
Thanks,
Jeff
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFA: patch to solve spec2006 degradation reported in 37243
2008-09-03 20:17 ` RFA: patch to solve spec2006 degradation reported in 37243 Jeff Law
@ 2008-09-03 20:25 ` Vladimir Makarov
2008-09-04 5:38 ` H.J. Lu
0 siblings, 1 reply; 5+ messages in thread
From: Vladimir Makarov @ 2008-09-03 20:25 UTC (permalink / raw)
To: Jeff Law; +Cc: gcc-patches, Kenneth Zadeck
Jeff Law wrote:
> Vladimir Makarov wrote:
>> The following patch solves SPEC2006 degradation reported in PR37243.
>> The analysis of the problem can be found in
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
>>
>> The patch was successfully bootstrapped and tested on x86_64.
>>
>> 2008-08-30 Vladimir Makarov <vmakarov@redhat.com>
>>
>> PR rtl-opt/37243
>>
>> * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
>> all_allocnos.
>>
>> * ira-color.c (print_loop_title): Use all_allocnos.
>> (color_pass): Ditto. Don't add border_allocnos. Check that
>> subloop allocno in the correspdoning bitmap all_allocnos.
>>
>> * ira-emit.c (change_loop): Use all_allocnos.
>>
>> * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
>> Ditto.
>> (ira_create_allocno): Set up all_allocnos bit for the created
>> allocno.
>> (create_cap_allocno): Remove setting mentioned_allocnos.
>> (create_insn_allocnos): Ditto.
>> (remove_unnecessary_allocnos): Use all_allocnos.
>> (check_allocno_creation): Check that allocnos are in the
>> corresponding bitmap all_allocnos.
>>
> OK. Please install if you haven't done so already.
Thanks. Done.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFA: patch to solve spec2006 degradation reported in 37243
2008-09-03 20:25 ` Vladimir Makarov
@ 2008-09-04 5:38 ` H.J. Lu
2008-09-04 15:39 ` Vladimir Makarov
2008-09-04 16:48 ` Jeff Law
0 siblings, 2 replies; 5+ messages in thread
From: H.J. Lu @ 2008-09-04 5:38 UTC (permalink / raw)
To: Vladimir Makarov; +Cc: Jeff Law, gcc-patches, Kenneth Zadeck
On Wed, Sep 03, 2008 at 04:22:20PM -0400, Vladimir Makarov wrote:
> Jeff Law wrote:
>> Vladimir Makarov wrote:
>>> The following patch solves SPEC2006 degradation reported in PR37243.
>>> The analysis of the problem can be found in
>>>
>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
>>>
>>> The patch was successfully bootstrapped and tested on x86_64.
>>>
>>> 2008-08-30 Vladimir Makarov <vmakarov@redhat.com>
>>>
>>> PR rtl-opt/37243
>>>
>>> * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
>>> all_allocnos.
>>>
>>> * ira-color.c (print_loop_title): Use all_allocnos.
>>> (color_pass): Ditto. Don't add border_allocnos. Check that
>>> subloop allocno in the correspdoning bitmap all_allocnos.
>>>
>>> * ira-emit.c (change_loop): Use all_allocnos.
>>>
>>> * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
>>> Ditto.
>>> (ira_create_allocno): Set up all_allocnos bit for the created
>>> allocno.
>>> (create_cap_allocno): Remove setting mentioned_allocnos.
>>> (create_insn_allocnos): Ditto.
>>> (remove_unnecessary_allocnos): Use all_allocnos.
>>> (check_allocno_creation): Check that allocnos are in the
>>> corresponding bitmap all_allocnos.
>>>
>> OK. Please install if you haven't done so already.
> Thanks. Done.
Here is the testcase for this bug. It failed at -O2 before the
fix was checked in. OK for trunk?
Thanks.
H.J.
---
2008-09-03 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/37243
* gfortran.dg/pr37243.f: New.
--- gcc/testsuite/gfortran.dg/pr37243.f.ira 2008-09-03 21:55:51.000000000 -0700
+++ gcc/testsuite/gfortran.dg/pr37243.f 2008-09-03 21:36:56.000000000 -0700
@@ -0,0 +1,61 @@
+! PR rtl-optimization/37243
+! { dg-do run }
+! Check if register allocator handles IR flattening correctly.
+ SUBROUTINE SCHMD(V,M,N,LDV)
+ IMPLICIT DOUBLE PRECISION(A-H,O-Z)
+ LOGICAL GOPARR,DSKWRK,MASWRK
+ DIMENSION V(LDV,N)
+ COMMON /IOFILE/ IR,IW,IP,IS,IPK,IDAF,NAV,IODA(400)
+ COMMON /PAR / ME,MASTER,NPROC,IBTYP,IPTIM,GOPARR,DSKWRK,MASWRK
+ PARAMETER (ZERO=0.0D+00, ONE=1.0D+00, TOL=1.0D-10)
+ IF (M .EQ. 0) GO TO 180
+ DO 160 I = 1,M
+ DUMI = ZERO
+ DO 100 K = 1,N
+ 100 DUMI = DUMI+V(K,I)*V(K,I)
+ DUMI = ONE/ SQRT(DUMI)
+ DO 120 K = 1,N
+ 120 V(K,I) = V(K,I)*DUMI
+ IF (I .EQ. M) GO TO 160
+ I1 = I+1
+ DO 140 J = I1,M
+ DUM = -DDOT(N,V(1,J),1,V(1,I),1)
+ CALL DAXPY(N,DUM,V(1,I),1,V(1,J),1)
+ 140 CONTINUE
+ 160 CONTINUE
+ IF (M .EQ. N) RETURN
+ 180 CONTINUE
+ I = M
+ J = 0
+ 200 I0 = I
+ I = I+1
+ IF (I .GT. N) RETURN
+ 220 J = J+1
+ IF (J .GT. N) GO TO 320
+ DO 240 K = 1,N
+ 240 V(K,I) = ZERO
+ CALL DAXPY(N,DUM,V(1,II),1,V(1,I),1)
+ 260 CONTINUE
+ DUMI = ZERO
+ DO 280 K = 1,N
+ 280 DUMI = DUMI+V(K,I)*V(K,I)
+ IF ( ABS(DUMI) .LT. TOL) GO TO 220
+ DO 300 K = 1,N
+ 300 V(K,I) = V(K,I)*DUMI
+ GO TO 200
+ 320 END
+ program main
+ DOUBLE PRECISION V
+ DIMENSION V(18, 18)
+ common // v
+
+ call schmd(V, 1, 18, 18)
+ end
+
+ subroutine DAXPY
+ end
+
+ FUNCTION DDOT ()
+ DOUBLE PRECISION DDOT
+ DDOT = 1
+ end
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFA: patch to solve spec2006 degradation reported in 37243
2008-09-04 5:38 ` H.J. Lu
@ 2008-09-04 15:39 ` Vladimir Makarov
2008-09-04 16:48 ` Jeff Law
1 sibling, 0 replies; 5+ messages in thread
From: Vladimir Makarov @ 2008-09-04 15:39 UTC (permalink / raw)
To: H.J. Lu; +Cc: Jeff Law, gcc-patches, Kenneth Zadeck
H.J. Lu wrote:
> On Wed, Sep 03, 2008 at 04:22:20PM -0400, Vladimir Makarov wrote:
>
>> Jeff Law wrote:
>>
>>> Vladimir Makarov wrote:
>>>
>>>> The following patch solves SPEC2006 degradation reported in PR37243.
>>>> The analysis of the problem can be found in
>>>>
>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
>>>>
>>>> The patch was successfully bootstrapped and tested on x86_64.
>>>>
>>>> 2008-08-30 Vladimir Makarov <vmakarov@redhat.com>
>>>>
>>>> PR rtl-opt/37243
>>>>
>>>> * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
>>>> all_allocnos.
>>>>
>>>> * ira-color.c (print_loop_title): Use all_allocnos.
>>>> (color_pass): Ditto. Don't add border_allocnos. Check that
>>>> subloop allocno in the correspdoning bitmap all_allocnos.
>>>>
>>>> * ira-emit.c (change_loop): Use all_allocnos.
>>>>
>>>> * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
>>>> Ditto.
>>>> (ira_create_allocno): Set up all_allocnos bit for the created
>>>> allocno.
>>>> (create_cap_allocno): Remove setting mentioned_allocnos.
>>>> (create_insn_allocnos): Ditto.
>>>> (remove_unnecessary_allocnos): Use all_allocnos.
>>>> (check_allocno_creation): Check that allocnos are in the
>>>> corresponding bitmap all_allocnos.
>>>>
>>>>
>>> OK. Please install if you haven't done so already.
>>>
>> Thanks. Done.
>>
>
> Here is the testcase for this bug. It failed at -O2 before the
> fix was checked in. OK for trunk?
>
>
> 2008-09-03 H.J. Lu <hongjiu.lu@intel.com>
>
> PR rtl-optimization/37243
> * gfortran.dg/pr37243.f: New.
>
>
>
Thanks, H.J. It looks ok to me to commit to the trunk. That was a
really good test for IRA. I should have added it the first time.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFA: patch to solve spec2006 degradation reported in 37243
2008-09-04 5:38 ` H.J. Lu
2008-09-04 15:39 ` Vladimir Makarov
@ 2008-09-04 16:48 ` Jeff Law
1 sibling, 0 replies; 5+ messages in thread
From: Jeff Law @ 2008-09-04 16:48 UTC (permalink / raw)
To: H.J. Lu; +Cc: Vladimir Makarov, gcc-patches, Kenneth Zadeck
H.J. Lu wrote:
> On Wed, Sep 03, 2008 at 04:22:20PM -0400, Vladimir Makarov wrote:
>
>> Jeff Law wrote:
>>
>>> Vladimir Makarov wrote:
>>>
>>>> The following patch solves SPEC2006 degradation reported in PR37243.
>>>> The analysis of the problem can be found in
>>>>
>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243
>>>>
>>>> The patch was successfully bootstrapped and tested on x86_64.
>>>>
>>>> 2008-08-30 Vladimir Makarov <vmakarov@redhat.com>
>>>>
>>>> PR rtl-opt/37243
>>>>
>>>> * ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
>>>> all_allocnos.
>>>>
>>>> * ira-color.c (print_loop_title): Use all_allocnos.
>>>> (color_pass): Ditto. Don't add border_allocnos. Check that
>>>> subloop allocno in the correspdoning bitmap all_allocnos.
>>>>
>>>> * ira-emit.c (change_loop): Use all_allocnos.
>>>>
>>>> * ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
>>>> Ditto.
>>>> (ira_create_allocno): Set up all_allocnos bit for the created
>>>> allocno.
>>>> (create_cap_allocno): Remove setting mentioned_allocnos.
>>>> (create_insn_allocnos): Ditto.
>>>> (remove_unnecessary_allocnos): Use all_allocnos.
>>>> (check_allocno_creation): Check that allocnos are in the
>>>> corresponding bitmap all_allocnos.
>>>>
>>>>
>>> OK. Please install if you haven't done so already.
>>>
>> Thanks. Done.
>>
>
> Here is the testcase for this bug. It failed at -O2 before the
> fix was checked in. OK for trunk?
>
> Thanks.
>
>
> H.J.
> ---
> 2008-09-03 H.J. Lu <hongjiu.lu@intel.com>
>
> PR rtl-optimization/37243
> * gfortran.dg/pr37243.f: New.
>
OK. Please install if you haven't already.
Thanks,
Jeff
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-09-04 16:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <48B999DF.7080500@redhat.com>
2008-09-03 20:17 ` RFA: patch to solve spec2006 degradation reported in 37243 Jeff Law
2008-09-03 20:25 ` Vladimir Makarov
2008-09-04 5:38 ` H.J. Lu
2008-09-04 15:39 ` Vladimir Makarov
2008-09-04 16:48 ` 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).