Re: C++ PATCH for c++/49418 (lost cv-quals on template parameter type)

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 8:07 PM, H.J. Lu wrote: > On Thu, Jun 23, 2011 at 7:18 PM, Jason Merrill wrote: >> On 06/23/2011 08:45 PM, H.J. Lu wrote: >>> >>> This caused: >>> >>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 >> >> I'm checking this in as an alternate fix.  Testing hasn't complete

Re: C++ PATCH for c++/49418 (lost cv-quals on template parameter type)

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 7:18 PM, Jason Merrill wrote: > On 06/23/2011 08:45 PM, H.J. Lu wrote: >> >> This caused: >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 > > I'm checking this in as an alternate fix.  Testing hasn't completed yet, but > I'm confident that this version is safe. > I

Re: [RFC, ARM] Convert thumb1 prologue completely to rtl

2011-06-23 Thread Richard Henderson
Ping. This will shortly be holding up dwarf2 maintenance. http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01398.html r~

Re: C++ PATCH for c++/49418 (lost cv-quals on template parameter type)

2011-06-23 Thread Jason Merrill
On 06/23/2011 08:45 PM, H.J. Lu wrote: This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 I'm checking this in as an alternate fix. Testing hasn't completed yet, but I'm confident that this version is safe. commit 9084174e504fed2e454948c24144e2a93fabdad2 Author: Jason Merrill Da

C++ PATCH for c++/35255 (address of template-id)

2011-06-23 Thread Jason Merrill
Per DR 115, if the context of a template-id doesn't give enough type information to resolve it and the template-id fully resolves exactly one specialization, we should use that one. The code in resolve_overloaded_unification was trying to do this, but was failing to handle the case where there

Re: Removed unused cp_binding_level field names_size. (issue4662052)

2011-06-23 Thread Jason Merrill
OK. Jason

Re: [AVX2] PATCH: Fixed 64-bit integer of gather* intrinsic declaration.

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 9:38 AM, Kirill Yukhin wrote: > Hi, > I've updated 64-bit integer variant of gather intrinsics declarations. > It now works while passing '-pedantic' flag. > Also I fixed copy-paste problem to avoid AVX2 tests to be executed on > AVX-capable machines. > > ChangeLog.avx2 ent

Re: C++ PATCH for c++/49418 (lost cv-quals on template parameter type)

2011-06-23 Thread H.J. Lu
On Tue, Jun 21, 2011 at 12:03 PM, Jason Merrill wrote: > cv-qualifiers are dropped from a function parameter type in order to produce > the parameter-type-list, but the parameter itself still has the qualified > type within the function body.  When I added cv-qualification stripping to > type_deca

[testsuite] ARM test pr42093.c: thumb2 or thumb1

2011-06-23 Thread Janis Johnson
Test gcc.target/arm/pr42093.c, added by Ramana, requires support for arm_thumb2 but fails for those targets. The patch for which it was added modified support for thumb1. Should the test instead require arm_thumb1_ok, as in this patch? Janis 2011-06-23 Janis Johnson * gcc.target/arm/

[testsuite] ARM tests vfp-ldm*.c and vfp-stm*.c

2011-06-23 Thread Janis Johnson
Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but fail if multilib flags override that option. This patch skips the test for multilibs that specify a different value for -mfloat-abi. Tested on arm-none-linux-gnueabi with 43 sets of multlib flags. OK for trunk, and later for 4

Re: __sync_swap* [ rename sync builtins ]

2011-06-23 Thread Andrew MacLeod
On 06/23/2011 08:14 PM, Ian Lance Taylor wrote: On Tue, Jun 21, 2011 at 4:03 PM, Andrew MacLeod wrote: On 06/21/2011 06:26 PM, Graham Stott wrote: This looks to have broken the go frontend ah, missed it's .cc file, and I guess it doesn't build by default :-P This ought to fix it, checking i

Re: __sync_swap* [ rename sync builtins ]

2011-06-23 Thread Ian Lance Taylor
On Tue, Jun 21, 2011 at 4:03 PM, Andrew MacLeod wrote: > On 06/21/2011 06:26 PM, Graham Stott wrote: >> This looks to have broken the go frontend > > ah, missed it's .cc file, and I guess it doesn't build by default  :-P > > This ought to fix it, checking in as obvious... Note that the files in g

[PING] ARM testsuite for fp16

2011-06-23 Thread Janis Johnson
Ping for ARM testsuite patch: http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01195.html This patch is a different approach for the ARM tests that use effective target arm_neon_fp16_ok. It was apparently lost in the thread about an earlier proposal for those tests. The tests that use arm_neon_fp

Re: [PATCH, i386] Enable -mprefer-avx128 by default for Bulldozer

