Re: bootstrap on powerpc fails

2006-11-09 Thread Paolo Bonzini
Maybe in another six years cpu improvements will outpace gcc bootstrap times enough to reconsider. We'll have 60 cores per CPU, and 1 minute after invoking "make" we'll be cursing how much it takes for insn-attrtab.c to finish compiling. :-) Paolo

Re: bootstrap on powerpc fails

2006-11-09 Thread Eric Botcazou
> I can sympathize with that, I have a slightly different problem. Right > now there are some java test that time-out 10x on solaris2.10. I run four > passes of the testsuite with different options each time, so that 40 > timeouts. (This is without any extra RTL checking turned on.) At 5 > minu

Re: bootstrap on powerpc fails

2006-11-09 Thread Eric Botcazou
> Figures? Tree checking is not cheap with GCC 4.x either. Here are mine (Athlon64 2.4 GHz, 1 GB, c,c++,objc,obj-c++,java,fortran,ada): gcc version 4.3.0 20061103 (experimental) assert,runtime (aka release): 115 min assert,runtime,misc:176 min asser

Re: Abt long long support

2006-11-09 Thread Mohamed Shafi
On 11/7/06, Mike Stump <[EMAIL PROTECTED]> wrote: On Nov 6, 2006, at 9:30 PM, Mohamed Shafi wrote: > My target (non gcc/private one) fails for long long testcases Does it work flawlessly otherwise, if not, fix all those problems first. After those are all fixed, then you can see if it then jus

Re: Obtaining type equivilance in C front end

2006-11-09 Thread Andrew Pinski
> > How do i determine if two type nodes in the C front end are equivilent? > In C++ i use same_type_p() but do not see an equivilant for the C front end. The function you want is comptypes. Thanks, Andrew Pinski

Re: Abt long long support

2006-11-09 Thread Mike Stump
On Nov 9, 2006, at 6:39 AM, Mohamed Shafi wrote: When i diff the rtl dumps for programs passing negative value with and without frame pointer i find changes from file.greg . And, is that change bad? We do expect changes in codegen, you didn't say if those changes are invalid, or what was in

Planned LTO driver work

2006-11-09 Thread Mark Mitchell
This message outlines a plan for modifying the GCC driver to support compilation in LTO mode. The goal is that: gcc --lto foo.c bar.o will generate LTO information for foo.c, while compiling it, then invoke the LTO front end for foo.o and bar.o, and then invoke the linker. However, as a first

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Joern RENNECKE
> I can dig out actual real live numbers, if you're curious. For example, when calling comptypes, the no answers are (were) 34x more likely than yes answers. If you cannot return false immediately when point_to_type1 != pointer_to_type2, you then have to run a structural equality tester, and on

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Joe Buck
On Thu, Nov 09, 2006 at 09:06:42PM +, Joern RENNECKE wrote: > > I can dig out actual real live numbers, if you're curious. For > example, when calling comptypes, the no answers are (were) 34x more > likely than yes answers. If you cannot return false immediately when > point_to_type1 != poin

Re: Obtaining type equivilance in C front end

2006-11-09 Thread Brendon Costa
The function you want is comptypes. Thanks. That is working well. Hi Brendon, Wouldn't the C++ one (mostly) be a superset of the C? Types are reasonably different between the C and C++ front ends though you do have the common ones because as you said, C++ is a superset of C. The C++

Re: Planned LTO driver work

2006-11-09 Thread Ian Lance Taylor
Mark Mitchell <[EMAIL PROTECTED]> writes: > 1. Add a --lto option to collect2. When collect2 sees this option, > treat all .o files as if they were .rpo files and recompile them. We > will do this after all C++ template instantiation has been done, since > we want to optimize the .o files after

gcc-4.0-20061109 is now available

2006-11-09 Thread gccadmin
Snapshot gcc-4.0-20061109 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-20061109/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.0 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches

Compile Farm for GCC developpers and free software developpers

