[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-07-03 Thread sayle at gcc dot gnu dot org


--- Comment #7 from sayle at gcc dot gnu dot org  2006-07-03 14:35 ---
Subject: Bug 26251

Author: sayle
Date: Mon Jul  3 14:35:13 2006
New Revision: 115150

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=115150
Log:

PR tree-optimization/26251
* tree-ssa-threadupdate.c (redirection_block_p): New function.
(thread_block): When optimizing for size refuse to thread jumps
that would require duplication of blocks other than redirection
blocks.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-threadupdate.c


-- 


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-07-03 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-07-03 20:51 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-06-04 Thread steven at gcc dot gnu dot org


--- Comment #6 from steven at gcc dot gnu dot org  2006-06-04 09:32 ---
This should have a higher priority than P3 IMHO.


-- 


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-06-04 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-05-21 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-05-21 20:23 ---
Jeff any thoughts about this bug since it was caused by your patch?


-- 


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-02-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-13 02:16 ---
Confirmed, this happens in the last VRP pass.
Mainly:
  Threaded jump 2 -- 3 to 6


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||law at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2006-02-13 02:16:52
   date||
Summary|code size increase with -Os |[4.2 Regression] code size
   ||increase with -Os
   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-02-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-13 02:19 ---
This might be the reason for the slight code size increase with CSiBE:
http://www.inf.u-szeged.hu/csibe/l-sbs.php?branchid=mainlineflags=-Osrel_flag=--none--dataview=Timelinefinish_button=Finish
between the 7th and the 8th.


-- 


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-02-12 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-02-13 02:28 ---
The difference in IV selection causes this bug to show up.
on Powerpc if I use -fno-ivopts, I can reproduce this jump threading.


-- 


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



[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os

2006-02-12 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #4 from dann at godzilla dot ics dot uci dot edu  2006-02-13 
02:34 ---
Here's another testcase of what seems to be the same problem. 
The 4.2 assembly contains 2 calls for TabSet, 4.0 only has 1.
(both this and the first example are function from xterm in case anybody
wonders)

typedef unsigned Tabs [10];
void TabSet(Tabs tabs, int col);

void
TabReset(Tabs tabs)
{
  int i;

  for (i = 0; i  10; ++i)
tabs[i] = 0;

  for (i = 0; i  ((1  5) * 10); i += 8)
TabSet(tabs, i);
}

void
TabSet(Tabs tabs, int col)
{
  tabs[((col)  5)] |= (1  ((col)  ((1  5)-1)));
}


4.2 assembly:

TabReset:
pushl   %ebp
movl$2, %eax
movl%esp, %ebp
pushl   %esi
movl8(%ebp), %esi
pushl   %ebx
movl$0, (%esi)
.L4:
movl$0, -4(%esi,%eax,4)
incl%eax
cmpl$11, %eax
jne .L4
pushl   $0
movl$8, %ebx
pushl   %esi
callTabSet
popl%ecx
popl%eax
.L6:
pushl   %ebx
addl$8, %ebx
pushl   %esi
callTabSet
cmpl$320, %ebx
popl%eax
popl%edx
jne .L6
leal-8(%ebp), %esp
popl%ebx
popl%esi
popl%ebp
ret


-- 


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