2011-06-23 Thread Jan Hubicka
Hi, > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -2128,6 +2128,9 @@ static const unsigned int > x86_avx256_split_unaligned_load > static const unsigned int x86_avx256_split_unaligned_store >= m_COREI7 | m_BDVER1 | m_GENERIC; > > +static const unsigned int x86_prefer_av

Re: [PATCH] [annotalysis] Merge of google/integration into annotalysis

2011-06-23 Thread Delesley Hutchins
google/integration up to revision 175149 has now been merged into branches/annotalysis. On Thu, Jun 23, 2011 at 3:37 PM, Diego Novillo wrote: > On Thu, Jun 23, 2011 at 18:08, Delesley Hutchins wrote: >> This patch merges recent changes from google/integration into >> branches/annotalysis. >> >>

[cxx-mem-model] __sync_mem_load

2011-06-23 Thread Andrew MacLeod
Here's the patch for __sync_mem_load, complete with tests. I'll change and correct the actual implementation of the load pattern later ( I think I have the x86 fence wrong). It occurs to me that if I implement the __sync_mem_thread_fence (model) routine, then the appropriate fences can be crea

Re: [PATCH] [annotalysis] Merge of google/integration into annotalysis

2011-06-23 Thread Diego Novillo
On Thu, Jun 23, 2011 at 18:08, Delesley Hutchins wrote: > This patch merges recent changes from google/integration into > branches/annotalysis. > > Bootstrapped and passed GCC regression testsuite on x86_64-unknown-linux-gnu. > > Okay for branches/annotalysis? OK. Diego.

[PATCH] [annotalysis] Merge of google/integration into annotalysis

2011-06-23 Thread Delesley Hutchins
This patch merges recent changes from google/integration into branches/annotalysis. Bootstrapped and passed GCC regression testsuite on x86_64-unknown-linux-gnu. Okay for branches/annotalysis? -- DeLesley Hutchins | Software Engineer | deles...@google.com | 505-206-0315 Property changes on: . _

Re: [testsuite] ARM ivopts tests: skip for no thumb support

2011-06-23 Thread Janis Johnson
On 06/23/2011 02:56 PM, Ramana Radhakrishnan wrote: > On 23 June 2011 22:36, Janis Johnson wrote: >> Tests gcc.target/arm/ivopts*.c add -mthumb but fail on targets without >> thumb support; skip those targets. The tests save temporary files and >> need to remove them at the end, easily done with

Re: [testsuite] ARM ivopts tests: skip for no thumb support

2011-06-23 Thread Ramana Radhakrishnan
On 23 June 2011 22:36, Janis Johnson wrote: > Tests gcc.target/arm/ivopts*.c add -mthumb but fail on targets without > thumb support; skip those targets.  The tests save temporary files and > need to remove them at the end, easily done with cleanup-saved-temps. > > Test ivopts-6.c is the only one

Re: [Patch, AVR]: Fix PR46779

2011-06-23 Thread Richard Henderson
On 06/23/2011 01:15 PM, Denis Chertykov wrote: >> textdata bss dec hex filename >> 10032 25 0 100572749 bld-avr-orig/gcc/z.o >> 5816 25 0584116d1 bld-avr-new/gcc/z.o > > Richard, can you send me this z.c file ? > Right now I'm notice that ne

Re: Mark variables addressable if they are copied using libcall in RTL expander

2011-06-23 Thread Easwaran Raman
On Thu, Jun 23, 2011 at 12:16 PM, Jakub Jelinek wrote: > On Thu, Jun 23, 2011 at 12:02:35PM -0700, Easwaran Raman wrote: >> +      if (y_expr) >> +        mark_addressable (y_expr); > > Please watch formatting, a tab should be used instead of 8 spaces. > >> +      if (x_expr) >> +        mark_addr

[testsuite] ARM wmul tests: require arm_dsp_multiply

2011-06-23 Thread Janis Johnson
Tests wmul-[1234].c and mla-2.c in gcc.target/arm require support that the arm backend identifies as TARGET_DSP_MULTIPLY. The tests all specify a -march option with that support, but it is overridden by multilib flags. This patch adds a new effective target, arm_dsp_multiply, and requires it for

Re: [PATCH (3/7)] Widening multiply-and-accumulate pattern matching

2011-06-23 Thread Janis Johnson
On 06/23/2011 07:40 AM, Andrew Stubbs wrote: +++ b/gcc/testsuite/gcc.target/arm/umlal-1.c +/* { dg-final { scan-assembler "umlal" } } */ Don't use the name of the instruction as the test name or the scan will always pass, because the file name shows up in assembly output. See http://gcc.gnu.org/

Re: Removed unused cp_binding_level field names_size. (issue4662052)

2011-06-23 Thread Gabriel Charette
Also: Tested on x86-64. Ok to commit to trunk? On Thu, Jun 23, 2011 at 2:32 PM, Gabriel Charette wrote: > The names_size member of cp_binding_level was write only. Removed it. > Seems like it was introduced for java in 2002, but it's not used anywhere > anymore in the code. > > Tested with boot

