1 Aug 2008 01:50
1 Aug 2008 01:50
RE: Help with identifing all cost models in GCC to make it adaptable ?..
Grigori Fursin <grigori.fursin <at> inria.fr>
2008-07-31 23:50:45 GMT
2008-07-31 23:50:45 GMT
Thanks, David! That's a good start. I will need to find places in GCC where these parameters are used to monitor the behavior of transformations based on these parameters and be able to change the compiler decisions through ICI to learn how to tune those costs based on program execution time/code size... Also, I would prefer to concentrate on only most critical/important costs right now (for example, within register allocation, scheduling, etc) since this research is very time consuming ... Cheers, Grigori ======================================== Grigori Fursin, PhD Research Scientist, INRIA, France http://fursin.net/research > -----Original Message----- > From: David Edelsohn [mailto:dje <at> watson.ibm.com] > Sent: Thursday, July 31, 2008 9:44 PM > To: Grigori Fursin > Cc: 'gcc' > Subject: Re: Help with identifing all cost models in GCC to make it adaptable ?.. > > Grigori, >(Continue reading)
1 Aug 2008 01:52
Re: gcc will become the best optimizing x86 compiler
Denys Vlasenko <vda.linux <at> googlemail.com>
2008-07-31 23:52:41 GMT
2008-07-31 23:52:41 GMT
On Thursday 31 July 2008 11:36, Dave Korn wrote: > Agner Fog wrote on 31 July 2008 07:14: > > > Denys Vlasenko wrote: > >> I tend to doubt that odd-byte aligned large memcpys are anywhere > >> near typical. malloc and mmap both return well-aligned buffers > >> (say, 8 byte aligned). Static and on-stack objects are also > >> at least word-aligned 99% of the time. > >> > >> memcpy can just use "relatively simple" code for copies in which > >> either src or dst is not word aligned. This cuts possibilities down from > >> 16 to 4 (or even 2?). > >> > > The XMM code is still more than 3 times faster than rep movsl when data > > are aligned by 4 or 8, but not by 16. > > Even if odd addresses are rare, they must be supported, but we can put > > the most common cases first. > > In the real world, unaligned memcpys are anything but rare. Everything's > networked these days, remember? Stuff gets misaligned real quick when you > start adding and removing various network layer headers and trailers to > unpredictably-sized packets. Headers are usually at least rounded to 16-bit multiple. Trailers do not matter to alignment. This happens in kernel space. In kernel space, there are many differences. * memcpy are rarely bigger than a page - this negates any gains from non-temporal MOVs * memcpy cannot use XMM registers (otherwise lazy FPU saving doesn't work)(Continue reading)
1 Aug 2008 05:24
Re: gcc emit wrong symbols in multiple inheritance case
Bo Yang <techrazy.yang <at> gmail.com>
2008-08-01 03:24:10 GMT
2008-08-01 03:24:10 GMT
On Thu, Jul 31, 2008 at 11:00 PM, Brian Dessent <brian <at> dessent.net> wrote: > Bo Yang wrote: > >> When we produce an exe from a single c++ file, there is no linking >> need, so there is no problem. But when we separate the definition and > > That's not how it works, the linker is always required to produce an > executable. I am wrong. But how the linker find the __attribute__((__stdcall__)) bottom::fun1() when there is a single source file? There is no such definition in the object file. >> And Obviously, this is not a linker error, it is the problem gcc >> generate a " U __ZThn4_N6bottom4fun1Ev <at> 4" for indeed existing >> definition of "__attribute__((__stdcall__)) bottom:fun1()" . > > The "U" lines are correct and aren't the problem; those are call sites > to the properly mangled symbol name. What's incorrect is that gcc emits > the function definitions (the 'T' lines) without the proper stdcall name > mangling. If gcc used the proper mangling for the definitions then the > undefined call sites would no longer be undefined and would not show up > in the objdump output any more. So, are you sure this bug is identical to PR27067 or not? Regards! Bo(Continue reading)
1 Aug 2008 05:32
1 Aug 2008 09:07
Re: GNAT build failure on cross
Arnaud Charlet <charlet <at> adacore.com>
2008-08-01 07:07:50 GMT
2008-08-01 07:07:50 GMT
> Any suggestions? I would double check that you are indeed using the freshly built corresponding native. Maybe your native installation didn't work as expected and your building from an older compiler. That's the most likely explanation. Alternatively, there have been changes recently in the libada and ada Makefiles by Paolo Bonzini that might be related. Arno
1 Aug 2008 09:34
[vta] created 4.3 branch, merged 4.3 and trunk <at> 138264
Alexandre Oliva <aoliva <at> redhat.com>
2008-08-01 07:34:09 GMT
2008-08-01 07:34:09 GMT
I forked the vta branch into a var-tracking-assignments-4_3-branch, created and merged from gcc-4_3-branch on Wednesday, and I've just finished merging the trunk onto the var-tracking-assignments-branch. Both merges were mostly trivial, although the trunk merge required the tuplification of debug stmts. I didn't expect difficulties here, but it turned out to be much easier than I'd anticipated. I added GIMPLE_DEBUG, with VAR_DEBUG_VALUE as a subcode, and then, after a few tweaks here and there, it all built. I haven't assessed the quality of debug information yet (err, guality), though. No patches, but the diffs between the baselines and the post-merge state can be obtained with commands such as: # svn diff svn://gcc.gnu.org/svn/gcc/tags/var-tracking-assignments-4_3-merge-(Continue reading)138264-{4_3,after} # svn diff svn://gcc.gnu.org/svn/gcc/tags/var-tracking-assignments-merge-138264-{trunk,after} The 4.3 branch won't bootstrap without a couple of patches I'm post and install momentarily; the trunk builds at least all the way to the end of stage2. That's all the testing I've done. The previous state of the branch can be obtained with svn checkout svn://gcc.gnu.org/svn/gcc/tags/var-tracking-assignments-merge-138264-before -- -- Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/ Free Software Evangelist oliva <at> {lsd.ic.unicamp.br, gnu.org}
1 Aug 2008 10:22
Re: GNAT build failure on cross
Paolo Bonzini <bonzini <at> gnu.org>
2008-08-01 08:22:03 GMT
2008-08-01 08:22:03 GMT
Arnaud Charlet wrote: >> Any suggestions? > > I would double check that you are indeed using the freshly built > corresponding native. Maybe your native installation didn't work as > expected and your building from an older compiler. That's the > most likely explanation. > > Alternatively, there have been changes recently in the libada and ada > Makefiles by Paolo Bonzini that might be related. I agree with Arnaud that the most likely explanation is not-recent-enough native tools. But you can try reverting to r138299 to see if my patches are at fault. Paolo
1 Aug 2008 10:26
insn-attrtab.c long time to compile..
Jay <jayk123 <at> hotmail.com>
2008-08-01 08:26:26 GMT
2008-08-01 08:26:26 GMT
4.2.3 insn-attrtab.c takes "a long time" to compile on djgpp (build=host=target=i586-pc-msdosdjgpp, bootstrapping from 4.2.3) with the default -g -O2. I let it go, walked away for a few days, laptop power was pulled in the meantime (moved to another laptop), so it ran till the battery ran out. Presumably at least 30 minutes. Perhaps this can at least be split up into insn-attrtab-1.c insn-attrtab-2.c insn-attrtab-3.c insn-attrtab-4.c with a quarter of the functions in each file? It seems either switch takes a long time. Omitting both compiles in just a few seconds. I'll see about collecting accurate times for all four combinations, testing with 4.3.1, see if breaking it up into multiple files helps, etc. (could be just one particular function causes it, even if isolated in one source file). #pragma optimize would probably good and easy, but looks like that's not available in these versions. Thanks, - Jay(Continue reading)
1 Aug 2008 14:36
Mainline Ada bootstrap broken
Rainer Orth <ro <at> techfak.uni-bielefeld.de>
2008-08-01 12:36:09 GMT
2008-08-01 12:36:09 GMT
Eric,
this patch of yours
2008-08-01 Eric Botcazou <ebotcazou <at> adacore.com>
* gcc-interface/utils.c (convert_vms_descriptor): Add gnu_expr_alt_type
parameter.
Convert the expression to it instead of changing its type in place.
(build_function_stub): Adjust call to above function.
broke mainline Ada bootstrap everywhere. It uses DECL_PARM_ALT_TYPE, which
is not defined anywhere, so e.g. gnat1 fails to link:
Undefined first referenced
symbol in file
DECL_PARM_ALT_TYPE ada/utils.o
ld: fatal: Symbol referencing errors. No output written to gnat1
collect2: ld returned 1 exit status
make[3]: *** [gnat1] Error 1
Please fix.
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
RSS Feed