DRIVER_SELF_SPECS and multilib

2012-11-29 Thread gnubie gnubie
Hi,

I notice that if you add a DRIVER_SELF_SPEC option and then add that
option as a MULTILIB_OPTION, it doesn't build certain libraries for
that multilib variant.

for example, if you add:

"%{mtestoption:-mcpu=cortex-a5 %

Failure to vectorize widen mult through intermediate steps

2012-11-29 Thread Paulo Matos
Hello,

I have been looking at a piece of code that fails to vectorize because GCC4.7.0 
is unable in suportable_widening_operation to provide proper conversions for a 
WIDEN_MULT_EXPR. vectype_in is V8HI and vectype_out is V2DI. The problem seems 
to be that GCC code at the end of this functions blocks the search for 
intermediate conversions. If GCC would look for them it would find:
vec_widen_smult_lo_v8hi with v4si output
vec_widen_smult_lo_v4si with v2di output 
however, since this search doesn't occur, vectorization fails.

How can I instruct GCC that it should take this steps to enable vectorization 
between these vectypes?
I thought about defining vec_widen_smult_lo_v8hi with v2di output but can't 
because of the constraints on the pattern ("Multiply the high/low elements of 
the two vectors, and put the N/2 products of size 2*S in the output vector 
(operand 0).").

The hook TARGET_VECTORIZE_BUILTIN_CONVERSION sounds like it could be what I 
want but I added some test code and in my simple example this function is never 
called.

Any suggestions on how to work this out in the backend?

Cheers,

Paulo Matos




Chromium ISSUE with GCC 4.8

2012-11-29 Thread awarecons
FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC
2012 r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
i386

chromium-23.0.1271.64_1 compiled perfectly.

But chromium-23.0.1271.91 fails:

...
In file included from ./base/global_descriptors_posix.h:15:0,
 from ./content/public/browser/content_browser_client.h:19,
 from content/public/app/content_main_delegate.cc:7:
./base/memory/singleton.h:135:73: internal compiler error: tree check:
expected sizeof_expr, have alignof_expr in cp_tree_equal, at
cp/tree.c:2608
 template  base::AlignedMemory
 ^
/proc/self/exe: No such file or directory
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
gmake: *** 
[out/Release/obj.target/content_app/content/public/app/content_main_delegate.o]
Ошибка 1
gmake: *** Ожидание завершения заданий...
In file included from ./base/global_descriptors_posix.h:15:0,
 from ./content/public/browser/content_browser_client.h:19,
 from content/app/content_main_runner.cc:31:
./base/memory/singleton.h: At global scope:
./base/memory/singleton.h:130:57: internal compiler error: tree check:
expected sizeof_expr, have alignof_expr in cp_tree_equal, at
cp/tree.c:2608
   static base::AlignedMemory buffer_;
 ^
/proc/self/exe: No such file or directory
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
gmake: *** 
[out/Release/obj.target/content_app/content/app/content_main_runner.o]
Ошибка 1
*** Error code 1

Stop in /usr/ports/www/chromium.
*** Error code 1

Stop in /usr/ports/www/chromium.


Re: Chromium ISSUE with GCC 4.8

2012-11-29 Thread Paolo Carlini

On 11/29/2012 06:30 PM, awarecons wrote:

FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC
2012 r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
i386

chromium-23.0.1271.64_1 compiled perfectly.

But chromium-23.0.1271.91 fails:
Looks like you aren't building with current mainline and your tree 
doesn't include the fix for PR55337.


Paolo.


Re: RFC - Remove support for PCH post 4.8

2012-11-29 Thread Benjamin Kosnik



> Assuming that the new implementation will be available in time for 4.9, my 
> primary concern is that in the meanwhile running the libstdc++ testsuite will 
> be quite noticeably slower. Do you have some numbers?


Just use the numbers I used the last two times I tried to explain why PCH was 
useful to Diego!

http://gcc.gnu.org/wiki/PCHHaters
http://gcc.gnu.org/wiki/CompilationSpeed

The proposal to remove a useful feature before implementing a replacement was 
absurd on face value and I'm glad it's been taken off the table. 

Sheesh.

-benjamin


ANN: gcc-python-plugin 0.11

2012-11-29 Thread David Malcolm
gcc-python-plugin is a plugin for GCC 4.6 onwards which embeds the
CPython interpreter within GCC, allowing you to write new compiler
warnings in Python, generate code visualizations, etc.

It ships with "gcc-with-cpychecker", which implements static analysis
passes for GCC aimed at finding bugs in CPython extensions.  In
particular, it can automatically detect reference-counting errors:
  http://gcc-python-plugin.readthedocs.org/en/latest/cpychecker.html

What's new in 0.11?
===

The main change in this release is support for compiling the plugin with
a C++ compiler. Recent versions of GCC 4.7 are now built with C++ rather
than C, meaning that plugins must also be built with C++ (since all of
GCC’s internal symbols are name-mangled). This release fixes the
plugin’s Makefile so that it autodetects whether the plugin needs to be
built with a C or C++ compiler and (I hope) does the right thing
automatically. I've also made the necessary changes to the C source code
of the plugin so that it is compilable as either language.

This should enable the plugin to now be usable with recent builds of gcc
4.7.* (along with gcc 4.6).

The plugin doesn't yet support gcc 4.8 prereleases (help would be
appreciated!)

For a description of the other improvements in 0.11, detailed release
notes can be seen at:
  http://gcc-python-plugin.readthedocs.org/en/latest/0.11.html

Tarball releases are available at:
  https://fedorahosted.org/releases/g/c/gcc-python-plugin/

Prebuilt-documentation can be seen at:
  http://gcc-python-plugin.readthedocs.org/en/latest/index.html

The project's homepage is:
  https://fedorahosted.org/gcc-python-plugin/

The plugin and checker are Free Software, licensed under the GPLv3 or
later.

Enjoy!
Dave Malcolm