[testsuite] ARM ivopts tests: skip for no thumb support

2011-06-23 Thread Janis Johnson
Tests gcc.target/arm/ivopts*.c add -mthumb but fail on targets without thumb support; skip those targets. The tests save temporary files and need to remove them at the end, easily done with cleanup-saved-temps. Test ivopts-6.c is the only one of the set that does not require thumb2 support in the

Removed unused cp_binding_level field names_size. (issue4662052)

2011-06-23 Thread Gabriel Charette
The names_size member of cp_binding_level was write only. Removed it. Seems like it was introduced for java in 2002, but it's not used anywhere anymore in the code. Tested with bootstrap and full regression testing. 2011-06-23 Gabriel Charette * name-lookup.h (cp_binding_level): Remo

Re: RFA PR middle-end/48770

2011-06-23 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 06/22/11 08:25, Bernd Schmidt wrote: > On 06/14/2011 05:32 PM, Jeff Law wrote: >> >> This version incorporates suggestions from Bernd. Basically we have >> reload1.c set reload_completed internally rather than deferring it into >> ira.c. That allo

Re: [PATCH, i386] Enable -mprefer-avx128 by default for Bulldozer

2011-06-23 Thread Jakub Jelinek
On Thu, Jun 23, 2011 at 03:41:01PM -0500, Fang, Changpeng wrote: > This patch enables 128-bit avx instruction generation for the auto-vectorizer > for AMD bulldozer > machines. This enablement gives additional ~3% improvement on polyhedron 2005 > and cpu2006 > floating point programs. > > The p

[PATCH, i386] Enable -mprefer-avx128 by default for Bulldozer

2011-06-23 Thread Fang, Changpeng
Hi, This patch enables 128-bit avx instruction generation for the auto-vectorizer for AMD bulldozer machines. This enablement gives additional ~3% improvement on polyhedron 2005 and cpu2006 floating point programs. The patch passed bootstrapping on a x86_64-unknown-linux-gnu system with Bulld

Re: [Patch, AVR]: Fix PR46779

2011-06-23 Thread Denis Chertykov
2011/6/16 Richard Henderson : > On 06/15/2011 02:58 PM, Richard Henderson wrote: >> Indeed, I can work around this particular crash by either >> hacking Z to be call-saved, or hacking the frame pointer to >> not be required.  The former of course changes the abi, and >> the second produces awful co

[PATCH, PR 49516] Avoid SRA mem-refing its scalar replacements

2011-06-23 Thread Martin Jambor
Hi, When SRA tries to modify an assignment where on one side it should put a new scalar replacement but the other is actually an aggregate with a number of replacements for it, it will generate MEM-REFs into the former replacement which can lead to miscompilations. This is avoided by the simple p

[lra] some cleaning up to speed up LRA

2011-06-23 Thread Vladimir Makarov
The following patch removes a code used for some experiments in pseudo live range splitting during the assignment sub-pass and, as consequence, speeds LRA up. The patch was successfully bootstrapped on x86-64. 2011-06-23 Vladimir Makarov * lra-int.h (struct lra_bb_info, lra_bb_info)

Re: Mark variables addressable if they are copied using libcall in RTL expander

2011-06-23 Thread Jakub Jelinek
On Thu, Jun 23, 2011 at 12:02:35PM -0700, Easwaran Raman wrote: > + if (y_expr) > +mark_addressable (y_expr); Please watch formatting, a tab should be used instead of 8 spaces. > + if (x_expr) > +mark_addressable (x_expr); Ditto. > @@ -1084,6 +1084,8 @@ initialize_argu

New German PO file for 'gcc' (version 4.6.0)

2011-06-23 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the German team of translators. The file is available at: http://translationproject.org/latest/gcc/de.po (This file, 'gcc-4.6.0.de.po', has just

Re: Mark variables addressable if they are copied using libcall in RTL expander

2011-06-23 Thread Easwaran Raman
On Thu, Jun 23, 2011 at 3:22 AM, Eric Botcazou wrote: >> So, what's the patch(es) that need approval now? > > Original expr.c patch for PR rtl-optimization/49429 + adjusted and augmented > calls.c patch for PR target/49454.  Everything is in this thread. > > Easwaran, would you mind posting a cons

[PATCH] Fix tree-ssa/asm-1.c testcase (PR testsuite/49512)

2011-06-23 Thread Jakub Jelinek
Hi! This testcase checks whether two 2-digit numbers occur in *.optimized just once. They can from time to time match decl_uid=. too though, so this patch ensures DECL_UID isn't printed. Regtested on x86_64-linux and i686-linux, committed as obvious. 2011-06-23 Jakub Jelinek PR

Re: [pph] Stream scope_chain->bindings instead of global namespace (issue4661045)

