[Bug other/25757] Small memory leak in 'prefix_from_string' of file 'collect2.c'

2008-06-16 Thread christophe dot jaillet at wanadoo dot fr


--- Comment #3 from christophe dot jaillet at wanadoo dot fr  2008-06-16 
19:50 ---
This has been fixed in revision 124532 on Sun Jul 15 11:45:30 2007 UTC.

(http://gcc.gnu.org/viewcvs/trunk/gcc/collect2.c?r1=124532r2=126653diff_format=h)


-- 

christophe dot jaillet at wanadoo dot fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/11832] Optimization of common code in switch statements

2006-07-14 Thread christophe dot jaillet at wanadoo dot fr


--- Comment #2 from christophe dot jaillet at wanadoo dot fr  2006-07-14 
21:11 ---
I tried to compile it on my cygwin box and had a strange (and certainly
unrelated) behaviour :

gcc -O3 test.c -S
Version 3.4.4 (must be the latest version available on cygwin :()

Description : the case 1 is tested in two times. First =2 then == 1. I think
that it is useless and that if 
cmpl$2, %ebx
jle L9
was turned into
cmpl$1,%ebx
je  L9
the second test after L9: would be useless.

See code below.

.file   test.c
.def___main;.scl2;  .type   32; .endef
.text
.p2align 4,,15
.globl _main
.def_main;  .scl2;  .type   32; .endef
_main:
pushl   %ebp
movl$16, %eax
movl%esp, %ebp
pushl   %ebx
subl$4, %esp
andl$-16, %esp
call__alloca
call___main
cmpl$2, %ebx
je  L4
cmpl$2, %ebx
jle L9   == every thing = 2
cmpl$3, %ebx
je  L10
L6:
movb$13, (%ebx)
xorl%eax, %eax
movb$13, 1(%ebx)
movb$13, 2(%ebx)
movb$13, 3(%ebx)
movl-4(%ebp), %ebx
leave
ret
.p2align 4,,7
L9:
cmpl$1, %ebx == Now comparaison against 1 is done !
jne L6
movb$13, (%ebx)
xorl%eax, %eax
movl-4(%ebp), %ebx
leave
ret
.p2align 4,,7
L4:
movb$13, (%ebx)
xorl%eax, %eax
movb$13, 1(%ebx)
movl-4(%ebp), %ebx
leave
ret
.p2align 4,,7
L10:
movb$13, (%ebx)
xorl%eax, %eax
movb$13, 1(%ebx)
movb$13, 2(%ebx)
movl-4(%ebp), %ebx
leave
ret


-- 


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



[Bug target/27077] [x86, 4.1] builtin strlen poor performance

2006-06-01 Thread christophe dot jaillet at wanadoo dot fr


--- Comment #3 from christophe dot jaillet at wanadoo dot fr  2006-06-01 
21:37 ---
On my AMD Athlon and current HEAD and, I have other results, i.e. 2 or 3 times
FASTER :

(using your 19 bytes long 'aaa..' string)

stringfrom
lengthbuiltin library
  (-O2)   (-fno-builtin -O2)

190.4841.172


-- 


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



[Bug other/25757] Small memory leak in 'prefix_from_string' of file 'collect2.c'

2006-01-22 Thread christophe dot jaillet at wanadoo dot fr


--- Comment #2 from christophe dot jaillet at wanadoo dot fr  2006-01-22 
15:35 ---
Created an attachment (id=10704)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10704action=view)
patch to correct the memory leak

Correct the memory leak describded.

Bootstrapped against i686-pc-cygwin OK.


-- 


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



[Bug other/25757] New: Small memory leak in 'prefix_from_string' of file 'collect2.c'

2006-01-11 Thread christophe dot jaillet at wanadoo dot fr
In function 'prefix_from_string' of file 'collect2.c', a variable 'nstore' is
xmalloc'ed.

This variable is passed to 'add_prefix' where it is xstrdup'ed.

But the variable nstore itself seems to never be free'ed.
So, I think that a 'free(nstore)' should be added at the end of the function.

CJ


-- 
   Summary: Small memory leak in 'prefix_from_string' of file
'collect2.c'
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christophe dot jaillet at wanadoo dot fr


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



[Bug rtl-optimization/20219] New: Missed optimisation sin / tan -- cos

2005-02-25 Thread christophe dot jaillet at wanadoo dot fr
GCC knows how to optimise
tan * cos -- sin   (fold-const line 7734)
cos * tan -- sin
sin / cos -- tan   (fold-const line 8080)
cos / sin -- 1.0 / tan (fold-const line 8094)

but misses
sin / tan -- cos
tan / sin -- 1.0 / cos

-- 
   Summary: Missed optimisation sin / tan -- cos
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christophe dot jaillet at wanadoo dot fr
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c/19832] New: Missed optimisation

2005-02-08 Thread christophe dot jaillet at wanadoo dot fr
According to Andrew Pinski , the following patch is useless because gcc should 
be able to find the optimisation by itself.



Description : function preferable in cse.c can be simplified if we notice
that, at the end of the function :
   if (regcost_a != regcost_b)
 return regcost_a - regcost_b;
   return 0;

So, if regcost_a == regcost_b, we return 0, but in this case (regcost_a -
regcost_b) is also = 0.
There is no need for the test, and (return regcost_a - regcost_b;) wins in
all cases.



This patch remove 3 572 566 useless tests (if regcost_a != regcost_b) when
doing a full bootstrap.



Bootstrap on a cygwin machine based on snapshot from 20050130.


2005-02-08  Christophe Jaillet [EMAIL PROTECTED]

* cse.c (preferable): simplify last test to speed up



*** gcc-4.0-20050130/gcc/cse.c Tue Feb  8 23:39:30 2005
--- my_patch/cse.c Tue Feb  8 23:55:02 2005
*** preferable (int cost_a, int regcost_a, i
*** 836,845 
/* Normal operation costs take precedence.  */
if (cost_a != cost_b)
  return cost_a - cost_b;
/* Only if these are identical consider effects on register pressure.
*/
!   if (regcost_a != regcost_b)
! return regcost_a - regcost_b;
!   return 0;
  }

  /* Internal function, to compute cost when X is not a register; called
--- 836,844 
/* Normal operation costs take precedence.  */
if (cost_a != cost_b)
  return cost_a - cost_b;
+
/* Only if these are identical consider effects on register pressure.
*/
!   return regcost_a - regcost_b;
  }

  /* Internal function, to compute cost when X is not a register; called

-- 
   Summary: Missed optimisation
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christophe dot jaillet at wanadoo dot fr
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug other/19615] New: Strange syntax in generated file insn-attrab.c

2005-01-24 Thread christophe dot jaillet at wanadoo dot fr
More a question than a bug.

In i386.md, around line 243, we can find :
 (symbol_ref /* Update immediate_length and other attributes! */
  abort(),1)))

These lines generate the following code in insn-attrab.c
  return /* Update immediate_length and other attributes! */
  abort(),1;


I have really no idea if it is correct or not, but the syntax seems strange. So 
I point it out to your attention, just in case of...

CJ

-- 
   Summary: Strange syntax in generated file insn-attrab.c
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christophe dot jaillet at wanadoo dot fr
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug other/18186] New: Spelling error

2004-10-27 Thread christophe dot jaillet at wanadoo dot fr
In option.c, optionlist and common.opt the word parameter is 
written paramter (e between m and t is missing).

It shows up on the first lines when doing a cc1 --version | less

-- 
   Summary: Spelling error
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: christophe dot jaillet at wanadoo dot fr
CC: gcc-bugs at gcc dot gnu dot org


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