Go patch committed: assign phase of escape analysis

2016-06-13 Thread Ian Lance Taylor
This patch by Chris Manghane implements the assign phase of escape analysis. This builds a graph of assignments within a function. This is just another step toward escape analysis; it is not yet enabled. Ian Index: gcc/go/gofrontend/MERGE

Re: [PATCH, i386]: Introduce __builtin_signbitq to use SSE4.1 PTEST insn

2016-06-13 Thread Uros Bizjak
On Tue, Jun 14, 2016 at 12:50 AM, Uros Bizjak wrote: > On Mon, Jun 13, 2016 at 11:54 PM, Joseph Myers > wrote: > >>> Attached patch intriduces __builtin_signbitq built-in function, so the >>> compiler will be able to use SSE4.1 PTEST instruction to

Re: [PATCH, i386]: Introduce __builtin_signbitq to use SSE4.1 PTEST insn

2016-06-13 Thread Uros Bizjak
On Mon, Jun 13, 2016 at 11:54 PM, Joseph Myers wrote: >> Attached patch intriduces __builtin_signbitq built-in function, so the >> compiler will be able to use SSE4.1 PTEST instruction to determine >> sign bit of __float128 value. > > The __builtin_signbit function is

Re: [PATCH, i386]: Introduce __builtin_signbitq to use SSE4.1 PTEST insn

2016-06-13 Thread Joseph Myers
On Mon, 13 Jun 2016, Uros Bizjak wrote: > Hello! > > Attached patch intriduces __builtin_signbitq built-in function, so the > compiler will be able to use SSE4.1 PTEST instruction to determine > sign bit of __float128 value. The __builtin_signbit function is type-generic from GCC 6 onwards, so

[PATCH, i386]: Introduce __builtin_signbitq to use SSE4.1 PTEST insn

2016-06-13 Thread Uros Bizjak
Hello! Attached patch intriduces __builtin_signbitq built-in function, so the compiler will be able to use SSE4.1 PTEST instruction to determine sign bit of __float128 value. The patch introduces complete infrastructure, including fallback to __signbittf2 libgcc function for non-SSE4.1 targets.

[tree-optimization/71403] Do not allow threading to a deeper loop nest

2016-06-13 Thread Jeff Law
pr71403 (and its duplicates) show a problem where we thread a backedge from an outer loop to the header of an inner loop. This looks all find and good at the CFG level, but it essentially combines the inner and outer loop with parts of the loop executing on some iterations, but not on

Re: [PATCH] Fix ubsan handling of BIND_EXPR (PR sanitizer/71498)

2016-06-13 Thread Marek Polacek
On Mon, Jun 13, 2016 at 08:39:43PM +0200, Jakub Jelinek wrote: > Hi! > > As has been discussed in the original -fsanitize=bounds submission, > walk_tree for BIND_EXPR walks the body and > DECL_INITIAL/DECL_SIZE/DECL_SIZE_UNIT of all the BIND_EXPR_VARS. > For -fsanitize=bounds instrumentation, we

Re: [PATCH] Fix SOURCE_DATE_EPOCH handling with -E (PR preprocessor/71183)

2016-06-13 Thread Joseph Myers
On Mon, 13 Jun 2016, Jakub Jelinek wrote: > Hi! > > The SOURCE_DATE_EPOCH env var is ignored during -E, which is undesirable > and inconsistent. The problem is that the appropriate callback for > libcpp is only installed when compiling and not when preprocessing only. > > Fixed thusly,

Re: PR 71181 Avoid rehash after reserve

2016-06-13 Thread François Dumont
Hi I eventually would like to propose the attached patch. In tr1 I made sure we use a special past-the-end iterator that makes usage of lower_bound result without check safe. PR libstdc++/71181 * include/tr1/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt): Make

Re: [PATCH 3/3][AArch64] Emit division using the Newton series

2016-06-13 Thread Evandro Menezes
On 06/13/16 05:15, James Greenhalgh wrote: Thanks for your patience on this patch series. Just checked the series in. Thank y'all for your assistance and patience. Cheers, -- Evandro Menezes

Re: [PR71478] Fix ICE in tree-ssa-reassoc.c

2016-06-13 Thread Jakub Jelinek
On Fri, Jun 10, 2016 at 01:34:07PM +0200, Richard Biener wrote: > On Fri, Jun 10, 2016 at 4:19 AM, kugan > wrote: > > Hi, > > > > In PR71478, for vector negation of ssa produced by call stmt, we add vector > > (-1) and ssa to the ops list. However, in the place

[C++ PATCH] Fix incomplete type error recovery (PR c++/71516)