2011-06-23 Thread Gabriel Charette
Yes I did fill the form, included you as an approver, haven't heard back from it yet. Gab On Thu, Jun 23, 2011 at 10:23 AM, Diego Novillo wrote: > > On Thu, Jun 23, 2011 at 13:21, Diego Novillo wrote: > > I've made a couple of minor edits to comments and formatting and > > committed to the bran

[RFA:] Removing target-libiberty on branches

2011-06-23 Thread Hans-Peter Nilsson
Here's the patch I tested for 4.6, native x86_64-unknown-linux-gnu, cross to cris-axis-elf, both with old and new ("breaking") newlib. Ok for 4.6 and after testing, earlier branches? 2011-06-22 Hans-Peter Nilsson PR regression/47836 PR bootstrap/23656 PR other/47733

Re: [pph] Stream scope_chain->bindings instead of global namespace (issue4661045)

2011-06-23 Thread Diego Novillo
On Thu, Jun 23, 2011 at 13:21, Diego Novillo wrote: > I've made a couple of minor edits to comments and formatting and > committed to the branch (final patch below). Incidentally, did you fill-in the svn write access form? You've produced enough good patches already. Time for you to be able to

Re: [pph] Stream scope_chain->bindings instead of global namespace (issue4661045)

2011-06-23 Thread Diego Novillo
I've made a couple of minor edits to comments and formatting and committed to the branch (final patch below). Diego. commit 2f0fa40cd3e0c9debb4efae6c65530a7c6d3fb0f Author: dnovillo Date: Thu Jun 23 17:18:27 2011 + 2011-06-22 Gabriel Charette * pph-streamer-in.c (pph_add_

Re: [pph] Fixed extra space typos in pph-streamer-out.c (issue4663041)

2011-06-23 Thread Diego Novillo
On Wed, Jun 22, 2011 at 19:03, Gabriel Charette wrote: > 2011-06-22  Gabriel Charette   > >        * gcc/cp/pph-streamer-out.c (pph_out_lang_specific): >        Removed extra space. >        (pph_write_tree): Removed extra space. OK. Committed to branch. Diego.

C++ PATCH for c++/49507 (ICE with template dtor defaulted out of class)

2011-06-23 Thread Jason Merrill
Here, if we're going to synthesize the dtor in instantiate_decl, we need to not also do it directly in mark_used. Tested x86_64-pc-linux-gnu, applying to trunk and 4.6.1 (since Jakub asked about fixing this for 4.6.1 and it seems safe). commit 2c7d73cc244974ee3e483cdfcddc210fdf98e25a Author: Ja

Re: [AVX2] PATCH: Fixed 64-bit integer of gather* intrinsic declaration.

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 9:38 AM, Kirill Yukhin wrote: > Hi, > I've updated 64-bit integer variant of gather intrinsics declarations. > It now works while passing '-pedantic' flag. > Also I fixed copy-paste problem to avoid AVX2 tests to be executed on > AVX-capable machines. > > ChangeLog.avx2 ent

Re: [C++ Patch] PR 44625

2011-06-23 Thread Jason Merrill
OK. Jason

C++ PATCH for c++/49395 (cv-quals on scalar functional cast)

2011-06-23 Thread Jason Merrill
We've been stripping cv-quals from scalar prvalues in other situations, but missed this one. Tested x86_64-pc-linux-gnu, applying to trunk. commit 8f1186d00e9f78a8b64f678cc322332568bbec59 Author: Jason Merrill Date: Wed Jun 22 16:34:53 2011 -0400 PR c++/49395 * init.c (build_zero_i

C++ PATCH for c++/49440 (wrong tinfo comparison with anonymous namespaces)

2011-06-23 Thread Jason Merrill
We were wrongly considering two classes in anonymous namespaces in different files to be the same class due to string comparison. We have a way to avoid that, by putting a '*' at the beginning of the typeinfo name, but weren't doing that in this case because TREE_PUBLIC was wrongly set on the

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
On 06/23/2011 06:05 PM, Jason Merrill wrote: So we should be able to just reject nested anonymous aggregates and not worry about how to make them work. The below appears to work pretty well, regtests fine. I had to tweak the existing error17.C, we don't emit anymore the warning about no members

Re: [PATCH, MELT] loading extra module before setting options

2011-06-23 Thread Basile Starynkevitch
On Thu, 23 Jun 2011 18:05:38 +0200 Pierre Vittet wrote: > > 2011-06-22 Pierre Vittet > > * melt-runtime.c (load_melt_modules_and_do_mode): load extra module >before setting options Thanks. Committed revision 175337. [on the MELT branch] Cheers -- Basile STARYNKEVITCH

[PING] [PATCH, libstdc++-v3] Add newlib specific ctype_members.cc

