[Bug tree-optimization/26251] [4.2 Regression] code size increase with -Os
--- 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
--- 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
--- 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
-- 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
--- 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
--- 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
--- 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
--- 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
--- 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