2006-11-09 Thread Laurent GUERBY
Reminder: if you need access to x86 machines to run your boring batches or to test your software with GCC snapshots with even more boring batches, the GCC compile farm is for you: http://gcc.gnu.org/wiki/CompileFarm << GCC Compile Farm Project The GCC CompileFarm Project is seeking volunteers to

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 8, 2006, at 5:59 AM, Doug Gregor wrote: However, this approach could have some odd side effects when there are multiple mappings within one context. For instance, we could have something like: typedef int foo_t; typedef int bar_t; foo_t* x = strlen("oops"); x is a decl, the decl has

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 8, 2006, at 7:14 AM, Ian Lance Taylor wrote: The way to canonicalize them is to have all equivalent types point to a single canonical type for the equivalence set. The comparison is one memory dereference and one pointer comparison, not the current procedure of checking for structural equ

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Dale Johannesen
On Nov 9, 2006, at 4:54 PM, Mike Stump wrote: On Nov 8, 2006, at 7:14 AM, Ian Lance Taylor wrote: The way to canonicalize them is to have all equivalent types point to a single canonical type for the equivalence set. The comparison is one memory dereference and one pointer comparison, not the

Re: [m32c-elf] losing track of register lifetime in combine?

2006-11-09 Thread DJ Delorie
I compared the generated code with an equivalent explicit test, and discovered that gcc uses a separate rtx for the intermediate: i = 0xf; if (j >= 16) { int i2; i2 = i >> 8; i = i2 >> 8; j -= 16; } This seems to avoid the combiner problem, becuase you don't have the same

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Joe Buck
On Thu, Nov 09, 2006 at 04:54:23PM -0800, Mike Stump wrote: > Once not equal addresses might mean equal types, you have to do a > structure walk to compare types, and you're right back were we > started. Not quite. A structure walk is required to be certain of equality, but if inequality is t

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 9, 2006, at 1:06 PM, Joern RENNECKE wrote: I think in order to handle the C type system with the non-transitive type compatibility effectively, for each type we have to pre-compute the most general variant, even if that has no direct representative in the current program. The scheme you

Compile Farm for GCC developpers and free software developpers

2006-11-09 Thread Laurent GUERBY
Reminder: if you need access to x86 machines to run your boring batches or to test your software with GCC snapshots with even more boring batches, the GCC compile farm is for you: http://gcc.gnu.org/wiki/CompileFarm << GCC Compile Farm Project The GCC CompileFarm Project is seeking volunteers to

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 8, 2006, at 5:11 AM, Richard Kenner wrote: My confusion here is how can you "canonicalize" types that are different (meaning have different names) without messing up debug information. If you have: Foo xyz; typedef int Foo; TREE_TYPE (xyz) == int map(int, &TREE_TYPE (xyz))

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 9, 2006, at 5:00 PM, Dale Johannesen wrote: On Nov 9, 2006, at 4:54 PM, Mike Stump wrote: else if (p1->ptr_equality_suffices_for_this_type || p2- >ptr_equality_suffices_for_this_type) not equal else tree walk For trivial things, those things that are fast anyw

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Mike Stump
On Nov 9, 2006, at 5:11 PM, Joe Buck wrote: On Thu, Nov 09, 2006 at 04:54:23PM -0800, Mike Stump wrote: Once not equal addresses might mean equal types, you have to do a structure walk to compare types, and you're right back were we started. Not quite. Ah, you're right, thanks for spotting t

Re: Planned LTO driver work

2006-11-09 Thread Andrew Pinski
On Thu, 2006-11-09 at 12:32 -0800, Mark Mitchell wrote: > 1. Add a --lto option to collect2. When collect2 sees this option, > treat all .o files as if they were .rpo files and recompile them. We > will do this after all C++ template instantiation has been done, since > we want to optimize the .o

Re: Planned LTO driver work