2011-06-23 Thread Yufeng Zhang
Ping for: http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00440.html > libstdc++-v3/ChangeLog > 2011-06-06 Yufeng Zhang > > * config/locale/newlib/ctype_members.cc: New file. > * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale > kind: newlib. Configure to use t

Re: varpool alias reorg

2011-06-23 Thread Jan Hubicka
> On Sat, Jun 18, 2011 at 7:19 AM, H.J. Lu wrote: > > On Sat, Jun 18, 2011 at 1:32 AM, Jan Hubicka wrote: > >> Hi, > >> this patch makes symetric changes to varpool as did the prevoius series to > >> cgraph. > >> Basically the aliases are now represented as separate varpool nodes with > >> alia

[AVX2] PATCH: Fixed 64-bit integer of gather* intrinsic declaration.

2011-06-23 Thread Kirill Yukhin
Hi, I've updated 64-bit integer variant of gather intrinsics declarations. It now works while passing '-pedantic' flag. Also I fixed copy-paste problem to avoid AVX2 tests to be executed on AVX-capable machines. ChangeLog.avx2 entry: 2011-06-22 Yukhin Kirill * gcc/config/i386/avx2intri

Re: [AVX2] PATCH: Adding support of AVX2 to driver

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 9:27 AM, Kirill Yukhin wrote: > Hi, > I added checking of AVX2 support to driver-i386.c. > Also I added entries to doc/extend.texi and a couple of tests to work with > AVX2. > > ChangeLog.avx2 entry: > 2011-06-21  Yukhin Kirill   > >        * gcc/config/i386/driver-i386.c

Re: RFA PR middle-end/49465

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 6:13 PM, Jeff Law wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > > At the core of this PR is a case where we were threading through a > successor of a joiner block where there was already an edge from the > threadable successor to the final target.  ie, the su

Re: [AVX2] PATCH: Improved error reporting for AVX2 immediates in vextracti/inserti128. New tests.

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 9:19 AM, Kirill Yukhin wrote: > Attaching the patch > > On Thu, Jun 23, 2011 at 8:18 PM, Kirill Yukhin > wrote: >> Hi, >> I added spcial case for immediate expanding of vinserti128 and >> vextractf128 (AVX2) to improve error reporting. >> Also I added bunch of new tests t

[AVX2] PATCH: Adding support of AVX2 to driver

2011-06-23 Thread Kirill Yukhin
Hi, I added checking of AVX2 support to driver-i386.c. Also I added entries to doc/extend.texi and a couple of tests to work with AVX2. ChangeLog.avx2 entry: 2011-06-21 Yukhin Kirill * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Define and set has_avx2. * gcc

Re: [PATCH (3/7)] Widening multiply-and-accumulate pattern matching

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 4:40 PM, Andrew Stubbs wrote: > There are many cases where the widening_mult pass does not recognise > widening multiply-and-accumulate cases simply because there is a type > conversion step between the multiply and add statements. > > This patch should rectify that simply