2016-06-13 Thread Jakub Jelinek
Hi! On the following testcase we ICE during error recovery, because a is first added to the incomplete vars vector, but then is attempted to be initialized, which results in error and setting its type to error_mark_node (as the type has been incomplete). When we try to complete vars, we ICE

[PATCH] Fix ubsan handling of BIND_EXPR (PR sanitizer/71498)

2016-06-13 Thread Jakub Jelinek
Hi! As has been discussed in the original -fsanitize=bounds submission, walk_tree for BIND_EXPR walks the body and DECL_INITIAL/DECL_SIZE/DECL_SIZE_UNIT of all the BIND_EXPR_VARS. For -fsanitize=bounds instrumentation, we want to avoid walking DECL_INITIAL of TREE_STATIC vars, so should set

[PATCH] Improve tree-ssa-tail-merge for switches (PR tree-optimization/71520)

2016-06-13 Thread Jakub Jelinek
Hi! Cross-jumping at GIMPLE level gives up e.g. because there are any labels at the beginning of the block (which is always the case for bbs referenced from switches). While labels for non-local goto as well as computed goto are hard to handle, after all the edges are then EDGE_ABNORMAL that

Re: Fix pure/const discovery WRT interposition part 2

2016-06-13 Thread H.J. Lu
On Sat, Apr 16, 2016 at 9:47 AM, Jan Hubicka wrote: > Hi, > this patch updates ipa-pure-const.c to only propagate PURE flag across > calls that does not bind to local defs and are not explicitly declared const. > This gets memory state into shape that the callee produced by other

Re: [PATCH], PowerPC: Allow DImode in Altivec registers

2016-06-13 Thread Michael Meissner
It would help if I included the patch. On Mon, Jun 13, 2016 at 01:28:16PM -0400, Michael Meissner wrote: > This patch goes through the PowerPC compiler and adds support to allow DImode > (64-bit integers) into Altivec registers for VSX systems. It also adds some > support to allow loading some

[PATCH] Fix SOURCE_DATE_EPOCH handling with -E (PR preprocessor/71183)

2016-06-13 Thread Jakub Jelinek
Hi! The SOURCE_DATE_EPOCH env var is ignored during -E, which is undesirable and inconsistent. The problem is that the appropriate callback for libcpp is only installed when compiling and not when preprocessing only. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for

Re: [PATCH 2/3] selftests: improve reported failure locations

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: This patch introduce a selftest::location struct to wrap up __FILE__ and __LINE__ information (and __FUNCTION__) throughout the selftests, allowing location information to be passed around. It updates the helper functions in pretty-print.c to pass

Re: [PATCH 3/3] pretty-print.c: skip color selftests if GCC_COLORS is set

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: gcc/ChangeLog: * pretty-print.c (assert_pp_format_colored): Skip the test if GCC_COLORS is set. (test_pp_format): Remove comment about GCC_COLORS. OK. jeff

Re: [PATCH 1/3] selftest: show values when ASSERT_STREQ fails

2016-06-13 Thread Jeff Law
On 06/09/2016 12:42 PM, David Malcolm wrote: Rework ASSERT_STREQ so that it prints the actual and expected values to stderr when it fails (by moving it to a helper function). gcc/ChangeLog: * selftest.c (selftest::fail_formatted): New function. (selftest::assert_streq): New

Re: [PATCH] PR bootstrap/71481: fix input.c selftest

2016-06-13 Thread Jeff Law
On 06/09/2016 03:58 PM, David Malcolm wrote: input.c's selftest::test_reading_source_line attempted to read from __FILE__, which doesn't work if the binary is run from a different location than the build dir. Fix it by rewriting the test to write out a tempfile, and read from that, rather than

Fix oversight in vn_reference_lookup_3