2006-11-09 Thread Mark Mitchell
Andrew Pinski wrote: > On Thu, 2006-11-09 at 12:32 -0800, Mark Mitchell wrote: >> 1. Add a --lto option to collect2. When collect2 sees this option, >> treat all .o files as if they were .rpo files and recompile them. We >> will do this after all C++ template instantiation has been done, since >>

Re: Planned LTO driver work

2006-11-09 Thread Mark Mitchell
Ian Lance Taylor wrote: > Mark Mitchell <[EMAIL PROTECTED]> writes: > >> 1. Add a --lto option to collect2. When collect2 sees this option, >> treat all .o files as if they were .rpo files and recompile them. We >> will do this after all C++ template instantiation has been done, since >> we want

Re: Abt long long support

2006-11-09 Thread Mohamed Shafi
Thanks for the input and the questions Did you examine: long long l, k; l = -k; for correctness by itself? Was it valid or invalid? Yes this is working. [ read ahead for spoilers, I'd rather you pull this information out of the dump and present it to us... ] A quick glance at th

Getting "char" from INTEGER_TYPE node

2006-11-09 Thread Brendon Costa
I am having some trouble with getting type names as declared by the user in source. In particular if i have two functions: void Function(int i); void Function(char c); when processing the parameters i get an INTEGER_TYPE node in the parameter list for both function as expected, however IDENTI

cp_parser_parameter_declaration_clause

2006-11-09 Thread Sohail Somani
The function cp_parser_parameter_declaration_clause says that it returns NULL if the parameters are (...). However, there is a line of code that is: /* Parse the parameter-declaration-list. */ parameters = cp_parser_parameter_declaration_list (parser, &is_error); /* If a parse error occurre

Re: Planned LTO driver work

2006-11-09 Thread Ian Lance Taylor
Mark Mitchell <[EMAIL PROTECTED]> writes: > > I assume that in the long run, the gcc driver with --lto will invoke > > the LTO frontend rather than collect2. And that the LTO frontend will > > then open all the .o files which it is passed. > > Either that, or, at least, collect2 will invoke LTO

Re: Abt long long support

2006-11-09 Thread Ian Lance Taylor
"Mohamed Shafi" <[EMAIL PROTECTED]> writes: > and one more thing. In the dumps i noticed that before using a > register in DI mode they are all clobbred first, like > > (insn 30 54 28 6 (clobber (reg:DI 34)) -1 (nil) > (nil)) > > What is the use of this insns ... Why do we need to clobber th

Re: Canonical type nodes, or, comptypes considered harmful

2006-11-09 Thread Ian Lance Taylor
Mike Stump <[EMAIL PROTECTED]> writes: > On Nov 8, 2006, at 7:14 AM, Ian Lance Taylor wrote: > > The way to canonicalize them is to have all equivalent types point to > > a single canonical type for the equivalence set. The comparison is > > one memory dereference and one pointer comparison, not

Re: [m32c-elf] losing track of register lifetime in combine?

2006-11-09 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > I compared the generated code with an equivalent explicit test, > and discovered that gcc uses a separate rtx for the intermediate: > > i = 0xf; > if (j >= 16) > { > int i2; > i2 = i >> 8; > i = i2 >> 8; > j -= 16; > } > > This see

How to create both -option-name-* and -option-name=* options?

2006-11-09 Thread Brooks Moses
The Fortran front end currently has a lang.opt entry of the following form: ffixed-line-length- Fortran RejectNegative Joined UInteger I would like to add to this the following option which differs in the last character, but should be treated identically: ffixed-line-length= Fortran R

Re: Planned LTO driver work

2006-11-09 Thread Mark Mitchell
Ian Lance Taylor wrote: > Mark Mitchell <[EMAIL PROTECTED]> writes: > >>> I assume that in the long run, the gcc driver with --lto will invoke >>> the LTO frontend rather than collect2. And that the LTO frontend will >>> then open all the .o files which it is passed. >> Either that, or, at least,