Re: [PATCH] Use get_pointer_alignment in vect_compute_data_ref_alignment

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 4:07 PM, Jakub Jelinek wrote: > Hi! > > This is a precondition of the __builtin_assume_aligned patch (otherwise > it wouldn't be useful for vectorization for which it has been designed), > but I've bootstrapped/regtested it on x86_64-linux and i686-linux > separately. > > g

RFA PR middle-end/49465

2011-06-23 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 At the core of this PR is a case where we were threading through a successor of a joiner block where there was already an edge from the threadable successor to the final target. ie, the successor of the joiner ended with a conditional branch, after t

Re: [AVX2] PATCH: Improved error reporting for AVX2 immediates in vextracti/inserti128. New tests.

2011-06-23 Thread Kirill Yukhin
Attaching the patch On Thu, Jun 23, 2011 at 8:18 PM, Kirill Yukhin wrote: > Hi, > I added spcial case for immediate expanding of vinserti128 and > vextractf128 (AVX2) to improve error reporting. > Also I added bunch of new tests to check error reporting of out of > range immediates for AVX2. > >

[AVX2] PATCH: Improved error reporting for AVX2 immediates in vextracti/inserti128. New tests.

2011-06-23 Thread Kirill Yukhin
Hi, I added spcial case for immediate expanding of vinserti128 and vextractf128 (AVX2) to improve error reporting. Also I added bunch of new tests to check error reporting of out of range immediates for AVX2. ChangeLog.avx2 entry: 2011-06-20 Yukhin Kirill * gcc/config/i386/i386.c (ix86

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
On 06/23/2011 06:11 PM, Paolo Carlini wrote: On 06/23/2011 06:05 PM, Jason Merrill wrote: Actually, 9.5 says A union of the form union { member-specification } ; is called an anonymous union; it defines an unnamed object of unnamed type. The member-specification of an anonymous union shall o

C++ PATCH for c++/36435 (partial ordering ignoring return type)

2011-06-23 Thread Jason Merrill
Partial ordering to match a particular function signature should consider the return type. Tested x86_64-pc-linux-gnu, applying to trunk. commit 344d1ea28e060dc539b7f8cbcbeb33a32420f638 Author: Jason Merrill Date: Wed Jun 22 14:39:13 2011 -0400 PR c++/36435 * pt.c (most_specialized

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
On 06/23/2011 06:05 PM, Jason Merrill wrote: Actually, 9.5 says A union of the form union { member-specification } ; is called an anonymous union; it defines an unnamed object of unnamed type. The member-specification of an anonymous union shall only define non-static data members. [ Note: N

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
On 06/23/2011 06:01 PM, Jason Merrill wrote: On 06/23/2011 11:52 AM, Paolo Carlini wrote: Ok, then, from what you saying I understand that it should be possible to actually construct a reject-valid or an ice-on-valid in this area, isn't just about improving the diagnostic, that is only the tip o

[PATCH, MELT] loading extra module before setting options

2011-06-23 Thread Pierre Vittet
Hello, In the function load_melt_modules_and_do_mode of melt-runtime.c, we first load initial modules, then we set options, and then we look at extra modules. With this patch, we load extra modules before we set options, because extra modules can contain code to handle options. This change

Re: [C++ Patch] PR 44625

2011-06-23 Thread Jason Merrill
Actually, 9.5 says A union of the form union { member-specification } ; is called an anonymous union; it defines an unnamed object of unnamed type. The member-specification of an anonymous union shall only define non-static data members. [ Note: Nested types and functions cannot be declared

Re: [C++ Patch] PR 44625

2011-06-23 Thread Jason Merrill
On 06/23/2011 11:52 AM, Paolo Carlini wrote: Ok, then, from what you saying I understand that it should be possible to actually construct a reject-valid or an ice-on-valid in this area, isn't just about improving the diagnostic, that is only the tip of the iceberg, so to speak. I guess it's not f

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
On 06/23/2011 05:47 PM, Jason Merrill wrote: Indeed. The code is using DECL_NAME in templates so that tsubst can look them up again by name, but as we see in this PR that can't work if the field has no name. We need a different strategy for handling anonymous aggregates nested in other anonym

Re: [C++ Patch] PR 44625

2011-06-23 Thread Jason Merrill
On 06/23/2011 11:30 AM, Paolo Carlini wrote: Why are we creating a COMPONENT_REF with a null op1 in the first place? As a matter of fact, the possibility that DECL_NAME (field) could be null is considered in build_anon_union_vars itself, because right after the above mentioned build_min_nt cal

Re: [AVX2] PATCH: Fixed predicates for AVX2's pshuf* description

2011-06-23 Thread H.J. Lu
On Thu, Jun 23, 2011 at 8:17 AM, Kirill Yukhin wrote: > Hi, > Attached patch, which limits immediates for pshuf* insns to 0..255 range. > > ChangeLog.avx2 entry: > 2011-06-20  Yukhin Kirill   > >      * gcc/config/i386/sse.md (avx2_pshufdv3): Fixed immediate's >      predicate. >      (avx2_pshufl

Re: [C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
Hi, Why are we creating a COMPONENT_REF with a null op1 in the first place? For now, what I figured out is the following: build_anon_union_vars calls build_min_nt (COMPONENT_REF, object, DECL_NAME (field), NULL_TREE) with a null third argument, which becomes the null op1. As a matter of fact,

[AVX2] PATCH: Fixed predicates for AVX2's pshuf* description

2011-06-23 Thread Kirill Yukhin
Hi, Attached patch, which limits immediates for pshuf* insns to 0..255 range. ChangeLog.avx2 entry: 2011-06-20 Yukhin Kirill * gcc/config/i386/sse.md (avx2_pshufdv3): Fixed immediate's predicate. (avx2_pshuflwv3): Likewise. (avx2_pshufhwv3): Likewise. Going to commit t

Re: PATCH: PR rtl-optimization/49088: Combine fails to properly handle zero-extension and signed int constant

2011-06-23 Thread H.J. Lu
On Thu, Jun 16, 2011 at 3:20 AM, Eric Botcazou wrote: >> force_to_mode has >> >>   /* If X is a CONST_INT, return a new one.  Do this here since the >>      test below will fail.  */ >>   if (CONST_INT_P (x)) >>     { >>       if (SCALAR_INT_MODE_P (mode)) >>         return gen_int_mode (INTVAL (x

Re: [C++ Patch] PR 44625

2011-06-23 Thread Jason Merrill
Why are we creating a COMPONENT_REF with a null op1 in the first place? Jason

[PATCH (7/7)] Mixed-sign multiplies using narrowest mode

2011-06-23 Thread Andrew Stubbs
Patch 4 introduced support for using signed multiplies to code unsigned multiplies in a narrower mode. Patch 5 then introduced support for mis-matched input modes. These two combined mean that there is case where only the smaller of two inputs is unsigned, and yet it still tries to user a mode

[PATCH (6/7)] More widening multiply-and-accumulate pattern matching

2011-06-23 Thread Andrew Stubbs
This patch fixes the case where widening multiply-and-accumulate were not recognised because the multiplication itself is not actually widening. This can happen when you have "DI + SI * SI" - the multiplication will be done in SImode as a non-widening multiply, and it's only the final accumula

[PATCH (5/7)] Widening multiplies for mis-matched mode inputs

2011-06-23 Thread Andrew Stubbs
This patch removes the restriction that the inputs to a widening multiply must be of the same mode. It does this by extending the smaller of the two inputs to match the larger; therefore, it remains the case that subsequent code (in the expand pass, for example) can rely on the type of rhs1 be

[PATCH (4/7)] Unsigned multiplies using wider signed multiplies

2011-06-23 Thread Andrew Stubbs
If one or both of the inputs to a widening multiply are of unsigned type then the compiler will attempt to use usmul_widen_optab or umul_widen_optab, respectively. That works fine, but only if the target supports those operations directly. Otherwise, it just bombs out and reverts to the normal

[PATCH (3/7)] Widening multiply-and-accumulate pattern matching

2011-06-23 Thread Andrew Stubbs
There are many cases where the widening_mult pass does not recognise widening multiply-and-accumulate cases simply because there is a type conversion step between the multiply and add statements. This patch should rectify that simply by looking beyond those conversions. OK? Andrew 2011-06-23

[PATCH (2/7)] Widening multiplies by more than one mode

2011-06-23 Thread Andrew Stubbs
This patch has two effects: 1. It permits the use of widening multiply instructions that widen by more than one mode. E.g. HImode -> DImode. 2. It enables the use of widening multiply instructions for (extended) inputs of narrower mode than the instruction takes. E.g. QImode -> DImode where

Re: [pph] Stream scope_chain->bindings instead of global namespace (issue4661045)

2011-06-23 Thread Diego Novillo
On Wed, Jun 22, 2011 at 18:25, wrote: > I fixed the comment: removing it and elaborating on the FIXME above it > mentioning that > we need to look if the namespace already exists. Ah, OK. Thanks. > I removed the include, I originally included it because that's where > global_namespace is defi

[PATCH (1/7)] New optab framework for widening multiplies

2011-06-23 Thread Andrew Stubbs
This patch should have no effect on the compiler output. It merely replaces one way to represent widening operations with another, and refactors the other parts of the compiler to match. The rest of the patch set uses this new framework to implement the optimization improvements. I considered

[PATCH (0/7)] Improve use of Widening Multiplies

2011-06-23 Thread Andrew Stubbs
Hi all, This patch series is intended to improve use of widening multiply, and widening multiply-and-accumulate instructions. This is primarily for the benefit of ARM targets, but should give some improvements to other targets also. The patches provide a number of improvements: * Support f

Re: SRA generates uninitialized var use

2011-06-23 Thread Martin Jambor
Hi, On Mon, Jun 20, 2011 at 10:47:58PM +0200, Richard Guenther wrote: > On Mon, Jun 20, 2011 at 6:15 PM, Xinliang David Li wrote: > > It is used to indicate the fact the var decl needs to have a memory > > home (addressable) -- is there another way to do this? this is to > > avoid the following s

Re: varpool alias reorg

2011-06-23 Thread H.J. Lu
On Sat, Jun 18, 2011 at 7:19 AM, H.J. Lu wrote: > On Sat, Jun 18, 2011 at 1:32 AM, Jan Hubicka wrote: >> Hi, >> this patch makes symetric changes to varpool as did the prevoius series to >> cgraph. >> Basically the aliases are now represented as separate varpool nodes with >> alias reference >>

[PATCH] Use get_pointer_alignment in vect_compute_data_ref_alignment

2011-06-23 Thread Jakub Jelinek
Hi! This is a precondition of the __builtin_assume_aligned patch (otherwise it wouldn't be useful for vectorization for which it has been designed), but I've bootstrapped/regtested it on x86_64-linux and i686-linux separately. get_pointer_alignment can tell us that a pointer is already sufficie

Re: PATCH: PR rtl-optimization/49504: Invalid optimization for Pmode != ptr_mode

2011-06-23 Thread H.J. Lu
On Wed, Jun 22, 2011 at 12:36:57PM -0700, H.J. Lu wrote: > Hi, > > I just don't see how nonzero_bits1 can assume if pointers extend unsigned > and this is an addition or subtraction to a pointer in Pmode, all the bits > bove ptr_mode are known to be zero. We never run into it before x32 > since x

Re: PR tree-optimize/49373 (IPA-PTA regression)

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 2:50 PM, Jan Hubicka wrote: >> > Ok, but please change the IPA inline gate to honor flag_no_inline >> > (thus, (optimize && !flag_no_inline) || flag_lto || flag_wpa). >> OK. > Actually it won't work, since results of inline-analysis are used by most of > other > IPA passes

Re: PR tree-optimize/49373 (IPA-PTA regression)

2011-06-23 Thread Jan Hubicka
> > Ok, but please change the IPA inline gate to honor flag_no_inline > > (thus, (optimize && !flag_no_inline) || flag_lto || flag_wpa). > OK. Actually it won't work, since results of inline-analysis are used by most of other IPA passes (i.e. ipa-cp and ipa-sra for cloning decisions, etc.). As we

Re: [Patch, AVR]: Fix PR46779

2011-06-23 Thread Hans-Peter Nilsson
Sorry for the earlier semi-empty mail (just quoting G-J), I meant to cancel it. Happy midsummer. brgds, H-P

Re: [Patch, AVR]: Fix PR46779

2011-06-23 Thread Hans-Peter Nilsson
On Wed, 22 Jun 2011, Georg-Johann Lay wrote: > Hans-Peter Nilsson schrieb: > > On Mon, 13 Jun 2011, Georg-Johann Lay wrote: > >> [In CCing Richard Henderson] > >> Denis Chertykov schrieb: > >>> 2011/6/10 Georg-Johann Lay : > > > Then I observed trouble with DI patterns during libgcc build a

Re: [PATCH][RFC][2/2] Bitfield lowering

2011-06-23 Thread Hans-Peter Nilsson
On Thu, 23 Jun 2011, Richard Guenther wrote: > On Wed, Jun 22, 2011 at 10:24 PM, Hans-Peter Nilsson > wrote: > > On Thu, 16 Jun 2011, Richard Guenther wrote: > > > >> This implements lowering a subset of COMPONENT_REFs with DECL_BIT_FIELD > >> FIELD_DECLs and BIT_FIELD_REFs - thus bitfield operat

Re: PR tree-optimize/49373 (IPA-PTA regression)

2011-06-23 Thread Jan Hubicka
> Ok, but please change the IPA inline gate to honor flag_no_inline > (thus, (optimize && !flag_no_inline) || flag_lto || flag_wpa). OK. > > Thanks for working on this, I'll look to some followup cleanups > for PTA. Now, when it works on LTRANS units we have to do > some adjustments (like not dis

[C++ Patch] PR 44625

2011-06-23 Thread Paolo Carlini
Hi, a patchlet for a pretty old ice-on-invalid regression. Tested x86_64-linux. Ok for mainline? Thanks, Paolo. /cp 2011-06-23 Paolo Carlini PR c++/44625 * pt.c (tsubst_copy_and_build): Do not use BASELINK_P on a NULL_TREE. /testsuite 2011-06-23 Paolo Car

Re: [pph] Fix binding_level's names_size streaming (issue4634071)

2011-06-23 Thread Diego Novillo
On Wed, Jun 22, 2011 at 20:17, Gabriel Dos Reis wrote: > On Wed, Jun 22, 2011 at 7:05 PM, Gabriel Charette wrote: >> And it looks like this wasn't sent to anyone directly... >> Adding back dnovillo and crowl (Diego I don't think Jason was ever >> added to the original message...?) > > should not

[v3] adjust tests to work in c++0x mode

2011-06-23 Thread Jonathan Wakely
This changes a few tests so they still work when the testsuite is run in c++0x mode, adding _GLIBCXX_CONSTEXPR to some declarations and qualifying some TR1 names to disambiguate them from the same names in namespace std. I think this is the right way to handle the failures. * testsuite/tr

Re: Mark variables addressable if they are copied using libcall in RTL expander

2011-06-23 Thread Eric Botcazou
> So, what's the patch(es) that need approval now? Original expr.c patch for PR rtl-optimization/49429 + adjusted and augmented calls.c patch for PR target/49454. Everything is in this thread. Easwaran, would you mind posting a consolidated patch? -- Eric Botcazou

Re: Mark variables addressable if they are copied using libcall in RTL expander

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 10:00 AM, Eric Botcazou wrote: >> Is the following patch a reasonable fix for this case? > > The lines should be moved to within the first branch of the subsequent "if". > They aren't needed if the second branch is taken because, in this case, we're > back to the usual call

Re: [PATCH] Improve dump files for SRA early candidate check

2011-06-23 Thread Richard Guenther
On Thu, Jun 23, 2011 at 8:07 AM, Eric Botcazou wrote: >> +         if (!host_integerp (DECL_FIELD_OFFSET (fld), 1)) >> +           { >> +             *msg = "structure field offset not host integer"; /* ??? */ >> +             return true; >> +           } > > Offsets can be variable, like sizes,

  1   2   >