Re: Fix 61441

2015-09-10 Thread Sujoy Saraswati
Hi, Here is a modified patch for this. The change this time is in fold-const.c and real.c. Bootstrap and regression tests on x86_64-linux-gnu and aarch64-unknown-linux-gnu passed with changes done on trunk. Is this fine ? Regards, Sujoy 2015-09-10 Sujoy Saraswati PR tree-optimizatio

[PATCH] Make sure that contrib/download_prerequisites is run from correct place

2015-09-10 Thread Markus Trippelsdorf
A user complained on the gcc-help list that download_prerequisites wasn't working for him, because he ran it from the wrong directory. Tested on x86_64-pc-linux-gnu. OK for trunk and active branches? * download_prerequisites: Make sure that script is run from top level source dire

[PATCH] doc/install.texi: Mention contrib/download_prerequisites

2015-09-10 Thread Markus Trippelsdorf
Mention ./contrib/download_prerequisites on the "Downloading GCC" page. * doc/invoke.texi (Downloading GCC): Mention contrib/download_prerequisites script. OK for trunk? Thanks. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 24e7eed13800..d474cca0f54c 100644 --- a

[PATCH] Put C DECL_EXPRs into OMP_FOR_PRE_BODY (PR c/67502)

2015-09-10 Thread Jakub Jelinek
Hi! This C FE patch tweaks c_parser_omp_for_loop so that it puts for IVs declared in for loops their DECL_EXPRs into OMP_FOR_PRE_BODY so that the gimplifier can find them and avoid doing copyout for them. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk and 5 branch. 201

[C++ PATCH] Fix OpenMP class iterator error recovery (PR c++/67511)

2015-09-10 Thread Jakub Jelinek
Hi! The gimplifier does not like if error_mark_node is forcefully wrapped into a NOP_EXPR. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk and 5 branch. 2015-09-10 Jakub Jelinek PR c++/67511 * semantics.c (handle_omp_for_class_iterator): Don't wrap

Re: [PATCH] doc/install.texi: Mention contrib/download_prerequisites

2015-09-10 Thread Jakub Jelinek
On Thu, Sep 10, 2015 at 09:43:20AM +0200, Markus Trippelsdorf wrote: > Mention ./contrib/download_prerequisites on the "Downloading GCC" page. > > * doc/invoke.texi (Downloading GCC): Mention > contrib/download_prerequisites script. > > OK for trunk? > Thanks. > > diff --git a/gcc/do

[PATCH] Further OpenMP linear NO_COPYOUT or lastprivate changes (PR c++/67514)

2015-09-10 Thread Jakub Jelinek
Hi! Apparently in some cases with template instantiation it is hard to get all the DECL_EXPRs into OMP_FOR_PRE_BODY, I've been attempting it for a while on the C++ FE side, but it broke lots of tests. So, this instead deals with it at the gimplifier side, for combined for simd if the IV is define

[PATCH] Fix up ICE with linear on questionable testcase (PR middle-end/67517)

2015-09-10 Thread Jakub Jelinek
Hi! The spec is unclear how to handle this yet, so I'm committing an easy fix, perhaps the right one will be to deal with the wrapping of inner linear into outer firstprivate/lastprivate and/or shared during clause splitting in the FEs. Bootstrapped/regtested on x86_64-linux and i686-linux, commi

[PATCH] Fix up OpenMP ICE on even more problematic testcase (PR middle-end/67521)