2016-06-13 Thread Eric Botcazou
The second test on shared_lookup_references in the block: /* We need to pre-pend vr->operands[0..i] to rhs. */ vec old = vr->operands; if (i + 1 + rhs.length () > vr->operands.length ()) { vr->operands.safe_grow (i + 1 + rhs.length ()); if (old ==

Re: [PATCH] c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’

2016-06-13 Thread Joseph Myers
On Fri, 27 May 2016, Martin Sebor wrote: > The patch below adjusts the C alignof pedantic warning to avoid > diagnosing the GCC extension (__alignof__) and only diagnose > _Alignof in C99 and prior modes. This is consistent with how > __attribute__ ((aligned)) and _Alignas is handled (among

[PATCH PING] boehm-gc: check for execinfo.h directly

2016-06-13 Thread Mike Frysinger
The current header depends on glibc version checks to determine whether execinfo.h exists which breaks uClibc. Instead, add an explicit configure check for it. 2015-08-29 Mike Frysinger * configure.ac: Call AC_CHECK_HEADERS([execinfo.h]). * configure:

Re: [PATCH 3/8] nvptx -muniform-simt

2016-06-13 Thread Alexander Monakov
On Sun, 12 Jun 2016, Sandra Loosemore wrote: > On 06/09/2016 10:53 AM, Alexander Monakov wrote: > > +@item -muniform-simt > > +@opindex muniform-simt > > +Generate code that allows to keep all lanes in each warp active, even when > > Allows *what* to keep? E.g. what is doing the keeping here?

Re: [patch, avr] Fix PR67353

2016-06-13 Thread Bernhard Reutner-Fischer
On June 13, 2016 5:48:43 PM GMT+02:00, Georg-Johann Lay wrote: >Pitchumani Sivanupandi schrieb: >> Hi, >> >> This patch introduces new flags for warning 'misspelled interrupt/ >> signal handler'. Flag -Wmisspelled-isr is enabled by default and it >> will warn user if the

[PATCH], PowerPC: Allow DImode in Altivec registers

2016-06-13 Thread Michael Meissner
This patch goes through the PowerPC compiler and adds support to allow DImode (64-bit integers) into Altivec registers for VSX systems. It also adds some support to allow loading some DImode constants via either ISA 2.07 or ISA 3.0 instructions. I have bootstrapped this with no regressions on

[PATCH, Fortran] PR71523 - Static variables given automatic initializers with -finit-* and -fmax-stack-var-size

2016-06-13 Thread Fritz Reese
RE: https://gcc.gnu.org/ml/fortran/2016-06/msg00023.html On Thu, Jun 9, 2016 at 2:01 PM, Fritz Reese wrote: > It looks like when -fautomatic and -finit-local-zero are set with > -fmax-stack-var-size=X, an automatic initializer is generated even for > variables larger than

Re: Update probabilities in predict.def to match reality

2016-06-13 Thread Kyrill Tkachov
Hi Honza, On 07/06/16 20:27, Jan Hubicka wrote: Hello, Maritn Liska measured branch predictor hitrates on current tree and SPEC2006. CPU2006 HEURISTICS BRANCHES (REL) HITRATE COVERAGE COVERAGE (REL) loop iv compare33

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Mon, 13 Jun 2016 16:48:56 +0200, Jakub Jelinek wrote: > On Mon, Jun 13, 2016 at 04:43:25PM +0200, Thomas Schwinge wrote: > > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > > wrote: > > > Here are the OpenACC bits of

[Patch AArch64] Add some more missing intrinsics

2016-06-13 Thread James Greenhalgh
Hi, Inspired by Jiong's recent work, here are some more missing intrinsics, and a smoke test for each of them. This patch covers: vcvt_n_f64_s64 vcvt_n_f64_u64 vcvt_n_s64_f64 vcvt_n_u64_f64 vcvt_f64_s64 vrecpe_f64 vcvt_f64_u64 vrecps_f64 Tested on aarch64-none-elf, and on an

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
On 13/06/16 15:48, Marc Glisse wrote: + /* All synthesis algorithms require shifts, so bail out early if + target cannot vectorize them. */ + if (!target_has_vecop_for_code (LSHIFT_EXPR, vectype)) +return false; Hmm, 2 points: * Could you use vect_supportable_shift (or equivalent)

Fix CASE_CHAIN typos (was: [patch] Fix CASE_LABEL_EXPR documentation in tree.def and tree-cfg.c)

2016-06-13 Thread Thomas Schwinge
Hi! On Wed, 18 Apr 2012 17:32:08 +0200, Steven Bosscher wrote: > Subject says all. Will commit as obvious. > > * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. > * tree-cfg.c (edge_to_cases): Fix documentation. > --- tree.def

[libiberty][PATCH] Avoid zero-length VLAs.

2016-06-13 Thread Brooks Moses
Zero-length variable-length-arrays are not allowed in standard C99, and perhaps more importantly, they cause ASAN to complain. (See, e.g., https://gcc.gnu.org/ml/gcc-patches/2013-09/msg00917.html.) With this patch, the libiberty tests, including demangler-fuzzer, are ASAN-clean. - Brooks

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 03:39:21PM +, Bernd Edlinger wrote: > On 06/13/16 17:27, David Malcolm wrote: > > On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: > >> Hi, > >> > >> as noted in PR bootstrap/71481, comment#4 currently > >> the trunk fails to bootstrap if the current language is

Re: [patch, avr] Fix PR67353

2016-06-13 Thread Georg-Johann Lay
Pitchumani Sivanupandi schrieb: Hi, This patch introduces new flags for warning 'misspelled interrupt/ signal handler'. Flag -Wmisspelled-isr is enabled by default and it will warn user if the interrupt/ signal handler is without '__vector' prefix. Flag -Wno-misspelled-isr shall be enabled by

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Bernd Edlinger
On 06/13/16 17:27, David Malcolm wrote: > On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: >> Hi, >> >> as noted in PR bootstrap/71481, comment#4 currently >> the trunk fails to bootstrap if the current language is >> not english. A workaround is possible by setting LANG=C, >> but OTOH it

Re: [PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread David Malcolm
On Mon, 2016-06-13 at 14:41 +, Bernd Edlinger wrote: > Hi, > > as noted in PR bootstrap/71481, comment#4 currently > the trunk fails to bootstrap if the current language is > not english. A workaround is possible by setting LANG=C, > but OTOH it is rather easy to fix, by translating the

Re: [PATCH] Add ggc-tests.c

2016-06-13 Thread David Malcolm
On Mon, 2016-06-13 at 13:36 +0200, Ulrich Weigand wrote: > Gerald Pfeifer wrote: > > > The source code of need_finalization_p in ggc.h reads > > > >template > >static inline bool > >need_finalization_p () > >{ > >#if GCC_VERSION >= 4003 > > return

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Mon, 13 Jun 2016 16:43:25 +0200, Thomas Schwinge wrote: > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > wrote: > > Here are the OpenACC bits of . > > In the PR, Jakub clarified that all the missing

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Marc Glisse
+ /* All synthesis algorithms require shifts, so bail out early if + target cannot vectorize them. */ + if (!target_has_vecop_for_code (LSHIFT_EXPR, vectype)) +return false; Hmm, 2 points: * Could you use vect_supportable_shift (or equivalent) instead? This way it will work even if

Re: [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 04:43:25PM +0200, Thomas Schwinge wrote: > On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge > wrote: > > Here are the OpenACC bits of . > > In the PR, Jakub clarified that all the missing other OMP_CLAUSE_* are in >

[PATCH, i386]: Use ix86_expand_setcc some more

2016-06-13 Thread Uros Bizjak
No functional changes. 2016-06-13 Uros Bizjak * config/i386/i386.md (paritydi2): Use ix86_expand_setcc. (paritysi2): Ditto. (isinfxf2): Ditto. (isinf2): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN.

[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

2016-06-13 Thread Thomas Schwinge
Hi! On Wed, 01 Jun 2016 17:06:42 +0200, Thomas Schwinge wrote: > Here are the OpenACC bits of . In the PR, Jakub clarified that all the missing other OMP_CLAUSE_* are in fact all unreachable here. OK to document this as follows, in trunk?

[PATCH] Fix bootstrap when user language is not english

2016-06-13 Thread Bernd Edlinger
Hi, as noted in PR bootstrap/71481, comment#4 currently the trunk fails to bootstrap if the current language is not english. A workaround is possible by setting LANG=C, but OTOH it is rather easy to fix, by translating the string in the assertion, as it is the only place that is affected by the

Re: [Patch AArch64] Fixup to fcvt patterns added in r237200

2016-06-13 Thread Kyrill Tkachov
On 10/06/16 13:29, James Greenhalgh wrote: Hi, My autotester picked up some issues with the vcvt{ds}_n_* intrinsics added in r237200. The iterators in this pattern do not resolve, as they have not been explicitly tied to the mode iterator (rather than the code iterator) used by the pattern.

Re: [PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Kyrill Tkachov
Hi Richard, On 13/06/16 15:07, Richard Biener wrote: On Mon, Jun 13, 2016 at 2:23 PM, Kyrill Tkachov wrote: Hi all, There are other places besides expand where we might want to synthesize an integer multiplication by a constant. Thankfully the algorithm

Re: [PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 2:23 PM, Kyrill Tkachov wrote: > Hi all, > > There are other places besides expand where we might want to synthesize an > integer > multiplication by a constant. Thankfully the algorithm selection code in > expmed.c > is already quite well

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Jason Merrill
On Mon, Jun 13, 2016 at 5:03 AM, Richard Biener wrote: > On Sat, Jun 11, 2016 at 9:30 PM, Jakub Jelinek wrote: >> On Sat, Jun 11, 2016 at 08:43:06PM +0200, Richard Biener wrote: >>> On June 10, 2016 9:48:45 PM GMT+02:00, Jason Merrill

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
On 13/06/16 14:58, Marc Glisse wrote: On Mon, 13 Jun 2016, Kyrill Tkachov wrote: This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that

Re: [PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Marc Glisse
On Mon, 13 Jun 2016, Kyrill Tkachov wrote: This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that is a linked list of steps describing

[PATCH] Fix code emission for FAIL_ALLOC predictor

2016-06-13 Thread Martin Liška
Hello. Following patch fixes Fortran FAIL_ALLOC predictor in a way that it introduces a new one (PRED_FORTRAN_REALLOC) and it properly marks returned values as described in the following 2 examples: A) allocate_allocatable original annotation: if ((logical(kind=4)) __builtin_expect

Re: [PATCH] Allow fwprop to undo vectorization harm (PR68961)

2016-06-13 Thread Richard Biener
On Mon, 13 Jun 2016, Richard Biener wrote: > On Fri, 10 Jun 2016, Richard Biener wrote: > > > > > With the proposed cost change for vector construction we will end up > > vectorizing the testcase in PR68961 again (on x86_64 and likely > > on ppc64le as well after that target gets adjustments).

Re: [PATCH][C] Avoid reading from FUNCTION_DECL with atomics

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 01:25:35PM +0200, Richard Biener wrote: > The following avoids creating IL that accesses a FUNCTION_DECLs memory > directly rather than indirectly through an address based on it. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu, ok for trunk? I think the

Re: [PATCH] Add ggc-tests.c

2016-06-13 Thread Ulrich Weigand
Gerald Pfeifer wrote: > The source code of need_finalization_p in ggc.h reads > >template >static inline bool >need_finalization_p () >{ >#if GCC_VERSION >= 4003 > return !__has_trivial_destructor (T); >#else > return true; >#endif >} > > which means

[PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-13 Thread Kyrill Tkachov
Hi all, There are other places besides expand where we might want to synthesize an integer multiplication by a constant. Thankfully the algorithm selection code in expmed.c is already quite well separated from the RTL implementation, so if we can just factor out the prototype of

[PATCH][vectorizer][2/2] PR 65951: Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-06-13 Thread Kyrill Tkachov
Hi all, This patch allows the vectoriser to synthesize multiplications by an integer constant using the algorithms determined by choose_mult_variant from expmed.c. choose_mult_variant returns an algorithm structure that is a linked list of steps describing how to synthesize an integer

[PATCH] Fix PR71521

2016-06-13 Thread Richard Biener
Bootstrap and regtest running on x86_64-unknown-linux-gnu. Richard. 2016-06-13 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. *

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 12:49 PM, Jakub Jelinek wrote: ... >> Yes. It is inconsistent to builtin-types.def. Not sure if it is worth fixing >> it. > > I think it wouldn't hurt, it would improve code readability. > And it affects just the single source file. Done.

[Committed] S/390: Change builtin type naming scheme to match builtin-types.def.

2016-06-13 Thread Andreas Krebbel
gcc/ChangeLog: 2016-06-13 Andreas Krebbel * config/s390/s390-builtin-types.def: Change builtin type naming scheme to match builtin-types.def. --- gcc/ChangeLog | 5 + gcc/config/s390/s390-builtin-types.def | 420

[Committed] S/390: vecintrin.h fix file description in comment

2016-06-13 Thread Andreas Krebbel
gcc/ChangeLog: 2016-06-13 Andreas Krebbel * config/s390/vecintrin.h: Fix file description in comment. --- gcc/ChangeLog | 4 gcc/config/s390/vecintrin.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog

[PATCH][C] Avoid reading from FUNCTION_DECL with atomics

2016-06-13 Thread Richard Biener
The following avoids creating IL that accesses a FUNCTION_DECLs memory directly rather than indirectly through an address based on it. Bootstrap and regtest running on x86_64-unknown-linux-gnu, ok for trunk? Thanks, Richard. 2016-06-13 Richard Biener PR c/71514

Re: Vectorize 2*x as x+x if needed

2016-06-13 Thread Marc Glisse
On Mon, 13 Jun 2016, Richard Biener wrote: On Sun, Jun 12, 2016 at 11:19 AM, Marc Glisse wrote: Hello, canonicalizing x+x to x*2 made us regress some vectorization tests on sparc. As suggested by Richard, this lets the vectorizer handle x*2 as x+x if that helps. Let me

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-13 Thread Joseph Myers
On Mon, 13 Jun 2016, Richard Biener wrote: > Hmm, as we already have BUILT_IN_NAN[S] why not add NAN128 and NANS128 > variants in the middle-end as we already have NAND128 (for decimal float > 128)? The middle-end does not know anything about the target-specific __float128 type. Now, I'm

Re: [PATCH] PR 71416 - allow more than one use of a live operation

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 1:00 PM, Alan Hayward wrote: > vectorizable_live_operation checks that there is exactly one use of each > operation that has been marked live. > > However, it is possible for the operation is used more than once if the > usage PHIs are identical. > >

[PATCH] PR 71416 - allow more than one use of a live operation

2016-06-13 Thread Alan Hayward
vectorizable_live_operation checks that there is exactly one use of each operation that has been marked live. However, it is possible for the operation is used more than once if the usage PHIs are identical. For example in 71416-1.c, _6 is used twice after the loop in bb 9. : # e.6_21 = PHI

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 12:35:32PM +0200, Andreas Krebbel wrote: > On 06/13/2016 11:01 AM, Jakub Jelinek wrote: > > Also, it isn't clear to me, are there any s390 builtins right now that > > actually have 6 arguments (my reading is that you don't count the return > > value into that)? I.e. beyond

Re: move increase_alignment from simple to regular ipa pass

2016-06-13 Thread Jan Hubicka
> diff --git a/gcc/cgraph.h b/gcc/cgraph.h > index ecafe63..41ac408 100644 > --- a/gcc/cgraph.h > +++ b/gcc/cgraph.h > @@ -1874,6 +1874,9 @@ public: > if we did not do any inter-procedural code movement. */ >unsigned used_by_single_function : 1; > > + /* Set if -fsection-anchors is

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 11:01 AM, Jakub Jelinek wrote: > Also, it isn't clear to me, are there any s390 builtins right now that > actually have 6 arguments (my reading is that you don't count the return > value into that)? I.e. beyond the bootstrap issues, is the change actually > fixing expansion of any

Re: Vectorize 2*x as x+x if needed

2016-06-13 Thread Richard Biener
On Sun, Jun 12, 2016 at 11:19 AM, Marc Glisse wrote: > Hello, > > canonicalizing x+x to x*2 made us regress some vectorization tests on sparc. > As suggested by Richard, this lets the vectorizer handle x*2 as x+x if that > helps. Let me copy a few remarks I had in the PR: >

Re: Container debug light mode

2016-06-13 Thread Jonathan Wakely
On 08/06/16 22:53 +0200, François Dumont wrote: Hi Here is the patch I already proposed to introduce the debug light mode for vector and deque containers. It also simplify some internal calls. This looks great, and I'd like to see it on trunk, but could you split it into two patches

Re: Move optimize_minmax_comparison to match.pd

2016-06-13 Thread Richard Biener
On Sun, Jun 12, 2016 at 10:30 AM, Marc Glisse wrote: > Hello, > > this move is pretty straightforward. The transformation would probably work > just fine for any type (floats, vectors), but I didn't want the headache of > checking the behavior for NaN. > > Bootstrap+regtest

Re: [PATCH GCC]Resolve compilation time known alias checks in vectorizer

2016-06-13 Thread Bin Cheng
And Below is the ChangeLog entry for test cases gcc/testsuite/ChangeLog 2016-06-07 Bin Cheng * gcc.dg/vect/vect-35-big-array.c: Refine comment and test. * gcc.dg/vect/vect-35.c: Ditto. BTW, this patch also makes gcc.dg/vect/vect-mask-store-move-1.c fail,

Re: [PATCH 3/3][AArch64] Emit division using the Newton series

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:24PM -0500, Evandro Menezes wrote: > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 73a3fb8..4d7bcb7 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -577,6 +577,7 @@ Objective-C and Objective-C++ Dialects}. >

[arm-embedded][committed] patch for PR61578

2016-06-13 Thread Andre Vieira (lists)
Hi Backported the following two patches to embedded-5-branch: https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00096.html https://gcc.gnu.org/ml/gcc-patches/2015-09/msg02028.html Committed as revisions r237369 and r237371. gcc/ChangeLog.arm: 2016-06-13 Andre Vieira

Re: [PATCH 2/3][AArch64] Emit square root using the Newton series

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:16PM -0500, Evandro Menezes wrote: > >>+return false; > >>- emit_insn ((*get_rsqrte_type (mode)) (x0, xsrc)); > >>+ rtx xmsk = gen_reg_rtx (mmsk); > >>+ if (!recp) > >>+/* When calculating the approximate square root, compare the argument > >>with > >>+

Re: [PATCH PR71354]Require vect_cond in test gcc.dg/vect/vect-23.c

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:58 AM, Bin Cheng wrote: > Hi, > This is a simple patch adding vect_cond requirement to case > gcc.dg/vect/vect-23.c. > > Checked test behavior on sparc64. Is it OK? Ok. Richard. > Thanks, > bin > gcc/testsuite/ChangeLog > 2016-05-31 Bin Cheng

Re: [PATCH PR71347][Partial revert r235513]Compute cost for all uses in group

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:57 AM, Bin Cheng wrote: > Hi, > This patch partially reverts part of r235513 to fix PR71347, the original > patch is to improve compilation time for a small amount. Root cause as > analyzed in bugzilla PR is that we can't skip computing cost for

[PATCH GCC]Improve alias check code generation in vectorizer

2016-06-13 Thread Bin Cheng
Hi, Take subroutine "DACOP" from spec2k/200.sixtrack as an example, the loop needs to be versioned for vectorization because of possibly alias. The alias check for data-references are like: //pair 1 dr_a: (Data Ref: bb: 8 stmt: _92 = da.cc[_27]; ref: da.cc[_27]; ) dr_b: (Data Ref:

Re: [PATCH, AARCH64] add qdf24xx tuning structure

2016-06-13 Thread Kyrill Tkachov
Hi Jim, On 10/06/16 23:48, Jim Wilson wrote: This adds a tuning structure for qdf24xx. This was tested with an aarch64-linux bootstrap and a make check, with no regressions. I also tested it with an x86_64-linux C make check to verify that I didn't break the testsuite for non aarch64 targets.

Re: [PATCH 1/3][AArch64] Add more choices for the reciprocal square root approximation

2016-06-13 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 04:50:00PM -0500, Evandro Menezes wrote: > From 763562f829d4fec54d21555b2bfd6478d449294f Mon Sep 17 00:00:00 2001 > From: Evandro Menezes > Date: Thu, 3 Mar 2016 18:13:46 -0600 > Subject: [PATCH 1/3] [AArch64] Add more choices for the reciprocal

[PATCH GCC]Resolve compilation time known alias checks in vectorizer

2016-06-13 Thread Bin Cheng
Hi, GCC vectorizer generates many unnecessary runtime alias checks known at compilation time. For some data-reference pairs, alias relation can be resolved at compilation time, in this case, we can simply skip the alias check. For some other data-reference pairs, alias relation can be

Re: [BUILDROBOT] MPS430 build problem due to new enum

2016-06-13 Thread Martin Liška
On 06/13/2016 10:46 AM, Jan Hubicka wrote: > Hmm, namespace conflict. I guess renaming enum items to REASON_* should > solve it easily. > Or we can add a namespace. > > Martin, both variants of fix are pre-approved. > Honza OK, I've just installed (r237370) a patch that prefixes all enum

[PATCH PR71354]Require vect_cond in test gcc.dg/vect/vect-23.c

2016-06-13 Thread Bin Cheng
Hi, This is a simple patch adding vect_cond requirement to case gcc.dg/vect/vect-23.c. Checked test behavior on sparc64. Is it OK? Thanks, bin gcc/testsuite/ChangeLog 2016-05-31 Bin Cheng PR tree-optimization/71354 * gcc.dg/vect/vect-23.c: Add VECT_COND

[PATCH PR71347][Partial revert r235513]Compute cost for all uses in group

2016-06-13 Thread Bin Cheng
Hi, This patch partially reverts part of r235513 to fix PR71347, the original patch is to improve compilation time for a small amount. Root cause as analyzed in bugzilla PR is that we can't skip computing cost for sub iv_use if it has different position to the first use in group. The patch

Re: [PATCH]: Restore bootstrap with gcc < 4.3

2016-06-13 Thread Richard Biener
On Mon, Jun 13, 2016 at 11:23 AM, Uros Bizjak wrote: > Hello! > > The new test finalization self tests fail wigh gcc < 4.3 due to the > way need_finalization_p is defined: > > template > static inline bool > need_finalization_p () > { > #if GCC_VERSION >= 4003 > return

[PATCH Obvious]Check gimple seq before inserting it.

2016-06-13 Thread Bin Cheng
Hi, This is an obvious change which checks if gimple seq is empty before inserting it. I built spec2k6 and found the gimple seq in most (if not all) cases is empty, we can save a function call here. Build on x86_64. Thanks, bin 2016-05-17 Bin Cheng *

[PATCH] Fix PR71505

2016-06-13 Thread Richard Biener
Committed as obvious to trunk and branches. Richard. 2016-06-13 Richard Biener PR tree-optimization/71505 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make assert match comment. Index: gcc/tree-vect-data-refs.c

[PATCH]: Restore bootstrap with gcc < 4.3

2016-06-13 Thread Uros Bizjak
Hello! The new test finalization self tests fail wigh gcc < 4.3 due to the way need_finalization_p is defined: template static inline bool need_finalization_p () { #if GCC_VERSION >= 4003 return !__has_trivial_destructor (T); #else return true; #endif } It is obvious that checking for

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 11:03:54AM +0200, Richard Biener wrote: > > I'm afraid that would break OpenMP badly. > > During gimplification, outside of OpenMP contexts we always replace decls > > for their DECL_VALUE_EXPR, but inside of OpenMP contexts we do it only for > > some decls. In particular,

Re: RFC (gimplify, openmp): PATCH to is_gimple_reg to check DECL_HAS_VALUE_EXPR_P

2016-06-13 Thread Richard Biener
On Sat, Jun 11, 2016 at 9:30 PM, Jakub Jelinek wrote: > On Sat, Jun 11, 2016 at 08:43:06PM +0200, Richard Biener wrote: >> On June 10, 2016 9:48:45 PM GMT+02:00, Jason Merrill >> wrote: >> >While working on another issue I noticed that is_gimple_reg was

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 10:51:16AM +0200, Andreas Krebbel wrote: > On 06/13/2016 10:43 AM, Jakub Jelinek wrote: > > On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: > >> Committed to GCC 5 and mainline branches. > > > > What about gcc-6-branch? It also has MAX_ARGS 5, and case

Re: move increase_alignment from simple to regular ipa pass

2016-06-13 Thread Prathamesh Kulkarni
On 10 June 2016 at 16:47, Richard Biener wrote: > On Fri, 10 Jun 2016, Prathamesh Kulkarni wrote: > >> On 10 June 2016 at 01:53, Jan Hubicka wrote: >> >> On 8 June 2016 at 20:38, Jan Hubicka wrote: >> >> >> I think it would be nice to work

Re: [PATCH, AARCH64] add qdf24xx tuning structure

2016-06-13 Thread James Greenhalgh
On Fri, Jun 10, 2016 at 03:48:38PM -0700, Jim Wilson wrote: > This adds a tuning structure for qdf24xx. This was tested with an > aarch64-linux bootstrap and a make check, with no regressions. I also > tested it with an x86_64-linux C make check to verify that I didn't > break the testsuite for

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
On 06/13/2016 10:43 AM, Jakub Jelinek wrote: > On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: >> Committed to GCC 5 and mainline branches. > > What about gcc-6-branch? It also has MAX_ARGS 5, and case for arity 6. Done. -Andreas-

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-13 Thread Uros Bizjak
On Mon, Jun 13, 2016 at 10:01 AM, Richard Biener wrote: > On Fri, 10 Jun 2016, Uros Bizjak wrote: > >> Hello! >> >> Attached patch implements __builtin_nanq and __builtin_nansq >> __float128 functions. >> >> 2016-06-10 Uros Bizjak >> >> PR target/71241

Re: [PATCH] Allow fwprop to undo vectorization harm (PR68961)

2016-06-13 Thread Richard Biener
On Fri, 10 Jun 2016, Richard Biener wrote: > > With the proposed cost change for vector construction we will end up > vectorizing the testcase in PR68961 again (on x86_64 and likely > on ppc64le as well after that target gets adjustments). Currently > we can't optimize that away again noticing

Re: [BUILDROBOT] MPS430 build problem due to new enum (was: [PATCH 2/2] Add edge predictions pruning)

2016-06-13 Thread Jan Hubicka
> Hi Martin, > > On Thu, 2016-06-09 13:24:10 +0200, Martin Liška wrote: > > On 06/08/2016 02:41 PM, Jan Hubicka wrote: > > > Adding hash for this prupose is bit of an overkill (there are > > > definitly cheaper ways of solving so), but it will hardly affect compile > > > time, so

Re: [Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Jakub Jelinek
On Mon, Jun 13, 2016 at 10:38:22AM +0200, Andreas Krebbel wrote: > Committed to GCC 5 and mainline branches. What about gcc-6-branch? It also has MAX_ARGS 5, and case for arity 6. > gcc/ChangeLog: > > 2016-06-13 Andreas Krebbel > > PR target/71379 >

[Committed] S/390: Fix MAX_ARGS value.

2016-06-13 Thread Andreas Krebbel
Committed to GCC 5 and mainline branches. gcc/ChangeLog: 2016-06-13 Andreas Krebbel PR target/71379 * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by one. --- gcc/config/s390/s390.c | 2 +- 1 file changed, 1 insertion(+), 1

  1   2   >