[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2010-01-02 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2010-01-02 11:18 ---
You may also want to try -fsched-pressure -fschedule-insns which is new
in GCC 4.5 and might decrease register pressure (no idea if it ever moves
things into loops though - the haifa scheduler might not consider it a
region to work on).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2010-01-01 Thread steven at gcc dot gnu dot org


--- Comment #7 from steven at gcc dot gnu dot org  2010-01-02 00:49 ---
With "GCC: (GNU) 4.5.0 20090808 (experimental) [trunk revision 150579]" I get:

.arch armv5te
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 1
.eabi_attribute 30, 4
.eabi_attribute 18, 4
.code   16
.file   "t.c"
.text
.align  1
.global test
.code   16
.thumb_func
.type   test, %function
test:
push{r3, r4, r5, r6, r7, lr}
ldr r3, .L7
ldr r5, .L7+4
.LPIC0:
add r3, pc
add r5, r3, r5
mov r7, r5
mov r4, r0
ldr r6, [r0]
add r7, r7, #8
b   .L2
.L4:
ldr r1, [r4, #4]
ldrbr3, [r1]
cmp r3, #0
bne .L5
mov r3, r5
b   .L3
.L5:
add r3, r5, #4
.L3:
add r1, r1, r6
mov r0, r7
mov r2, r6
bl  func
ldr r3, [r4]
sub r3, r3, #1
str r3, [r4]
.L2:
ldr r3, [r4]
cmp r3, #0
bge .L4
@ sp needed for prologue
pop {r3, r4, r5, r6, r7, pc}
.L8:
   .align  2
.L7:
.word   _GLOBAL_OFFSET_TABLE_-(.LPIC0+4)
.word   .LANCHOR0(GOTOFF)
.size   test, .-test
.section.rodata
.set.LANCHOR0,. + 0
.LC0:
.ascii  "xyz\000"
.LC1:
.ascii  "pqr\000"
.LC2:
.ascii  "abcde\000"
.ident  "GCC: (GNU) 4.5.0 20090808 (experimental) [trunk revision
150579]"


I have no idea whether that is better or worse. Alexander, could you give this
a look please?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-08-04 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-08-04 12:30 ---
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.3.4   |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-06-22 Thread steven at gcc dot gnu dot org


--- Comment #5 from steven at gcc dot gnu dot org  2009-06-22 16:29 ---
How is this different from bug 39837?


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||16996
  nThis||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-06-15 Thread bonzini at gnu dot org


--- Comment #4 from bonzini at gnu dot org  2009-06-15 16:26 ---
Someone can please check if this is still a problem in 4.5?


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-05-20 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-05-20 14:17:11
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-04-22 Thread vmakarov at redhat dot com


--- Comment #3 from vmakarov at redhat dot com  2009-04-22 20:37 ---
Actually YARA did not have a rematerialization as IRA.  Reload has a primitive
rematerialization of constant values.

Although about 5 years I did implemented a register pressure relief through
rematerialization which is close to Simpson's thesis.  It was reported on the
2nd GCC summit.  I had a mixed feeling about this: wrong register pressure
calculation (because we have not cover classes at that time), small improvement
but a few additional percents to compilation time.

Probably it is time to return to this and make it optional or default which
will eat a chunk of your recent 5% compilation time improvement :)  I'll try to
include this in my plans.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-04-22 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-04-22 13:39 ---
Vlad, with YARA you had implemented rematerialization, right?  How difficult is
it to do the same with IRA for cases like this?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||vmakarov at redhat dot com
   Priority|P3  |P2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839



[Bug tree-optimization/39839] [4.3/4.4/4.5 regression] loop invariant motion causes stack spill

2009-04-22 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-04-22 09:39 ---
Implement re-materialization in reload.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|regression  |tree-optimization
   Keywords||missed-optimization
   Target Milestone|--- |4.3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39839