[PATCH] Tiny dwarf2out bits from early LTO debug

2016-10-11 Thread Richard Biener
on x86_64-unknown-linux-gnu, applied. Richard. 2016-10-11 Richard Biener * dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional. (init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION. (verify_die): New function. (dwarf2out_finish

Re: [RFC][VRP] Improve intersect_ranges

2016-10-11 Thread Richard Biener
On Tue, Oct 11, 2016 at 2:57 AM, kugan wrote: > Hi Richard, > > > On 10/10/16 20:13, Richard Biener wrote: >> >> On Sat, Oct 8, 2016 at 9:38 PM, kugan >> wrote: >>> >>> Hi Richard, >>> >>> Thanks for the review. >>> On

Re: Compile-time improvement for if conversion.

2016-10-11 Thread Richard Biener
those fake entry/exit blocks by using entry/exit edges instead... (somehow). Richard. > Thanks. > > 2016-10-11 13:33 GMT+03:00 Richard Biener : >> On Mon, Oct 10, 2016 at 4:17 PM, Yuri Rumyantsev wrote: >>> Richard, >>> >>> If "fake" exit or e

Re: [PATCH] Fix optimize_range_tests_var_bound reassoc ICE (PR tree-optimization/77929)

2016-10-11 Thread Richard Biener
On October 11, 2016 11:59:23 PM GMT+02:00, Jakub Jelinek wrote: >Hi! > >The following testcase ICEs, because ranges[i].exp is x < y >with boolean type, but (*ops)[ranges[i].idx] is that result cast >to int and the code didn't take into account possible casts that >init_range_entry looks through.

Re: Fix tree-ssa-dce Ada LTO bootstrap ice

2015-11-25 Thread Richard Biener
On Sun, Nov 22, 2015 at 7:49 PM, Jan Hubicka wrote: > Hi, > this patch fixes tree-ssa-dce ICE seen during Ada bootstrap. It is updated > version of https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02876.html for > current mainline > > Bootstrapped/regtested x86_64-linux, OK? Ok. Thanks, Richard.

Re: [PING][Patch] Add support for IEEE-conformant versions of scalar fmin* and fmax*

2015-11-25 Thread Richard Biener
n. > * config/arm/vfp.md: Likewise. > * doc/md.texi: Add fmin and fmax patterns. > gcc/testsuite > * gcc.target/aarch64/fmaxmin.c: New test. > * gcc.target/arm/fmaxmin.c: New test. > > >> -----Original Message- >> From: Richard Bien

Re: Use TBAA for lto-symtab decl merging warnings

2015-11-25 Thread Richard Biener
On Tue, Nov 24, 2015 at 8:29 PM, Bernhard Reutner-Fischer wrote: > On November 24, 2015 7:23:40 AM GMT+01:00, Jan Hubicka wrote: >>Hi, > > Doc talks about COMMON, parm is COMMON_OR_EXTERN. > >> static int >>-warn_type_compatibility_p (tree prevailing_type, tree type) >>+warn_type_compatibility_p

Re: [PR68432 00/26] Handle size/speed choices for internal functions

2015-11-25 Thread Richard Biener
On Wed, Nov 25, 2015 at 1:20 PM, Richard Sandiford wrote: > This series fixes PR 68432, a regression caused by my internal-functions- > for-optabs series. Some of the libm optabs in i386.md have a true HAVE_* > condition but conditionally FAIL if we're optimising for size: > > if (SSE_FLOAT_MOD

[PATCH] Fix PR68528

2015-11-25 Thread Richard Biener
x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-11-25 Richard Biener PR middle-end/68528 * fold-const.c (fold_binary_loc): Do not call negate_expr_p on stripped operands. * gcc.dg/torture/pr68528.c: New testcase. Index: gcc/fold-const.c

[PATCH] Fix PR66721, re-try vectorization without SLP

2015-11-25 Thread Richard Biener
small window for comments. Thanks, Richard. 2015-11-25 Richard Biener PR tree-optimization/66721 * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar iteration cost earlier. Re-do analysis without SLP when vectorization using SLP fails and without has a chan

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-25 Thread Richard Biener
t; - (bit_xor (bit_and (bit_xor @0 @1) @2) @0)) > + (if (simple_operand_p (@0)) > + (bit_xor (bit_and (bit_xor @0 @1) @2) @0))) > > /* Fold A - (A & B) into ~B & A. */ > (simplify > diff --git gcc/testsuite/gcc.dg/torture/pr68513.c > gcc/testsuite/gcc.dg/torture/pr68513.c > index e69de29..4e08b29 100644 > --- gcc/testsuite/gcc.dg/torture/pr68513.c > +++ gcc/testsuite/gcc.dg/torture/pr68513.c > @@ -0,0 +1,13 @@ > +/* PR c/68513 */ > +/* { dg-do compile } */ > + > +int i; > +unsigned u; > +volatile unsigned int *e; > + > +void > +fn1 (void) > +{ > + (short) ((i ? *e : 0) & ~u | i & u); > + (short) (((0, 0) ? *e : 0) & ~u | i & u); > +} > > Marek > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: Remove noce_mem_write_may_trap_or_fault_p in ifcvt

2015-11-25 Thread Richard Biener
On Wed, Nov 25, 2015 at 2:18 PM, Michael Matz wrote: > Hi, > > On Wed, 25 Nov 2015, Richard Biener wrote: > >> I don't think so. Btw, if you want to add this please add a new gimple >> predicate to identify "memory barrier" (any call or asm with a VD

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-25 Thread Richard Biener
On Wed, 25 Nov 2015, Jakub Jelinek wrote: > On Wed, Nov 25, 2015 at 03:35:10PM +0100, Marek Polacek wrote: > > Look how 'x' is duplicated in the result of the pattern, and since (because > > of > > the volatile 'e') it has TREE_SIDE_EFFECTS, we need to wrap it in a > > SAVE_EXPR, > > which means

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-25 Thread Richard Biener
On Wed, 25 Nov 2015, Richard Biener wrote: > On Wed, 25 Nov 2015, Jakub Jelinek wrote: > > > On Wed, Nov 25, 2015 at 03:35:10PM +0100, Marek Polacek wrote: > > > Look how 'x' is duplicated in the result of the pattern, and since > > > (because of > >

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-25 Thread Richard Biener
On Wed, 25 Nov 2015, Marek Polacek wrote: > On Wed, Nov 25, 2015 at 03:45:08PM +0100, Richard Biener wrote: > > But the whole point of the SAVE_EXPR is that it does _not_ "duplicate" it, > > it just creates another use of the same value. > > Of course, but when &

Re: [PATCH] Convert manual unsigned +/- overflow checking into {ADD,SUB}_OVERFLOW (PR target/67089)

2015-11-26 Thread Richard Biener
On Wed, 25 Nov 2015, Marc Glisse wrote: > On Wed, 25 Nov 2015, Jakub Jelinek wrote: > > > > The same is true whether we write it b > a or (a - b) > a (I don't think > > > PRE > > > + SCCVN avoid increasing register pressure). > > > > > > > So, I'd really prefer doing x-y>x to y>x only for single

Re: GCC 5.3 Status Report (2015-11-20)

2015-11-26 Thread Richard Biener
On Wed, Nov 25, 2015 at 7:59 PM, David Edelsohn wrote: > On Wed, Nov 25, 2015 at 11:57 AM, Paolo Bonzini wrote: > >> Patch committed to upstream libtool, thanks for your understanding. > > Great! > > How can I have the patch backported to GCC trunk and 5-branch libtool, > and then rebuild configu

Re: RFA: PATCH to gimple_canonical_types_compatible_p for middle-end/66214

2015-11-26 Thread Richard Biener
On Wed, Nov 25, 2015 at 4:55 PM, Jason Merrill wrote: > The problem here is that we're trying to compare the TYPE_FIELDS of two > variants of an incomplete type, which doesn't make sense; we shouldn't > expect TYPE_FIELDS of an incomplete type to be meaningful. > > Tested x86_64-pc-linux-gnu. OK

Re: RFA: PATCH to gimple_canonical_types_compatible_p for middle-end/66214

2015-11-26 Thread Richard Biener
On Thu, Nov 26, 2015 at 7:32 AM, Jan Hubicka wrote: > Hi, > what aout this? > > Index: tree.c > === > --- tree.c (revision 230924) > +++ tree.c (working copy) > @@ -13424,6 +13424,12 @@ gimple_canonical_types_compatible_p (c

Re: Fix 61441 [3/5] Remove flag_errno_math check for RINT

2015-11-26 Thread Richard Biener
On Thu, Nov 26, 2015 at 9:31 AM, Saraswati, Sujoy (OSTL) wrote: > Hi, > This patch removes flag_errno_math check for RINT, treating it similar to > nearbyint. > Regards, > Sujoy Ok. Richard. > 2015-11-26 Sujoy Saraswati > > PR tree-optimization/61441 > * match.pd (

Re: Remove noce_mem_write_may_trap_or_fault_p in ifcvt

2015-11-26 Thread Richard Biener
On Wed, Nov 25, 2015 at 4:54 PM, Michael Matz wrote: > Hi, > > On Wed, 25 Nov 2015, Bernd Schmidt wrote: > >> So here's a very basic version which I think is appropriate for the >> current stage, and can be extended later. Ok if it passes testing? > > When we're improving that place, we should rea

Re: [C++ Patch] PR 68087

2015-11-26 Thread Richard Biener
On Wed, Nov 25, 2015 at 5:09 PM, Paolo Carlini wrote: > Hi, > > On 11/25/2015 04:59 PM, Markus Trippelsdorf wrote: >>> >>> Index: cp/constexpr.c >>> === >>> --- cp/constexpr.c (revision 230865) >>> +++ cp/constexpr.c (workin

Re: [PATCH] GCC-5 Backport of pr67037

2015-11-26 Thread Richard Biener
On Thu, 26 Nov 2015, Bernd Edlinger wrote: > > Hi, > > I have boot-strapped & reg-tested this patch now > on arm-linux-gnueabihf with all languages enabled. > > Is it OK for the gcc-5-branch? Ok. Thanks, Richard.

Re: [RFC] Getting LTO incremental linking work

2015-11-26 Thread Richard Biener
On Wed, 25 Nov 2015, Jan Hubicka wrote: > > > > > > 1) linker plugin is modified to pass -flinker-output to lto wrapper > > > linker-output is either dyn (.so), pie or exec > > > for incremental linking I added .rel for 3) and noltorel for 1) > > > > > > currently it does rel becaus

Re: [RFC] Getting LTO incremental linking work

2015-11-26 Thread Richard Biener
On Thu, 26 Nov 2015, Jan Hubicka wrote: > > > Moreover we do have all infrastructure ready to implement 3). Our tree > > > merging > > > and symbol table handling is fuly incremental and I think made a patch to > > > implement it today. The scheme is easy: > > > > What happens when .S (assem

Re: [PATCH] Fix debug fallout of proposed PR68162 fix

2015-11-26 Thread Richard Biener
On Wed, 18 Nov 2015, Richard Biener wrote: > > The following patch makes sure we still emit a DW_TAG_typedef for > the element typedef in gcc.dg/debug/dwarf2/pr47939-4.c after a change > to how the C frontend structures the variant chain of arrays. > > It makes dwarf2out

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-26 Thread Richard Biener
On Thu, 26 Nov 2015, Jakub Jelinek wrote: > On Thu, Nov 26, 2015 at 12:15:48PM +0100, Marek Polacek wrote: > > On Wed, Nov 25, 2015 at 03:16:53PM +, Joseph Myers wrote: > > > > Wonder if we couldn't use some FE specific bit on the SAVE_EXPR to say > > > > whether c_fully_fold_internal has alre

[PATCH] Fix PR67203

2015-11-26 Thread Richard Biener
e at this stage. And instead of swapping order DSE and DCE should be merged. I'll see what I can do for next stage1 or maybe this is an interesting GSoC project as well. Tested on x86_64, applied. Richard. 2015-11-26 Richard Biener PR testsuite/67203 * g++.dg/tree-ssa/pr61

[PATCH] Fix PR66799

2015-11-26 Thread Richard Biener
This should fix the gcc.dg/vect/pr20122.c testcase by not making GCC see all accesses are aligned. Tested on x86_64, applied. Richard. 2015-11-26 Richard Biener PR testsuite/66799 * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not vectorize init loop and

Re: [PATCH] Improve verification of loop->latch in verify_loop_structure

2015-11-26 Thread Richard Biener
On Thu, 26 Nov 2015, Alan Lawrence wrote: > This caused an ICE compiling value.c from gdb on > aarch64-none-linux-gnu; the testcase, after preprocessing on aarch64, > ICEs on both aarch64 and x86_64, but is about 1MB - I'm working on > reducing that down to something small enough to post... > > $

Re: [PATCH, PR target/68416, i386, MPX] Add bounds registers to ALL_REGS set

2015-11-26 Thread Richard Biener
On Thu, 26 Nov 2015, Uros Bizjak wrote: > On Thu, Nov 26, 2015 at 12:46 PM, Ilya Enkovich > wrote: > > 2015-11-26 13:15 GMT+03:00 Uros Bizjak : > > >>> 2015-11-26 Vladimir Makarov > >>> > >>> PR target/68416 > >>> * config/i386/i386.h (enum reg_class): Add > >>> bounds registers to ALL_REGS.

[PATCH] Fix genmatch SAVE_TEMPS usage for multi-uses

2015-11-26 Thread Richard Biener
on the branch right now. Richard. 2015-11-26 Richard Biener * genmatch.c (dt_simplify::gen_1): For generic wrap all multi-result-use captures in a SAVE_EXPR. Index: gcc/genmatch.c === --- gcc/genmatch.c

[PATCH] Fix PR68554

2015-11-26 Thread Richard Biener
Committed. Richard. 2015-11-26 Richard Biener PR testsuite/68554 * gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm. Index: gcc/testsuite/gcc.dg/vect/bb-slp-subgroups-2.c === --- gcc/testsuite/gcc.dg/vect/bb

[PATCH] Fix PR68555

2015-11-26 Thread Richard Biener
Committed. Richard. 2015-11-26 Richard Biener PR testsuite/68555 * gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector and not XFAIL. Index: gcc/testsuite/gcc.dg/vect/bb-slp-10.c === --- gcc

Re: [PATCH] Fix pattern causing C_MAYBE_CONST_EXPRs leak into gimplifier (PR c/68513)

2015-11-26 Thread Richard Biener
On November 26, 2015 5:36:34 PM GMT+01:00, Joseph Myers wrote: >On Thu, 26 Nov 2015, Marek Polacek wrote: > >> My worry was of course C_MAYBE_CONST_EXPR_PRE. But it seems we'll >never have >> any at that point, since it's already been processed and transformed >to a >> COMPOUND_EXPR. But do I l

Re: [PATCH] Fix genmatch dependency issue

2015-11-26 Thread Richard Biener
On November 26, 2015 7:12:34 PM GMT+01:00, Jakub Jelinek wrote: >Hi! > >When upgrading a gcc tree < r230888 with objdir to r230888 or later >and just doing make in the gcc subdir, I'm getting errors - genmatch >complains that it doesn't know IFN_FMAX. >The problem seems to be a missing dependency

Re: [PATCH] Fix VEC_PERM_EXPR expansion regression (PR tree-optimization/68552)

2015-11-26 Thread Richard Biener
On November 26, 2015 7:07:57 PM GMT+01:00, Jakub Jelinek wrote: >Hi! > >My recent tree-vect-generic.c changes broke Alpha. My changes assume >that if there is vec_shr_optab, middle argument 0 vector and last >argument >shift-ish selector, then expand_vec_perm will always handle it, but it >turns

[PATCH][1/2] Fix PR68553

2015-11-27 Thread Richard Biener
"need three vectors" but unadjusted would fail because there are simply not enough scalar iterations in the loop. I adjusted that and now we vectorize it just fine (running into PR68559 which I filed). Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-11-2

[PATCH][2/2] Fix PR68553

2015-11-27 Thread Richard Biener
This detects 1:1 permutations and avoids asking the target if it can create those as well as generating VEC_PERM_EXPR in the vectorized code. Bootstrap / regtest in progress on x86_64-unknown-linux-gnu. Richard. 2015-11-27 Richard Biener PR tree-optimization/68553 * tree

[PATCH] Fix PR68470, ICE in IPA split

2015-11-27 Thread Richard Biener
t out). The following patch detects the situation and pretends the exit block was found as EXIT_BLOCK_FOR_FN in this case. Bootstrap and regtest ongoing on x86_64-unknown-linux-gnu. Honza, does this look ok? Thanks, Richard. 2015-11-27 Richard Biener PR ipa/68470 * ipa-sp

Re: [PATCH] Fix PR68470, ICE in IPA split

2015-11-27 Thread Richard Biener
On Fri, 27 Nov 2015, Richard Biener wrote: > > This fixes the case where we split the returning part of a function > and keep the non-returning part as main. We were keeping the return > block with stmts not relevant to main in the return path of the > split which obviously doe

Re: [PATCH] Convert a test to GIMPLE

2015-11-27 Thread Richard Biener
On Fri, Nov 27, 2015 at 11:41 AM, Marek Polacek wrote: > In the process of dealing with PR68513, it turned out this test should have > been written with GIMPLE in mind. > > Tested on x86_64-linux, ok for trunk? Maybe we'll want this even for 5, I > don't know yet. Ok. Richard. > 2015-11-27 Ma

Re: [RFC] [Patch] PR67326 - relax trap assumption by looking at similar DRS

2015-11-27 Thread Richard Biener
On Fri, Nov 27, 2015 at 9:24 AM, Kumar, Venkataramanan wrote: > Hi Richard, > >> -Original Message----- >> From: Richard Biener [mailto:richard.guent...@gmail.com] >> Sent: Tuesday, November 24, 2015 9:07 PM >> To: Kumar, Venkataramanan >> Cc: Jakub Jel

Re: [PATCH PR68529]Fix not recognized scev by computing no-overflow info for loop with NE_EXPR exit condition

2015-11-27 Thread Richard Biener
On Fri, Nov 27, 2015 at 12:44 PM, Bin Cheng wrote: > Hi, > This patch is to fix PR68529. In my previous scev/niter overflow patches, I > only computed no-overflow information for control iv in simple loops with > LT_EXPR as exit condition code. This bug is about loop with NE_EXPR as exit > condi

Re: [RFC] Combine vectorized loops with its scalar remainder.

2015-11-27 Thread Richard Biener
ave expected one that makes sure we keep the 6% speedup for cactusADM at least. So this was a 45minute "overall" review not going into all the implementation details. Thanks, Richard. > 2015-11-10 17:52 GMT+03:00 Richard Biener : >> On Tue, Nov 10, 2015 at 2:02 PM, Ilya En

Re: [Patch AArch64] Reinstate CANNOT_CHANGE_MODE_CLASS to fix pr67609

2015-11-27 Thread Richard Biener
On Fri, Nov 27, 2015 at 2:01 PM, James Greenhalgh wrote: > > Hi, > > This patch follow Richard Henderson's advice to tighten up > CANNOT_CHANGE_MODE_CLASS for AArch64 to avoid a simplification bug in > the middle-end. > > There is nothing AArch64-specific about the testcase which triggers this, >

Re: [PATCH][RTL-ifcvt] PR rtl-optimization/68506: Fix emitting order of insns in IF-THEN-JOIN case

2015-11-27 Thread Richard Biener
On Fri, Nov 27, 2015 at 10:44 AM, Kyrill Tkachov wrote: > > On 26/11/15 16:54, Kyrill Tkachov wrote: >> >> >> On 26/11/15 16:49, Bernd Schmidt wrote: >>> >>> On 11/26/2015 05:45 PM, Kyrill Tkachov wrote: that doesn't help, punt. */ - modified_in_a = emit_a != NULL_RT

[PATCH] Fix PR68559

2015-11-27 Thread Richard Biener
). Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-11-27 Richard Biener PR tree-optimization/68559 * tree-vect-data-refs.c (vect_analyze_group_access_1): Move peeling for gap checks ... * tree-vect-stmts.c (vectorizable_load

Re: [PATCH] Fix vector rsqrt discovery (PR tree-optimization/68501)

2015-11-27 Thread Richard Biener
On November 27, 2015 8:40:56 PM GMT+01:00, Jakub Jelinek wrote: >Hi! > >The recent changes where vector sqrt is represented in the IL using >IFN_SQRT instead of target specific builtins broke the discovery >of vector rsqrt, as targetm.builtin_reciprocal is called only >on builtin functions (not i

Re: [PATCH] Add save_expr langhook (PR c/68513)

2015-11-27 Thread Richard Biener
On November 27, 2015 7:55:43 PM GMT+01:00, Marek Polacek wrote: >As suggested here > >and here , >this patch >adds a new langhook to distinguish whether to call c_save_expr or >save

Re: [PATCH] Fix vector rsqrt discovery (PR tree-optimization/68501)

2015-11-28 Thread Richard Biener
On November 28, 2015 9:38:40 AM GMT+01:00, Jakub Jelinek wrote: >On Sat, Nov 28, 2015 at 08:47:18AM +0100, Richard Biener wrote: >> On November 27, 2015 8:40:56 PM GMT+01:00, Jakub Jelinek > wrote: >> >The recent changes where vector sqrt is represented in the IL using &g

GCC 5 branch now frozen for GCC 5.3 RC1

2015-11-30 Thread Richard Biener
The GCC 5 branch is now frozen for creating a first release candidate for GCC 5.3. All changes from now on require release manager approval. Thanks, Richard.

Re: [PATCH] Fix PR68067

2015-11-30 Thread Richard Biener
On Fri, 27 Nov 2015, Alan Lawrence wrote: > On 27/11/15 15:07, Alan Lawrence wrote: > > On 23/11/15 09:43, Richard Biener wrote: > > > On Fri, 20 Nov 2015, Alan Lawrence wrote: > > > > > > > ...the asserts > > > > you suggested in > > >

Re: [PATCH PR68529]Fix not recognized scev by computing no-overflow info for loop with NE_EXPR exit condition

2015-11-30 Thread Richard Biener
On Sat, Nov 28, 2015 at 6:50 AM, Bin.Cheng wrote: > On Fri, Nov 27, 2015 at 8:51 PM, Richard Biener > wrote: >> On Fri, Nov 27, 2015 at 12:44 PM, Bin Cheng wrote: >>> Hi, >>> This patch is to fix PR68529. In my previous scev/niter overflow patches, I >>>

Re: [PATCH, PR46032] Handle BUILT_IN_GOMP_PARALLEL in ipa-pta

2015-11-30 Thread Richard Biener
On Mon, 30 Nov 2015, Tom de Vries wrote: > Hi, > > this patch fixes PR46032. > > It handles a call: > ... > __builtin_GOMP_parallel (fn, data, num_threads, flags) > ... > as: > ... > fn (data) > ... > in ipa-pta. > > This improves ipa-pta alias analysis in the parallelized function fn, and

Re: [rfc] Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds

2015-11-30 Thread Richard Biener
On Mon, Nov 30, 2015 at 12:34 AM, Matthias Klose wrote: > The attached patch avoids building the non-default multilib and libstdc++-v3 > debug builds in bootstrap builds during bootstrap builds, resulting in some > speedup for bootstrap builds for targets with multilibs enabled. On > x86_64-linux

Re: [PATCH, PR46032] Handle BUILT_IN_GOMP_PARALLEL in ipa-pta

2015-11-30 Thread Richard Biener
On Mon, 30 Nov 2015, Tom de Vries wrote: > On 30/11/15 10:16, Richard Biener wrote: > > On Mon, 30 Nov 2015, Tom de Vries wrote: > > > > > Hi, > > > > > > this patch fixes PR46032. > > > > > > It handles a call: > > &g

Re: Fix verify_type ICE during Ada bootstrap

2015-11-30 Thread Richard Biener
intf (dump_file, "Dropping flag_strict_aliasing on %s:%i\n", > + to->name (), to->order); So I wonder if it makes sense to pessimize such inlining as well. The two above should be enough to fix the correctness issue. The parse_optimize_options hack looks indeed inter

[PATCH] Fix PR68592

2015-11-30 Thread Richard Biener
The following fixes PR68592 where I forgot the pattern def seq when resetting SLP type. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-11-30 Richard Biener PR tree-optimization/68592 * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also

Re: [PATCH] Fix vector rsqrt discovery (PR tree-optimization/68501)

2015-11-30 Thread Richard Biener
On Mon, 30 Nov 2015, Jakub Jelinek wrote: > On Mon, Nov 30, 2015 at 02:30:04PM +, Richard Sandiford wrote: > > > keep the builtin_reciprocal hook (perhaps renamed to builtin_rsqrt) > > > for the purpose of this condition and nothing else (i.e. return a > > > boolean) and let the rest be determ

Re: [PATCH] Add save_expr langhook (PR c/68513)

2015-11-30 Thread Richard Biener
On Mon, 30 Nov 2015, Marek Polacek wrote: > On Sat, Nov 28, 2015 at 08:50:12AM +0100, Richard Biener wrote: > > Different approach: after the FE folds (unexpectedly?), scan the result for > > SAVE_EXPRs and if found, drop the folding. > > Neither this fixes this problem c

Re: [PATCH] Add save_expr langhook (PR c/68513)

2015-11-30 Thread Richard Biener
On Mon, 30 Nov 2015, Richard Biener wrote: > On Mon, 30 Nov 2015, Marek Polacek wrote: > > > On Sat, Nov 28, 2015 at 08:50:12AM +0100, Richard Biener wrote: > > > Different approach: after the FE folds (unexpectedly?), scan the result > > > for > > > SA

[PATCH] Fix PR68590

2015-12-01 Thread Richard Biener
The following avoids PR68590 by merging two match.pd patterns. Bootstrapped and tested on x86_64-unknown-linux-gnu. Richard. 2015-12-01 Richard Biener PR middle-end/68590 * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. Index: gcc/match.pd

Re: -fstrict-aliasing fixes 2/5: drop alias set 0 streaming

2015-12-01 Thread Richard Biener
+366,6 @@ unpack_ts_type_common_value_fields (stru >TYPE_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1); >TYPE_USER_ALIGN (expr) = (unsigned) bp_unpack_value (bp, 1); >TYPE_READONLY (expr) = (unsigned) bp_unpack_value (bp, 1); > - TYPE_ALIAS_SET (expr) = bp_unpack_value (bp, 1) ? 0 : -1; >if (RECORD_OR_UNION_TYPE_P (expr)) > { >TYPE_TRANSPARENT_AGGR (expr) = (unsigned) bp_unpack_value (bp, 1); > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: -fstrict-aliasing fixes 3/5: Do not ignore -fstrict-aliasing changes when parsing optimization attribute

2015-12-01 Thread Richard Biener
> - >/* Now parse the options. */ >decode_cmdline_options_to_array_default_mask (opt_argc, opt_argv, > &decoded_options, > @@ -10093,9 +10090,6 @@ parse_optimize_options (tree args, bool > >targetm.override_options_after_c

Re: When not optimizing do not compute RTX memory attributes

2015-12-01 Thread Richard Biener
m_attributes_minus_bitpos (rtx ref >struct mem_attrs attrs, *defattrs, *refattrs; >addr_space_t as; > > + if (!optimize) > +return; > + >/* It can happen that type_for_mode was given a mode for which there > is no language-level type. In which case it returns

Re: PR68577: Handle narrowing for vector popcount, etc.

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 10:14 AM, Richard Sandiford wrote: > This patch adds support for simple cases where the a vector internal > function returns wider results than the scalar equivalent. It punts > on other cases. > > Tested on powerpc64-linux-gnu and x86_64-linux-gnu. OK to install? > > Than

Re: PR68474: Fix tree-call-cdce.c:use_internal_fn

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 10:24 AM, Richard Sandiford wrote: > We'd call gen_shrink_wrap_conditions for functions that it can't handle > but edom_only_function can. > > Tested on x86_64-linux-gnu. OK to install? Ok. Richard. > Thanks, > Richard > > > gcc/ > PR tree-optimization/68474 >

Re: [PATCH, PR middle-end/68595] Fix invariant boolean vector generation

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 10:44 AM, Ilya Enkovich wrote: > Hi, > > This patch fixes a way invariant boolean vector is generated. It makes sure > boolean vector consists of 0 and -1 values. Bootstrapped and tested on > x86_64-unknown-linux-gnu. OK for trunk? Ok. Richard. > Thanks, > Ilya > --

Re: RFC: Merge the GUPC branch into the GCC 6.0 trunk

2015-12-01 Thread Richard Biener
gt; > UPC shared variables are allocated at runtime in the global memory > that is allocated and managed by the UPC runtime. A separate link > section is used as a method of assigning virtual addresses to UPC > shared variables. The UPC shared variable section is designated as a > "no load" section on systems that support that facility; in that case, > the linkage section begins at virtual address zero. The logic below > assigns UPC shared variables to their own linkage section. > > +/* Shared variables are given their own link section on > + most target platforms, and if compiling in pthreads mode > + regular local file scope variables are made thread local. */ > +if ((TREE_CODE(decl) == VAR_DECL) > +&& !threadp && (TREE_SHARED (decl) || flag_upc_pthreads)) > + upc_set_decl_section (decl); > + > > Patches > --- > > The patches are organized into the following categories > and will be sent out as separate email messages. > > [UPC 01/22] front-end changes > [UPC 02/22] tree-related changes > [UPC 03/22] options processing, driver > [UPC 04/22] Make, Config changes > [UPC 05/22] language hooks changes > [UPC 06/22] target hooks > [UPC 07/22] lowering, pointer-to-shared ops > [UPC 08/22] target - Darwin > [UPC 09/22] target - x86 > [UPC 10/22] target - rs6000 > [UPC 11/22] documentation > [UPC 12/22] DWARF support > [UPC 13/22] C++ changes > [UPC 14/22] constant folding changes > [UPC 15/22] RTL changes > [UPC 16/22] gimple/gimplify changes > [UPC 17/22] misc/common changes > [UPC 18/22] libatomic changes > [UPC 19/22] libgupc - Make, Configure > [UPC 20/22] libgupc runtime library > [UPC 21/22] gcc.dg test suite > [UPC 22/22] libgupc test suite > > thanks, > - Gary > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: [UPC 02/22] tree-related changes

2015-12-01 Thread Richard Biener
On Mon, 30 Nov 2015, Gary Funck wrote: > > Background > -- > > An overview email, describing the UPC-related changes is here: > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg5.html > > The GUPC branch is described here: > http://gcc.gnu.org/projects/gupc.html > > The UPC-relate

Re: [UPC 07/22] lowering, pointer-to-shared ops

2015-12-01 Thread Richard Biener
On Mon, 30 Nov 2015, Gary Funck wrote: > > Background > -- > > An overview email, describing the UPC-related changes is here: > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg5.html > > The GUPC branch is described here: > http://gcc.gnu.org/projects/gupc.html > > The UPC-relate

Re: [UPC 14/22] constant folding changes

2015-12-01 Thread Richard Biener
inter_float && ! final_float > && ! inside_vec && ! inter_vec && ! final_vec >&& (inter_prec >= inside_prec || inter_prec >= final_prec) > @@ -1541,7 +1568,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) >&& ! (inside_ptr && inter_prec != final_prec) >&& ! (final_ptr && inside_prec != inter_prec) >&& ! (final_prec != GET_MODE_PRECISION (TYPE_MODE (type)) > -&& TYPE_MODE (type) == TYPE_MODE (inter_type))) > +&& TYPE_MODE (type) == TYPE_MODE (inter_type)) > + && (final_pts == inter_pts) && (inter_pts == inside_pts) > + && ! (inter_pts > +&& (TREE_TYPE (inter_type) != TREE_TYPE (inside_type))) > + && ! (final_pts && (TREE_TYPE (type) != TREE_TYPE (inter_type > (ocvt @0)) > > /* A truncation to an unsigned type (a zero-extension) should be > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: [UPC 16/22] gimple/gimplify changes

2015-12-01 Thread Richard Biener
t; +++ gcc/gimplify.h(.../branches/gupc) (revision 231080) > @@ -77,6 +77,7 @@ extern enum gimplify_status gimplify_exp > extern void gimplify_type_sizes (tree, gimple_seq *); > extern void gimplify_one_sizepos (tree *, gimple_seq *); > extern gbind *gimplify_body (tree, bool); > +extern bool flag_instrument_functions_exclude_p (tree); > extern enum gimplify_status gimplify_arg (tree *, gimple_seq *, location_t); > extern void gimplify_function_tree (tree); > extern enum gimplify_status gimplify_va_arg_expr (tree *, gimple_seq *, > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: [PR68432 00/26] Handle size/speed choices for internal functions

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 12:54 PM, Bernd Schmidt wrote: > On 11/26/2015 05:22 PM, Richard Sandiford wrote: >> >> Bernd Schmidt writes: >> >>> I wish we'd taken some more time to think through the consequences of >>> the original internal_fn patchset. >> >> >> I don't think this PR shows that the ap

[PATCH] Fix PR68590

2015-12-01 Thread Richard Biener
u, applied to trunk. Richard. 2015-12-01 Richard Biener PR middle-end/68590 * genmatch.c (struct capture_info): Add match_use_count. (capture_info::walk_match): Increment match_use_count. (dt_simplify::gen_1): For GENERIC, only wrap multi-use replace

[PATCH] Fix PR68379

2015-12-01 Thread Richard Biener
The following fixes PR68379. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-11-30 Richard Biener PR tree-optimization/68379 * tree-vect-stmts.c (vectorizable_load): For BB vectorization always base loads on the first used DR of

[PATCH] Fix PR68625

2015-12-01 Thread Richard Biener
. I'll place a gcc_assert there in another bootstrap anyway (in theory out-propagating a PHI during BB merging could expose a trivially true/false condition though BB merging) Bootstrap and regtest running on x86_64-unknown-linux-gnu. Richard. 2015-12-01 Richard Biener P

Re: [RFA] Implement incremental IL linking

2015-12-01 Thread Richard Biener
c/testsuite/g++.dg/lto/pr45679-1_0.C (working copy) > > @@ -1,6 +1,6 @@ > > // { dg-lto-do link } > > // { dg-lto-options {{-O3 -Wno-multichar}} } > > -// { dg-extra-ld-options "-flto -flto-partition=1to1 -r -nostdlib" } > > +// { dg-extra-ld-options "-

Re: [PATCH] Handle BUILT_IN_GOACC_PARALLEL in ipa-pta

2015-12-01 Thread Richard Biener
On Tue, 1 Dec 2015, Tom de Vries wrote: > [ was: Re: [PATCH, PR46032] Handle BUILT_IN_GOMP_PARALLEL in ipa-pta ] > > On 30/11/15 17:36, Tom de Vries wrote: > > On 30/11/15 14:24, Richard Biener wrote: > > > On Mon, 30 Nov 2015, Tom de Vries wrote: > > > > >

Re: [PATCH] Don't ignore noreturn functions for "unused" warning (PR middle-end/68582)

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 3:47 PM, Marek Polacek wrote: > We were failing to give "defined but not used" warning for functions marked > with the attribute noreturn/volatile. The problem is that for functions the > TREE_THIS_VOLATILE flag means something different than for decls. The fix is > to che

Re: [PATCH] Add testcase for tree-optimization/67916

2015-12-01 Thread Richard Biener
On Tue, Dec 1, 2015 at 4:18 PM, Marek Polacek wrote: > This PR was fixed in r228767 (or went latent?), but this testcase has never > been added. > > Tested on x86_64-linux, ok for trunk? Ok. Richard. > 2015-12-01 Marek Polacek > > PR tree-optimization/67916 > * gcc.dg/torture

Re: RFC: Merge the GUPC branch into the GCC 6.0 trunk

2015-12-01 Thread Richard Biener
On Tue, 1 Dec 2015, Andi Kleen wrote: > Bernd Schmidt writes: > > > I'm worried we'll end up carrying > > something around as a burden that is of no practical use (considering > > we already support the more widespread OpenMP). > > I'm not an expert on UPC, but from glancing over the descriptio

Re: [PATCH] Empty redirect_edge_var_map after each pass and function

2015-12-02 Thread Richard Biener
On Tue, 1 Dec 2015, Jeff Law wrote: > On 12/01/2015 11:33 AM, Alan Lawrence wrote: > > > > I was not able to reduce the testcase below about 30k characters, with e.g. > > #define T_VOID 0 > > T_VOID > > producing the ICE, but manually changing to > > 0 > > preventing the ICE;

Re: [PATCH] Empty redirect_edge_var_map after each pass and function

2015-12-02 Thread Richard Biener
g r229711, which also passes aarch64 bootstrap, and > a more recent bootstrap on aarch64 is ongoing. Assuming/if no regressions > there... > > Is this ok for trunk? > > This could also be a candidate for the 5.3 release; backporting depends only > on > the

Re: [PATCH 1/2] destroy values as well as keys when removing them from hash maps

2015-12-02 Thread Richard Biener
ext stage 1. Agreed. You'll also need a more elaborate allocator/constructor scheme for this considering the case where no default constructor is available. See how alloc-pool.h tries to dance around this using a "raw" allocate and a operator new... Richard. > Trev > > > > > Thanks, > > Richard > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: -fstrict-aliasing fixes 4/6: do not fiddle with flag_strict_aliasing when expanding debug locations

2015-12-02 Thread Richard Biener
eation of new alias set. */ > +extern void set_mem_attributes (rtx, tree, int, bool debug = false); > > /* Similar, except that BITPOS has not yet been applied to REF, so if > we alter MEM_OFFSET according to T then we should subtract BITPOS > expecting that it'll be added back in later. */ > -extern void set_mem_attributes_minus_bitpos (rtx, tree, int, HOST_WIDE_INT); > +extern void set_mem_attributes_minus_bitpos (rtx, tree, int, HOST_WIDE_INT, > + bool debug = false); > > /* Return OFFSET if XEXP (MEM, 0) - OFFSET is known to be ALIGN > bits aligned for 0 <= OFFSET < ALIGN / BITS_PER_UNIT, or > Index: alias.c > === > --- alias.c (revision 231146) > +++ alias.c (working copy) > @@ -1096,6 +1096,17 @@ new_alias_set (void) > return 0; > } > > +/* Return number of alias sets; used for sanity checking that we did not > + introduced new ones for debug statements. */ > + > +int > +num_alias_sets (void) > +{ > + if (!alias_sets) > +return 0; > + return alias_sets->length (); > +} > + > /* Indicate that things in SUBSET can alias things in SUPERSET, but that > not everything that aliases SUPERSET also aliases SUBSET. For example, > in C, a store to an `int' can alias a load of a structure containing an > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)

Re: -fstrict-aliasing fixes 5/6: make type system independent of flag_strict_aliasing

2015-12-02 Thread Richard Biener
On Wed, 2 Dec 2015, Jan Hubicka wrote: > Hi, > this patch makes the type system to be unchanged by flag_strict_aliasing. > This is needed to prevent optimization loss in flag_strict_aliasing code where > some !flag_strict_aliasing code put alias set 0 into a type (this happens > in all cases I mod

Re: -fstrict-aliasing fixes 4/6: do not fiddle with flag_strict_aliasing when expanding debug locations

2015-12-02 Thread Richard Biener
On Wed, 2 Dec 2015, Jakub Jelinek wrote: > On Wed, Dec 02, 2015 at 10:05:13AM +0100, Richard Biener wrote: > > On Wed, 2 Dec 2015, Jan Hubicka wrote: > > > > > Hi, > > > this patch removes flag_strict_aliasing kludge in expanding debug > > > location

Re: RFC: Merge the GUPC branch into the GCC 6.0 trunk

2015-12-02 Thread Richard Biener
On Tue, 1 Dec 2015, Gary Funck wrote: > On 12/01/15 12:12:29, Richard Biener wrote: > > On Mon, 30 Nov 2015, Gary Funck wrote: > > > At this time, we would like to re-submit the UPC patches for comment > > > with the goal of introducing these changes into GCC 6.0. >

Re: [PATCH] Add testcase for tree-optimization/64769

2015-12-02 Thread Richard Biener
On Tue, Dec 1, 2015 at 4:38 PM, Marek Polacek wrote: > There's an open PR with -fopenmp-simd testcase that used to ICE but is now > fixed for 5/6, but not 4.9. > > Should I commit this right away to trunk, wait for gcc-5 branch to open and > then commit it to 5 as well and then close the PR? Ok f

Re: [PATCH][PR tree-optimization/67816] Fix jump threading when DOM removes conditionals in jump threading path

2015-12-02 Thread Richard Biener
On Tue, Dec 1, 2015 at 10:32 PM, Jeff Law wrote: > On 10/09/2015 09:45 AM, Jeff Law wrote: >>> >>> Yes, but as you remove jump threading paths you could leave the CFG >>> change to >>> cfg-cleanup anyway? To get better behavior wrt loop fixup at least? >> >> So go ahead and detect, remove the thr

Re: Go patch committed: Fix array dimension handling on 32-bit host

2015-12-02 Thread Richard Biener
On Wed, Dec 2, 2015 at 2:28 AM, Ian Lance Taylor wrote: > The Go frontend code that handled array dimensions when generating > reflection and mangling assumed that an array dimension would fit in > an unsigned long. That is of course not true when a 32-bit host is > cross-compiling to a 64-bit ta

Re: PR68146: Check for null SSA_NAME_DEF_STMTs in fold-const.c

2015-12-02 Thread Richard Biener
On Wed, Dec 2, 2015 at 9:33 AM, Richard Sandiford wrote: > The problem in the testcase was that tree-complex.c was trying > to fold ABS_EXPRs of SSA names that didn't yet have a definition > (because the SSA names were real and imaginary parts of a complex > SSA name whose definition hadn't yet be

[PATCH] Fix undefined behavior in vect testcases

2015-12-02 Thread Richard Biener
Spotted by disabling init-regs.c (see PR61810). Bah, parts of our testsuite should be -Wall clean, really. Tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-12-02 Richard Biener * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Fix uninitialized y guarding a

Re: [UPC 15/22] RTL changes

2015-12-02 Thread Richard Biener
On Tue, Dec 1, 2015 at 7:02 AM, Gary Funck wrote: > > Background > -- > > An overview email, describing the UPC-related changes is here: > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg5.html > > The GUPC branch is described here: > http://gcc.gnu.org/projects/gupc.html > > The UPC

Re: [UPC 05/22] language hooks changes

2015-12-02 Thread Richard Biener
On Tue, Dec 1, 2015 at 7:02 AM, Gary Funck wrote: > > Background > -- > > An overview email, describing the UPC-related changes is here: > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg5.html > > The GUPC branch is described here: > http://gcc.gnu.org/projects/gupc.html > > The UPC

Re: [UPC 17/22] misc/common changes

2015-12-02 Thread Richard Biener
On Tue, Dec 1, 2015 at 7:02 AM, Gary Funck wrote: > > Background > -- > > An overview email, describing the UPC-related changes is here: > https://gcc.gnu.org/ml/gcc-patches/2015-12/msg5.html > > The GUPC branch is described here: > http://gcc.gnu.org/projects/gupc.html > > The UPC

[PATCH] Fix PRs 67800 and 68333

2015-12-02 Thread Richard Biener
strap / regtest pending on x86_64-unknown-linux-gnu. Richard. 2015-12-02 Richard Biener PR tree-optimization/67800 PR tree-optimization/68333 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore restriction to reduction contexts but allow SLP reductions as

[PATCH] Avoid SAVE_EXPR generation from generic-match.c

2015-12-02 Thread Richard Biener
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. This should solve the generic-match.c part of the C_MAYBE_CONST_EXPR issues. Richard. 2015-12-02 Richard Biener * tree.h (tree_invariant_p): Declare. * tree.c (tree_invariant_p): Export. * genmatch.c

<    9   10   11   12   13   14   15   16   17   18   >