Re: [PATCH] libgomp: Introduce gomp_thread::spare_team

2015-07-12 Thread Sebastian Huber
Ping. On 07/07/15 14:17, Sebastian Huber wrote: Try to re-use the previous team to avoid the use of malloc() and free() in the normal case where number of threads is the same. Avoid superfluous destruction and initialization of team synchronization objects. Using the microbenchmark posted here

Re: [PATCH 3/7] Fix trinary op

2015-07-12 Thread Mikhail Maltsev
On 07/10/2015 11:44 PM, Jeff Law wrote: > > OK after regression testing. > > jeff > Bootstrapped and regtested on x86_64-unknown-linux-gnu. Applied as r225727. -- Regards, Mikhail Maltsev

Re: [PATCH][4/n] Remove GENERIC stmt combining from SCCVN

2015-07-12 Thread Jeff Law
On 06/29/2015 01:58 AM, Richard Biener wrote: In principle the following works for the testcase (even w/o fixing the VRP part). Index: gcc/tree-ssa-dom.c === --- gcc/tree-ssa-dom.c (revision 225007) +++ gcc/tree-ssa-dom.c (workin

[committed] fix double word typos throughout compiler

2015-07-12 Thread Aldy Hernandez
As a general rule, I avoid committing typo fixes to areas of the compiler that I'm not directly touching. It's usually not worth the hassle of writing a ChangeLog entry, and I have a hard enough time keeping my ADHD in check. But today, while reading our vector and hash implementation in betw

[PATCH] remove some usage of expr_list from read_rtx

2015-07-12 Thread tbsaunde+gcc
From: Trevor Saunders Hi, It seems much simpler for read_rtx to just add rtxs to a vector than to deal with a bunch of expr list rtxen. bootstrapped + regtested on x86_64-linux-gnu, ok? Trev gcc/ChangeLog: 2015-07-12 Trevor Saunders * gensupport.c (rtx_handle_directive): Adjust.

Re: [PATCH] Fix PR c++/66850 (Adding a forward declaration causes ICE on valid code)

2015-07-12 Thread Patrick Palka
On Sun, Jul 12, 2015 at 7:31 PM, Patrick Palka wrote: > This patch attempts resolve the mentioned PR by fixing two underlying > issues: I should note that there is some overlap between the fixes. Technically fix #2 is sufficient to resolve the PR, whereas fix #1 can only resolve the first test ca

[PATCH] Fix PR c++/66850 (Adding a forward declaration causes ICE on valid code)

2015-07-12 Thread Patrick Palka
This patch attempts resolve the mentioned PR by fixing two underlying issues: 1. When a template is first declared we currently take care to set the DECL_CONTEXT of each of its template template parms to point to it (line 5119 in pt.c:push_template_decl_real). However, we currently don't do this

Re: [PATCH g++ driver] Push -static-libstdc++ back onto the command line to allow spec substitutions to use it.

2015-07-12 Thread Iain Sandoe
Ping On 18 Jun 2015, at 09:12, Iain Sandoe wrote: > Hi, > > This came up in a User question last night and reminded me that I had a patch > for it in my Q. > > > > Usually g++ driver support for -static-libstdc++ is provided by "-Bstatic > -lstdc++ -Bdynamic" and is currently disabled f

Re: [v3 PATCH] Implement make_array and to_array from the Fundamentals v2 TS draft

2015-07-12 Thread Ville Voutilainen
On 12 July 2015 at 21:45, Ville Voutilainen wrote: > Tested on Linux-PPC64. > > 2015-07-12 Ville Voutilainen > Implement std::experimental::fundamentals_v2::make_array and > std::experimental::fundamentals_v2::to_array. > * include/Makefile.am: Add array. > * include/Makefile.in

[PATCH] PR/66760, ipa-inline-analysis.c compile-time hog

2015-07-12 Thread Paolo Bonzini
From: bonz...@gnu.org In this PR, a lot of time is spent doing the same ipa_load_from_parm_agg query over and over. Luckily a memoization scheme is already there, it's just not used by ipa-inline-analysis.c. The patch moves the cache struct (struct func_body_info) to ipa-prop.h and modify ipa-in

Re: [PATCH] rs6000: Revamp rotate-and-mask and insert

2015-07-12 Thread David Edelsohn
On Sun, Jul 12, 2015 at 1:08 PM, Segher Boessenkool wrote: > This rewrites all the rotate-and-mask and insert patterns. > > The goals are to have simpler, shorter, less error-prone code (with much > fewer machine description patterns), as well as to get better optimised > machine code. > > All "ma

Re: Fix PR43404, PR48470, PR64744 ICE on naked functions

2015-07-12 Thread Alexander Basov
ping 2015-06-29 16:32 GMT+03:00 Alexander Basov : > I've updated patch with attributes lookup. > is it OK? > > -- > Alexander > > 2015-06-26 9:33 GMT+03:00 Alexander Basov : >> 2015-06-25 21:47 GMT+03:00 Jeff Law : >>> On 06/03/2015 02:15 PM, Alexander Basov wrote: Hello Jeff, pleas

[v3 PATCH] Implement make_array and to_array from the Fundamentals v2 TS draft

2015-07-12 Thread Ville Voutilainen
Tested on Linux-PPC64. 2015-07-12 Ville Voutilainen Implement std::experimental::fundamentals_v2::make_array and std::experimental::fundamentals_v2::to_array. * include/Makefile.am: Add array. * include/Makefile.in: Add array. * include/experimental/array: New. * testsui

[PATCH, rtl-optimization]: Fix PR66838, Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters

2015-07-12 Thread Uros Bizjak
Another missing case of CALL_INSN_FUNCTION_USAGE, where clobbered registers are also marked, this time in postreload/ reload_cse_move2add. Fixed compiler now generates following code callsysv_abi_func movl$global, %esi movl$.LC2, %edi callsysv_abi_func

Re: [PATCH] PR target/66824: Allow software FP SFmode in FP splitter

2015-07-12 Thread Uros Bizjak
On Sat, Jul 11, 2015 at 9:23 PM, H.J. Lu wrote: > On Thu, Jul 09, 2015 at 01:58:22PM -0700, H.J. Lu wrote: >> On Thu, Jul 09, 2015 at 12:13:38PM -0700, H.J. Lu wrote: >> > ix86_split_long_move can optimize floating point constant move, which >> > can be used to optimize SFmode move for IA MCU. >>

Re: [PATCH][C++] Fix PR65091

2015-07-12 Thread Paolo Carlini
On 07/11/2015 09:46 PM, Paolo Carlini wrote: Hi, I'm going to ping this one too: a tad less trivial than the other one - a little explanation here or in a comment would definitely help - but certainly it looks much simpler than my own tries a while ago... Regression testing information is als

[PATCH] rs6000: Revamp rotate-and-mask and insert

2015-07-12 Thread Segher Boessenkool
This rewrites all the rotate-and-mask and insert patterns. The goals are to have simpler, shorter, less error-prone code (with much fewer machine description patterns), as well as to get better optimised machine code. All "mask only" insns are now handled by a single pattern; all rotate (or shift

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:43, Tom de Vries wrote: On 09/07/15 14:24, Michael Matz wrote: Hi, On Thu, 9 Jul 2015, Tom de Vries wrote: Given this I think the call to gt_ggc_mx is superfluous because it wouldn't work relyably for multi-step dependencies anyway. Hence a situation that works with that call

[PATCH 5/5] Don't mark live recursively in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - estab

[PATCH 4/5] Downgrade value_expr_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - estab

[PATCH 3/5] Downgrade debug_expr_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - estab

[PATCH 2/5] Add struct tree_decl_map_hasher

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - estab

[PATCH 1/5] Downgrade debug_args_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - estab

Don't allow multi-step dependencies in caches

2015-07-12 Thread Tom de Vries
Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - establishing a policy for multi-step depe

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 09/07/15 14:24, Michael Matz wrote: Hi, On Thu, 9 Jul 2015, Tom de Vries wrote: Given this I think the call to gt_ggc_mx is superfluous because it wouldn't work relyably for multi-step dependencies anyway. Hence a situation that works with that call in place, and breaking without it is act

Re: [PATCH] MIPS: Correctly update the isa and arch_test_option_p variables after the arch dependency handling code in mips.exp

2015-07-12 Thread Richard Sandiford
Matthew Fortune writes: > Andrew Bennett writes: >> I have noticed that in the mips.exp dg-option handling code the isa and >> arch_test_option_p variables are not updated after the pre-arch to arch >> dependency handling. This means that if this code changes the >> architecture the post-arch de

[PATCH, RFC] combine: Don't create insv insns unless HAVE_insv

2015-07-12 Thread Segher Boessenkool
Currently combine tries to make assignments to bitfields (of a register) whenever it can. If the target has no insv pattern, the result will not ever match (if the MD is sane at all). Doing insv on registers generates worse code than what you get if you express things directly (with and/ior), so

[gomp4, committed] Handle nested loops in kernels regions

2015-07-12 Thread Tom de Vries
Hi, I. This patch allows parallelization of an outer loop in an openacc kernels region. The testcase is based on autopar/outer-1.c. II. We rely on pass_lim to move the *.omp_data_i loads out of the loop nest. For the test-case, pass_lim was managing to move the load out of the inner loop

Re: [PR66726] Factor conversion out of COND_EXPR

2015-07-12 Thread Kugan
On 11/07/15 06:40, Jeff Law wrote: > On 07/09/2015 05:08 PM, Kugan wrote: > >> Done. Bootstrapped and regression tested on x86-64-none-linux-gnu with >> no new regressions. Is this OK for trunk? > Thanks for the additional testcases. > > > >> + else >> +{ >> + /* If arg1 is an INTEG

Merge trunk r225562 (2015-07-08) into gomp-4_0-branch (was: gomp4 merge)

2015-07-12 Thread Thomas Schwinge
Hi! On Fri, 10 Jul 2015 18:50:20 -0400, Nathan Sidwell wrote: > it looks like the most recent merge from trunk to gomp4 was early May. I > think > it is time for another one -- can you handle that? Indeed :-) -- and, as it happens, resolving the "merge artifacts" is one of the things I've be