2015-09-10 Thread Jakub Jelinek
Hi! This is even more controversial testcase (and even more if the vars are defined in the loop, then we still ICE on it :( ). At least for the latter case, I'd be in favour of just erroring out. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk and 5 branch. 2015-09-10

[C++ PATCH] Avoid calling type_dependent_expression_p on TYPE_DECLs (PR c++/67522)

2015-09-10 Thread Jakub Jelinek
Hi! On invalid code, apparently a few spots in the clause handling could call type_dependent_expression_p on a TYPE_DECL, which then fails assertion. This arranges for it to be called only on the VAR/PARM_DECLs. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk and 5 bran

[PATCH] Fix ICE on invalid combined loop constructs in templates (PR c++/67523)

2015-09-10 Thread Jakub Jelinek
Hi! During template instantiation, it is hard to find out if the inner combined loop construct is invalid and to remove the outer construct in that case too. So, this patch instead deals with that during gimplification. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk an

[PATCH][RTL-ifcvt] PR rtl-optimization/67465: Handle pairs of complex+simple blocks and empty blocks more gracefully

2015-09-10 Thread Kyrill Tkachov
Hi all, This is the second attempt to fix the PRs. The first one at https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00449.html does the trick, but is overly restrictive. This one allows for cases when one block is complex and the other one is simple or empty. Earlier, this case would bypass the b

Re: [PATCH][optabs][ifcvt][1/3] Define negcc, notcc optabs

2015-09-10 Thread Kyrill Tkachov
On 09/09/15 22:51, Jeff Law wrote: On 09/02/2015 07:43 AM, Kyrill Tkachov wrote: + rtx_code code; + if (val_a == -val_b) Do we have to worry about signed overflow here? I'm thinking specifically when val_b is the smallest possible integer representable by a HOST_WIDE_INT. I suspect you ma

Re: [PATCH][AArch64][2/3] Implement negcc, notcc optabs

2015-09-10 Thread James Greenhalgh
On Tue, Sep 01, 2015 at 04:04:37PM +0100, Kyrill Tkachov wrote: > Hi all, > > This second patch implements the new optabs for aarch64. > The new expander is almost identical to the movcc expander > except that operand 2 has a neg or a not before it to reflect the > fact that it should be negated i

Re: [Patch, fortran] Submodules and private entities

2015-09-10 Thread Paul Richard Thomas
Dear FX, Thanks. I was waiting to resolve this issue before documenting submodules. I will write something to go with this patch. There are three PRs out there for submodules: 52846 - submodule support, which I do not want to close until 66993 - host association problem ... is fixed. <= Reall

[hsa] Fix TARGET_MEM_REF code emission.

2015-09-10 Thread Martin Liška
Hello. Following patch changes type of an immediate constant in an address calculation to respect an address type. Martin >From fcbcf975217d44b0bd4674bda972b0a28b1a6afa Mon Sep 17 00:00:00 2001 From: mliska Date: Thu, 10 Sep 2015 10:16:12 +0200 Subject: [PATCH] HSA: fix TARGET_MEM_REF code emiss

[PATCH][AArch64] Use logics_imm type for 2nd alternative of *and3nr_compare0

2015-09-10 Thread Kyrill Tkachov
Hi all, The TST with immediate instruction should have the logics_imm scheduling type. This patch fixes that in the *and3nr_compare0 pattern. Nothing much else to say on this. Tested on aarch64. Ok for trunk? Thanks, Kyrill 2015-09-10 Kyrylo Tkachov * config/aarch64/aarch64.md (*and3nr

Re: [PATCH][AArch64] Use logics_imm type for 2nd alternative of *and3nr_compare0

2015-09-10 Thread James Greenhalgh
On Thu, Sep 10, 2015 at 10:01:52AM +0100, Kyrill Tkachov wrote: > Hi all, > > The TST with immediate instruction should have the logics_imm scheduling type. > This patch fixes that in the *and3nr_compare0 pattern. > Nothing much else to say on this. > > Tested on aarch64. > Ok for trunk? OK (and

[PATCH][ARM] PR 67439: Allow matching of *arm32_movhf when -mrestrict-it is on

2015-09-10 Thread Kyrill Tkachov
Hi all, The ICE in this PR occurs when trying to compile code containing half-precision FP operations for Thumb2 with -mrestrict-it and an -mfpu that does not support fp16 (-mfpu=neon or lower). The problem is that we disable for -mrestrict-it the *arm32_movhf pattern that performs the move u

Re: [PATCH][ARM][3/3] Implement negsicc, notsicc optabs

2015-09-10 Thread Ramana Radhakrishnan
On 01/09/15 16:10, Kyrill Tkachov wrote: > [Resending with patch attached] > > Hi all, > > This third patch implements the new optabs for arm. > Conveniently, we can reuse the recently refactored *if_neg_move pattern > and extend it to cover the conditional NOT case. > Although arm has conditio

[COMMITTED]AArch64] Skip tiny and large code model on gcc.target/aarch64/pic-small.c

2015-09-10 Thread Jiong Wang
The testcase is written for small model. If customized local test environment add -mcmodel=tiny explicitly then it will override what's passed in dg-options. Need to apply the same restriction as got_mem_hoist_1.c Committed as obivious. gcc/testsuite/ * gcc.target/aarch64/pic-small.c (dg-ski

Re: [PATCH][ARM] PR 67439: Allow matching of *arm32_movhf when -mrestrict-it is on

2015-09-10 Thread Ramana Radhakrishnan
On Thu, Sep 10, 2015 at 10:03 AM, Kyrill Tkachov wrote: > Hi all, > > The ICE in this PR occurs when trying to compile code containing > half-precision FP operations > for Thumb2 with -mrestrict-it and an -mfpu that does not support fp16 > (-mfpu=neon or lower). > > The problem is that we disable

Re: ARC length attribute patch

2015-09-10 Thread Joern Wolfgang Rennecke
On 23/03/15 09:02, Claudiu Zissulescu wrote: Hi Joern, I have a small patch for ARC backend that fixes the value of instruction length attribute when the instruction is predicated. Ok to apply? Why would the arc_bdr_iscond test have any effect? arc_predicate_delay_insns should render the iss

RE: ARC length attribute patch

2015-09-10 Thread Claudiu Zissulescu
> > I have committed this patch. Thank you, Claudiu

Re: [ARC] Cleanup A5 references

2015-09-10 Thread Joern Wolfgang Rennecke
On 20/08/15 12:42, Claudiu Zissulescu wrote: This patch cleans up the references to obsolete A5 processor. Can this be committed? Thanks, Claudiu 2015-08-20 Claudiu Zissulescu * common/config/arc/arc-common.c, config/arc/arc-opts.h, config/arc/arc.c, config/arc/arc.h, co

RE: [ARC] Cleanup A5 references

2015-09-10 Thread Claudiu Zissulescu
> The fact that ARCtangent-A5 is obsolete is not a reason in itself to delete > the > support for it . However, as we have no-one who wants to keep these bits in > working order - in fact, it is presumed to be incomplete / bitrotted by now - > would-be users of that old processor variant will be

[gomp4.1] Follow-up to PRs 67504 and 67522

2015-09-10 Thread Jakub Jelinek
Hi! This patch repeats PR67504 changes to ordered clause too, and adjusts PR67522 testcase to also test array reductions. 2015-09-10 Jakub Jelinek * parser.c (cp_parser_omp_clause_ordered): Test tree_fits_shwi_p before INTEGRAL_TYPE_P test. * g++.dg/gomp/pr67504.C (fo

[hsa] Treat address values specially

2015-09-10 Thread Martin Jambor
Hi, I have found out that the hsa branch ICEs when expanding the following tot HSAIL: int foo () { #pragma omp target { int q[8]; __builtin_memset (&q[2], 0, sizeof (int) * 6); } } The problem was that gen_hsa_addr was used for both values and memory reference trees, which are really

Re: [AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.

2015-09-10 Thread Alan Lawrence
On 09/09/15 11:31, Alan Lawrence wrote: Hmmm, hang on. I'm not quite sure what the actual issue/bug is here, but is this the same issue as my patch 12 "with BE RTL fix"? (https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01482.html, explanation last at https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02

[hsa] Fix insn type in gen_hsa_ternary_atomic_for_builtin

2015-09-10 Thread Martin Jambor
Hi, it turns out I got the HSA types wrong in gen_hsa_ternary_atomic_for_builtin. The following patch makes the disassembler/verifier happy. Committed to the branch. Martin 2015-09-10 Martin Jambor * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fix instruction type, add

[AArch64] Simplify TLS pattern by hardcoding relocation modifiers into pattern

2015-09-10 Thread Jiong Wang
TLS instruction sequences are always with fixed format, there is no need to use operand modifier, we can hardcode the relocation modifiers into instruction pattern, all those redundant checks in aarch64_print_operand can be removed. OK for trunk? 2015-09-10 Jiong Wang gcc/ * config/aarch64

Re: [PATCH][RTL-ifcvt] PR rtl-optimization/67465: Handle pairs of complex+simple blocks and empty blocks more gracefully

2015-09-10 Thread Rainer Orth
Hi Kyrill, > Rainer, could you please check that this patch still fixes the SPARC > regressions? unfortunately, it breaks sparc-sun-solaris2.10 bootstrap: compiling stage2 libiberty/regex.c FAILs: In file included from /vol/gcc/src/hg/trunk/local/libiberty/regex.c:640:0: /vol/gcc/src/hg/trunk/lo

[Patch, fortran] PR66993 - Spurious ambiguous symbol error with submodules

2015-09-10 Thread Paul Richard Thomas
Dear All, This is a very straight forward patch of a problem picked up by Mikael. Since module symbols host associated in the submodule statement are read using the use association mechanism, the can be wrongly detected as being ambiguous with use associated symbols. The latter have precedence, si

[PATCH 2/3] remove unused defines from sendmsg.c

2015-09-10 Thread tbsaunde+gcc
From: Trevor Saunders libobjc/ChangeLog: 2015-09-10 Trevor Saunders * sendmsg.c (gen_rtx): Remove macro. (gen_rtx_MEM): Likewise. (gen_rtx_REG): Likewise. (rtx): Likewise. --- libobjc/sendmsg.c | 7 --- 1 file changed, 7 deletions(-) diff --git a/libobjc

[PATCH 1/3] remove STRUCT_VALUE macro

2015-09-10 Thread tbsaunde+gcc
From: Trevor Saunders It is undocumented so the meaning is unclear, but it is only ever defined to 0, which the one user in libobjc treats the same as being undefined. gcc/ChangeLog: 2015-09-10 Trevor Saunders * config/arc/arc.h: Remove define of STRUCT_VALUE. * config/lm32/

[PATCH 0/3] remove tm.h from libobjc/sendmsg.c

2015-09-10 Thread tbsaunde+gcc
From: Trevor Saunders Hi, I thought I'd see how hard it is to get tm.h out of libobjc/ so it wouldn't be necessary to check there for uses of target macros. each patch individually bootstrapped + regtested on x86_64-linux-gnu, ok? Trev Trevor Saunders (3): remove STRUCT_VALUE macro remov

[PATCH 3/3] stop including tm.h in sendmsg.c

2015-09-10 Thread tbsaunde+gcc
From: Trevor Saunders libobjc/ChangeLog: 2015-09-10 Trevor Saunders * sendmsg.c (tm.h): Remove include. --- libobjc/sendmsg.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c index ba31930..8eb6d54 100644 --- a/libobjc/sendmsg.c +++ b/libobj

[gomp4] predicate register caching

2015-09-10 Thread Nathan Sidwell
I've committed this to gomp4. Rather than recalculate the 'not lane 0' predicate on each use, we calculate it at the top of the function and use throughout. This appears to be the recommended approach. nathan 2015-09-10 Nathan Sidwell * config/nvptx/nvptx.c (nvptx_init_axis_predicate): N

Re: [PATCH 1/3] remove STRUCT_VALUE macro

2015-09-10 Thread Bernd Schmidt
On 09/10/2015 01:57 PM, tbsaunde+...@tbsaunde.org wrote: > From: Trevor Saunders > > It is undocumented so the meaning is unclear, but it is only ever > defined to 0, which the one user in libobjc treats the same as being > undefined. Apparently it was converted to TARGET_STRUCT_VALUE_RTX in 200

Re: [PATCH 3/3] stop including tm.h in sendmsg.c

2015-09-10 Thread Bernd Schmidt
On 09/10/2015 01:57 PM, tbsaunde+...@tbsaunde.org wrote: > From: Trevor Saunders > > libobjc/ChangeLog: > > 2015-09-10 Trevor Saunders > > * sendmsg.c (tm.h): Remove include. Ok for this and the previous one too. If it turns out we still need this information we'll figure something ou

Re: [PATCH][RTL-ifcvt] PR rtl-optimization/67465: Handle pairs of complex+simple blocks and empty blocks more gracefully

2015-09-10 Thread Kyrill Tkachov
Hi Rainer, On 10/09/15 12:43, Rainer Orth wrote: Hi Kyrill, Rainer, could you please check that this patch still fixes the SPARC regressions? unfortunately, it breaks sparc-sun-solaris2.10 bootstrap: compiling stage2 libiberty/regex.c FAILs: Thanks for trying it out. I'll try reproducing wi

Re: [C++ Patch] PR 67318 ("[6 regression] Parsing error when using abbreviated integral type names in template parameter pack declaration")

2015-09-10 Thread Jason Merrill
OK. Jason

Re: [PATCH 0/3] remove tm.h from libobjc/sendmsg.c

2015-09-10 Thread pinskia
> On Sep 10, 2015, at 7:57 PM, tbsaunde+...@tbsaunde.org wrote: > > From: Trevor Saunders > > Hi, > > I thought I'd see how hard it is to get tm.h out of libobjc/ so it wouldn't be > necessary to check there for uses of target macros. I once had a branch which did this and then I got busy

Re: [PATCH 0/3] remove tm.h from libobjc/sendmsg.c

2015-09-10 Thread Joseph Myers
On Thu, 10 Sep 2015, tbsaunde+...@tbsaunde.org wrote: > I thought I'd see how hard it is to get tm.h out of libobjc/ so it wouldn't be > necessary to check there for uses of target macros. The issue is PR libobjc/24775, so include that in the ChangeLog entry for any relevant patch (and if finish

Ping^2 Re: Pass -foffload targets from driver to libgomp at link time

2015-09-10 Thread Joseph Myers
Ping^2. This patch is still pending review. -- Joseph S. Myers jos...@codesourcery.com

Unreviewed libgo patch

2015-09-10 Thread Rainer Orth
The following libgo patch [libgo] Use stat_atim.go on Solaris 12+ https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01590.html has remained unreviewed for two weeks. It's required to allow bootstrap on Solaris 12. Rainer -- -

Re: Ping^2 Re: Pass -foffload targets from driver to libgomp at link time

2015-09-10 Thread Bernd Schmidt
On 09/10/2015 03:41 PM, Joseph Myers wrote: > Ping^2. This patch > is still > pending review. No fundamental objections, but I have some questions. Cuold you describe what the handling of flags/lang_mask accomplishes in this patch? Woul

[AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.

2015-09-10 Thread James Greenhalgh
On Wed, Sep 09, 2015 at 10:28:28AM +0100, Christophe Lyon wrote: > On 9 September 2015 at 10:31, James Greenhalgh > wrote: > > > > Hi, > > > > This patch clears up some remaining confusion in the vector lane orderings > > for the two intrinsics mentioned in the title. > > > > Bootstrapped on aar

[gomp4.1] Initial #pragma omp ordered simd support

2015-09-10 Thread Jakub Jelinek
Hi! This patch just makes sure (for now) that we don't vectorize loops with #pragma omp ordered simd in them (directly or inlined into them). Later on we can teach the vectorizer to handle some of the cases (but supposedly the markers would need to become stronger barriers, so that earlier optimiz

Backports of Solaris 12 patches to gcc 5 branch

2015-09-10 Thread Rainer Orth
I've now backported the following two patches [boehm-gc] Avoid unstructured procfs on Solaris https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01591.html [build] Use __cxa_atexit on Solaris 12+ https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01593.html to the gcc 5 bra

[Committed] S/390: Don't use vgm for v1ti and v1tf.

2015-09-10 Thread Andreas Krebbel
gcc/ChangeLog: 2015-09-10 Andreas Krebbel * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if the vector element is bigger than 64 bit. gcc/testsuite/ChangeLog: 2015-09-10 Andreas Krebbel * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V

[Committed] S/390: Add V1TImode to constant pool modes.

2015-09-10 Thread Andreas Krebbel
gcc/ChangeLog: 2015-09-10 Andreas Krebbel * config/s390/s390.c: Add V1TImode to constant pool modes. --- gcc/config/s390/s390.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index cbfc800..a664443 100644 --- a/

[Committed] S/390: Fix mode iterators vmal, vmah, and vmalh.

2015-09-10 Thread Andreas Krebbel
gcc/ChangeLog: 2015-09-10 Andreas Krebbel * config/s390/vx-builtins.md ("vec_vmal", "vec_vmah") ("vec_vmalh"): Change mode iterator from VI_HW to VI_HW_QHS. --- gcc/config/s390/vx-builtins.md | 30 +++--- 1 file changed, 15 insertions(+), 15 deletions(-

Re: [Patch, fortran] PR66993 - Spurious ambiguous symbol error with submodules

2015-09-10 Thread FX
> 2015-08-10 Paul Thomas > >PR fortran/66993 >* module.c (read_module): If a symtree exists and the symbol has >been associated in a submodule from a parent (sub)module, attach >the symbol to a 'unique symtree' and the new symbol to the >existing symtree. > > 2015-08-10 Pa

Re: [PATCH][RTL-ifcvt] PR rtl-optimization/67465: Handle pairs of complex+simple blocks and empty blocks more gracefully

2015-09-10 Thread Kyrill Tkachov
On 10/09/15 12:43, Rainer Orth wrote: Hi Kyrill, Rainer, could you please check that this patch still fixes the SPARC regressions? unfortunately, it breaks sparc-sun-solaris2.10 bootstrap: compiling stage2 libiberty/regex.c FAILs: Thanks for providing the preprocessed file. I've reproduce

[PATCH] vectorizing conditional expressions (PR tree-optimization/65947)

2015-09-10 Thread Alan Hayward
Hi, This patch (attached) adds support for vectorizing conditional expressions (PR 65947), for example: int condition_reduction (int *a, int min_v) { int last = 0; for (int i = 0; i < N; i++) if (a[i] < min_v) last = a[i]; return last; } To do this the loop is vectorised to create

[SH][committed] Fix PR 67506

2015-09-10 Thread Oleg Endo
Hi, I've committed the following fix for PR 67506 as r227646 on trunk and as r227647 on the gcc-5 branch. The patch was tested by Kaz on sh4-linux. I've added the testcase and briefly checked it with make all and make -k check RUNTESTFLAGS="compile.exp=pr67506.c --target_board=sh-sim \{-m2/-ml,-

[PATCH 2/2] shrink-wrap: Rewrite try_shrink_wrapping

2015-09-10 Thread Segher Boessenkool
This patch rewrites the shrink-wrapping algorithm, allowing non-linear pieces of CFG to be duplicated for use without prologue instead of just linear pieces. On PowerPC, this enables shrink-wrapping of about 2%-3% more functions. I expected more, but in most cases this would help we cannot yet shr

[PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread Segher Boessenkool
This makes a few functions used only in shrink-wrap.c static, and removes their declarations from shrink-wrap.h . Bootstrapped and regression checked on powerpc64-linux. Is this okay for mainline? Segher 2015-09-10 Segher Boessenkool * shrink-wrap.c (requires_stack_frame_p): Make

Re: [PATCH 00/10] removal of typedefs that hide pointerness episode 1

2015-09-10 Thread David Malcolm
On Thu, 2015-09-03 at 11:48 +0200, Richard Biener wrote: > On Thu, Sep 3, 2015 at 7:26 AM, wrote: > > From: Trevor Saunders > > > > Hi, > > > > Personally I think hiding that variables are pointers is confusing, and I > > believe consensus is we should move away from this style. So this series

Re: [PATCH 2/2] shrink-wrap: Rewrite try_shrink_wrapping

2015-09-10 Thread Jiong Wang
Segher Boessenkool writes: > 2015-09-10 Segher Boessenkool > > * shrink-wrap.c (requires_stack_frame_p): Fix formatting. > (dup_block_and_redirect): Delete function. > (can_dup_for_shrink_wrapping): New function. > (fix_fake_fallthrough_edge): New function. >

Re: [PATCH 2/2] shrink-wrap: Rewrite try_shrink_wrapping

2015-09-10 Thread Segher Boessenkool
On Thu, Sep 10, 2015 at 04:22:34PM +0100, Jiong Wang wrote: > > Segher Boessenkool writes: > > > 2015-09-10 Segher Boessenkool > > > > * shrink-wrap.c (requires_stack_frame_p): Fix formatting. > > (dup_block_and_redirect): Delete function. > > (can_dup_for_shrink_wrappi

Re: [PATCH 2/2] shrink-wrap: Rewrite try_shrink_wrapping

2015-09-10 Thread Segher Boessenkool
On Thu, Sep 10, 2015 at 10:41:53AM -0500, Segher Boessenkool wrote: > > > * shrink-wrap.c (requires_stack_frame_p): Fix formatting. > > > (dup_block_and_redirect): Delete function. > > > (can_dup_for_shrink_wrapping): New function. > > > (fix_fake_fallthrough_edge):

Re: [Patch, fortran] PR66993 - Spurious ambiguous symbol error with submodules

2015-09-10 Thread Paul Richard Thomas
Committed as revision 227648. Thanks for the review and for the PR. Paul On 10 September 2015 at 16:22, FX wrote: >> 2015-08-10 Paul Thomas >> >>PR fortran/66993 >>* module.c (read_module): If a symtree exists and the symbol has >>been associated in a submodule from a parent (s

PING: [gcc-5-branch][PATCH] PR rtl-optimization/67029: gcc-5.2.0 unable to find a register to spill with O3 fsched-pressure fschedule-insns

2015-09-10 Thread H.J. Lu
On Fri, Aug 7, 2015 at 12:38 PM, H.J. Lu wrote: > On Thu, Aug 6, 2015 at 11:19 AM, Richard Sandiford > wrote: >> "H.J. Lu" writes: >>> Since ira_implicitly_set_insn_hard_regs may be called outside of >>> ira-lives.c, it can't use the local variable, preferred_alternatives. >>> This patch adds an

Re: [patch] Enable lightweight checks with _GLIBCXX_ASSERTIONS.

2015-09-10 Thread Martin Sebor
On 09/09/2015 09:58 AM, Florian Weimer wrote: On 09/08/2015 05:45 PM, Jonathan Wakely wrote: I doubt we can achieve the complexity goals in all cases. I expect that for (int i = 0; i < 1; ++i) { vector[i]; } is optimized away in default mode, but with _GLIBCXX_ASSERTIONS, it is n

Re: [patch] Enable lightweight checks with _GLIBCXX_ASSERTIONS.

2015-09-10 Thread Florian Weimer
On 09/10/2015 06:30 PM, Martin Sebor wrote: > On 09/09/2015 09:58 AM, Florian Weimer wrote: >> On 09/08/2015 05:45 PM, Jonathan Wakely wrote: >> I doubt we can achieve the complexity goals in all cases. I expect that for (int i = 0; i < 1; ++i) { vector[i];

[x86 PATCH] Improve performance for Haswell family.

2015-09-10 Thread Yuri Rumyantsev
Hi All, Here is updated patch introducing new .md file describing Haswell pipeline. Reassociation width for float-point instructions was increased to 4 for Haswell family. Regression testing did not show any new failures. Is it OK for trunk? ChangeLog 2015-09-10 Yuri Rumyantsev * config/i386

Re: [x86 PATCH] Improve performance for Haswell family.

2015-09-10 Thread H.J. Lu
On Thu, Sep 10, 2015 at 9:39 AM, Yuri Rumyantsev wrote: > Hi All, > > Here is updated patch introducing new .md file describing Haswell > pipeline. Reassociation width for float-point instructions was > increased to 4 for Haswell family. > > Regression testing did not show any new failures. > Is i

Re: [x86 PATCH] Improve performance for Haswell family.

2015-09-10 Thread Uros Bizjak
Hello! > Here is updated patch introducing new .md file describing Haswell > pipeline. Reassociation width for float-point instructions was > increased to 4 for Haswell family. > > Regression testing did not show any new failures. > Is it OK for trunk? > > ChangeLog > 2015-09-10 Yuri Rumyantsev

Re: [patch] Enable lightweight checks with _GLIBCXX_ASSERTIONS.

2015-09-10 Thread Martin Sebor
On 09/10/2015 10:38 AM, Florian Weimer wrote: On 09/10/2015 06:30 PM, Martin Sebor wrote: On 09/09/2015 09:58 AM, Florian Weimer wrote: On 09/08/2015 05:45 PM, Jonathan Wakely wrote: I doubt we can achieve the complexity goals in all cases. I expect that for (int i = 0; i < 1; ++i) {

Re: [PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread Bernd Schmidt
On 09/10/2015 05:14 PM, Segher Boessenkool wrote: > > * shrink-wrap.c (requires_stack_frame_p): Make static. > (prepare_shrink_wrap): Likewise. > (dup_block_and_redirect): Likewise. > * shrink-wrap.h: Remove declarations of those functions. This is ok. Bernd

[PATCH, rs6000] Extend LE swap optimization to handle vector permutes with constant masks

2015-09-10 Thread Bill Schmidt
Currently the little-endian swap optimization is disabled for computations that include vector permute instructions. We generate a vperm in a variety of ways, and for the most general cases, we can't replace a vperm with a swap-equivalent sequence without cost modeling. However, the most common us

Re: [PATCH, rs6000] Extend LE swap optimization to handle vector permutes with constant masks

2015-09-10 Thread David Edelsohn
On Thu, Sep 10, 2015 at 1:41 PM, Bill Schmidt wrote: > Currently the little-endian swap optimization is disabled for > computations that include vector permute instructions. We generate a > vperm in a variety of ways, and for the most general cases, we can't > replace a vperm with a swap-equivale

[gomp4] Remove more gang local bits

2015-09-10 Thread Nathan Sidwell
I've committed this to gomp4 branch. It removes more now-obsolete bits of gang local handling. nathan 2015-09-10 Nathan Sidwell include/ * gomp-constants.h (GOMP_MAP_FLAG_GANGLOCAL): Delete. (enum gomp_map_kind): Remove GOMP_MAP_GANGLOCAL, GOMP_MAP_FORCE_TO_GANGLOCAL). libgomp/ * oac

[gomp4] Use cuda library's error strings

2015-09-10 Thread Nathan Sidwell
The cuda library has had an errnum->string converter documented and present since at least Cuda 5.5. Unfortunately it was only declared in the header file from cuda 7. This patch uses that interface, and locally declares the interface if the cuda version is too low. Applied to gomp4 branc

Re: [PATCH, rs6000] Extend LE swap optimization to handle vector permutes with constant masks

2015-09-10 Thread Bernhard Reutner-Fischer
On September 10, 2015 7:48:10 PM GMT+02:00, David Edelsohn wrote: >On Thu, Sep 10, 2015 at 1:41 PM, Bill Schmidt > wrote: >> Currently the little-endian swap optimization is disabled for >> computations that include vector permute instructions. We generate a >> vperm in a variety of ways, and fo

Re: [Patch] Teach RTL ifcvt to handle multiple simple set instructions

2015-09-10 Thread Bernd Schmidt
On 09/08/2015 04:53 PM, James Greenhalgh wrote: One big question I have with this patch is how I ought to write a meaningful cost model I've used. It seems like yet another misuse of RTX costs, and another bit of stuff for targets to carefully balance. Now, if the relative cost of branches and co

Go patch committed: report errors from very large types

2015-09-10 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to report an ordinary error for a type that is too large to represent in Go, rather than crashing. This fixes https://golang.org/issue/11554 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2015-09-10

Re: [PATCH] Make sure that contrib/download_prerequisites is run from correct place

2015-09-10 Thread Jeff Law
On 09/10/2015 01:33 AM, Markus Trippelsdorf wrote: A user complained on the gcc-help list that download_prerequisites wasn't working for him, because he ran it from the wrong directory. Tested on x86_64-pc-linux-gnu. OK for trunk and active branches? * download_prerequisites: Make sure

Re: [Patch, fortran] PR66681 - Wrong result in assigning this_image() to a complex coarray

2015-09-10 Thread Paul Richard Thomas
Dear FX, I am puzzled by this business of the SAVE_EXPR: First, I agree entirely that it is a mystery as to why the SAVE_EXPR appears. It does not do so for array elements nor for arrays. Secondly, as far as I can tell, SAVE_EXPR_RESOLVED_P(…) merely implies that a pointer to a tree is returned.

Re: [PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread H.J. Lu
On Thu, Sep 10, 2015 at 8:14 AM, Segher Boessenkool wrote: > This makes a few functions used only in shrink-wrap.c static, and > removes their declarations from shrink-wrap.h . > > Bootstrapped and regression checked on powerpc64-linux. Is this > okay for mainline? > > > Segher > > > 2015-09-10

Re: [PATCH, rs6000] Extend LE swap optimization to handle vector permutes with constant masks

2015-09-10 Thread Bill Schmidt
On Thu, 2015-09-10 at 19:55 +0200, Bernhard Reutner-Fischer wrote: > On September 10, 2015 7:48:10 PM GMT+02:00, David Edelsohn > wrote: > >On Thu, Sep 10, 2015 at 1:41 PM, Bill Schmidt > > wrote: > >> Currently the little-endian swap optimization is disabled for > >> computations that include ve

Re: [PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread Jeff Law
On 09/10/2015 12:49 PM, H.J. Lu wrote: On Thu, Sep 10, 2015 at 8:14 AM, Segher Boessenkool wrote: This makes a few functions used only in shrink-wrap.c static, and removes their declarations from shrink-wrap.h . Bootstrapped and regression checked on powerpc64-linux. Is this okay for mainline

Re: [PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread Segher Boessenkool
On Thu, Sep 10, 2015 at 11:49:33AM -0700, H.J. Lu wrote: > On Thu, Sep 10, 2015 at 8:14 AM, Segher Boessenkool > wrote: > > This makes a few functions used only in shrink-wrap.c static, and > > removes their declarations from shrink-wrap.h . > It breaks build on i386: Sorry about that. I did gr

Re: [PATCH 1/2] shrink-wrap: Header hygiene

2015-09-10 Thread H.J. Lu
On Thu, Sep 10, 2015 at 12:09 PM, Segher Boessenkool wrote: > On Thu, Sep 10, 2015 at 11:49:33AM -0700, H.J. Lu wrote: >> On Thu, Sep 10, 2015 at 8:14 AM, Segher Boessenkool >> wrote: >> > This makes a few functions used only in shrink-wrap.c static, and >> > removes their declarations from shrin

Re: Fix reload1.c warning for some targets

2015-09-10 Thread Richard Sandiford
Jeff Law writes: > On 09/03/2015 02:39 AM, Richard Sandiford wrote: >> so for now how about just turning -Wmaybe-uninitialized into >> a warning for this function? The patch will mean that it becomes >> a warning even if someone turns off warnings on the command line, >> but I don't think that's

[patch] Two small libstdc++ testsuite tweaks

2015-09-10 Thread Jonathan Wakely
For the custom pointer type in testsuite_allocator.h to satisfy the RandomAccessIterator requirements it needs operator[], so this adds it. I'm not sure what 21_strings/basic_string/operators/char/1.cc was testing originally, but we might as well verify the string contents that the comments say w

New power of 2 hash policy

2015-09-10 Thread François Dumont
Hi Here is a patch to offer an alternative hash policy. This one is using power of 2 number of buckets allowing a faster modulo operation. This is obvious when running the performance test that I have adapted to use this alternative policy. Something between current implementation and the tr1

[PATCH] PR bootstrap/67363: Fix setenv/unsetenv declaration issue in gcc.c

2015-09-10 Thread John David Anglin
The attached patch fixes bootstrap on hppa-hpux and possibly other older systems without setenv and unsetenv. The setenv and unsetenvy functions are available in libiberty. All that is needed is to add declaration configure checks and the missing declarations when they are not available on th

[PATCH 00/22] RFC: Overhaul of diagnostics

2015-09-10 Thread David Malcolm
This is a followup to the ideas posted at: https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00837.html I've been experimenting with capturing and printing richer information for our diagnostics, underlining pertinent source ranges when printing them, and potentially providing "fix-it" hints. Attac

[PATCH 03/22] Move diagnostic_show_locus and friends out into a new source file

2015-09-10 Thread David Malcolm
The function "diagnostic_show_locus" gains new functionality in the next patch, so this preliminary patch breaks it out into a new source file, diagnostic-show-locus.c, along with a couple of related functions. gcc/ChangeLog: * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.

[PATCH 01/22] Change of location_get_source_line signature

2015-09-10 Thread David Malcolm
location_get_source_line takes an expanded_location, but the column is irrelevant; it just needs a filename and line number. This change is used by, but independent of, the new implementation of diagnostic_show_locus later in the kit, so am breaking this out early. gcc/ChangeLog: * input.

[PATCH 13/22] gcc-rich-location.[ch]: add methods for working with tree ranges

2015-09-10 Thread David Malcolm
gcc/ChangeLog: * gcc-rich-location.c (get_range_for_expr): New function. (gcc_rich_location::add_expr): New method. (gcc_rich_location::maybe_add_expr): New method. (gcc_rich_location::add_expr_with_caption_va): New method. (gcc_rich_location::add_expr_with_c

[PATCH 11/22] Objective C: c/c-parser.c: use token ranges in two places

2015-09-10 Thread David Malcolm
I don't yet have an explicit test case for these. gcc/c/ChangeLog: * c-parser.c (c_parser_declaration_or_fndef): Use token range rather than location for a couple of warnings. --- gcc/c/c-parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/c/c-pars

[PATCH 02/22] Testsuite: add dg-{begin|end}-multiline-output commands

2015-09-10 Thread David Malcolm
This patch adds an easy way to write tests for expected multiline output. For example we can test carets and underlines for a particular diagnostic with: /* { dg-begin-multiline-output "" } typedef struct _GMutex GMutex; ^~~ { dg-end-multiline-output "" } */ It is used ex

[PATCH 07/22] Implement token range tracking within libcpp and C/C++ FEs

2015-09-10 Thread David Malcolm
This patch adds source *range* information to libcpp's cpp_token, and to c_token and cp_token in the C and C++ frontends respectively. To minimize churn, I kept the existing location_t fields, though in theory these are always just equal to the start of the source range. cpplib.h's struct cpp_tok

[PATCH 08/22] C frontend: use token ranges in various diagnostics

2015-09-10 Thread David Malcolm
This patch makes use of token ranges in the C frontend to add underlines to various diagnostics. Screenshot: https://dmalcolm.fedorapeople.org/gcc/2015-09-09/diagnostic-token-ranges.html gcc/c/ChangeLog: * c-decl.c (undeclared_variable): Convert param "loc" from a location_t to a

[PATCH 09/22] C frontend: store and use token ranges in c_declspecs

2015-09-10 Thread David Malcolm
This patch replaces the source_location in c_declspecs with a source_range, and uses it for various diagnostics to gain underlines. Screenshot: https://dmalcolm.fedorapeople.org/gcc/2015-09-09/bad-c-decls.html gcc/c/ChangeLog: * c-decl.c (declspecs_add_addrspace): Convert param 1 from

[PATCH 10/22] C++ FE: Use token ranges for various diagnostics

2015-09-10 Thread David Malcolm
Screenshot: https://dmalcolm.fedorapeople.org/gcc/2015-09-09/c++-token-ranges.html gcc/cp/ChangeLog: * parser.c (cp_parser_string_literal): Show ranges of both string literals in the "unsupported concatenation" error. (cp_parser_primary_expression): Use token range rather

  1   2   >