[PATCH] Transform (m1 > m2) * d into m1> m2 ? d : 0

2017-06-28 Thread Hurugalawadi, Naveen
Hi,  The code (m1 > m2) * d code should be optimized as m1> m2 ? d : 0. The patch optimizes it inside tree-vrp.c when simplifying with the range inside simplify_stmt_using_ranges. If a multiply is found and either side has a range [0,1], then transform it. Ex:- d * c where d has a range of [0,1]

[PATCH] Fix PR middle-end/81194, ICE during RTL pass: expand

2017-06-28 Thread Peter Bergner
With the fix to PR51513 and follow on fixes for PR80707, PR80775 and PR80823, we can now end up with switch statements that contain nothing but a default case statement. The expand_case() function contains code that assumes we have at least one non-default case statement, leading to the ICE report

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Martin Sebor
On 06/28/2017 11:41 AM, Joseph Myers wrote: On Wed, 28 Jun 2017, Martin Sebor wrote: I don't think there is an equivalent, dedicated trait in C++ to do that either. One would have to be composed of the lower-level ones. There also is no trait that would remove all type qualifiers (including e

Re: [PATCH][PR sanitizer/77631] Support separate debug info in libbacktrace

2017-06-28 Thread Ian Lance Taylor via gcc-patches
On Fri, Jun 16, 2017 at 8:39 AM, Denis Khalikov wrote: > Hello everyone, > > This is a patch for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77631 > > Can some one please review attached patch. Sorry to take so long about this. It's a lot to look at. > diff --git a/libbacktrace/ChangeLog b/l

Re: [PATCH rs6000] remove implicit static var outputs of toc_relative_expr_p

2017-06-28 Thread Segher Boessenkool
On Wed, Jun 28, 2017 at 03:21:49PM -0500, Aaron Sawdey wrote: > > It is probably nicer to have a separate function for > > toc_relative_expr_p > > and one to pull the base/offset out.  And maybe don't keep it cached > > for > > the output function either?  It has all info it needs, right, the > > f

[PATCH] v2: Fix location of typeid() (PR c++/80014)

2017-06-28 Thread David Malcolm
On Wed, 2017-03-15 at 16:35 -0400, Jason Merrill wrote: > On Tue, Mar 14, 2017 at 9:05 PM, David Malcolm > wrote: > > OK for trunk now, or should this wait until stage 1? > > Stage 1. > > > + cp_token *close_paren = cp_parser_require (parser, > > CPP_CLOSE_PAREN, > > +

Re: [PATCH, rs6000] builtins-3-vec_reve-runnable fix minimum platform

2017-06-28 Thread Segher Boessenkool
Hi Carl, On Wed, Jun 28, 2017 at 10:57:52AM -0700, Carl Love wrote: > The vec_reve builtin test builtins-3-vec_reve-runnable did not have a > minimum Power processor specified. The thought was the instructions for > the builtin were available on all the older processors. Unfortunately, > it turn

Re: [gomp4] OpenACC async re-work

2017-06-28 Thread Cesar Philippidis
On 06/27/2017 03:56 AM, Chung-Lin Tang wrote: > On 2017/6/27 6:45 AM, Cesar Philippidis wrote: >>> (1) Instead of essentially implementing the entire OpenACC async support >>> inside the plugin, we now use an opaque 'goacc_asyncqueue' implemented >>> by the plugin, along with core 'test', 'synchron

Re: [PATCH], Add check ppc_cpu_supports_hw to testsuite

2017-06-28 Thread Segher Boessenkool
On Wed, Jun 28, 2017 at 05:04:37PM -0400, Michael Meissner wrote: > > Why did you use check_runtime_nocache btw? Is that just copy-paste? > > Just copy-paste. > > Like the target_clones stuff, right now, it is only x86 and PowerPC that > supports __builtin_cpu*. > > I don't really see the point

Re: Backport [PATCH,rs6000] PR80103: Fix ICE with cross compiler

2017-06-28 Thread Segher Boessenkool
On Wed, Jun 28, 2017 at 09:42:46AM -0600, Kelvin Nilsen wrote: > Is the attached refinement of this patch previously applied to mainline > ok for backport to gcc 6? I have bootstrapped and tested without > regressions on powerpc64le-unknown-linux-gnu. After 6.4 please. Segher

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-06-28 Thread Ramana Radhakrishnan
On Wed, Jun 28, 2017 at 2:02 AM, Kugan Vivekanandarajah wrote: > Hi Ramana, > > On 27 June 2017 at 18:01, Ramana Radhakrishnan > wrote: >> On 27/06/17 02:20, Kugan Vivekanandarajah wrote: >>> >>> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this >>> workaround to get kernel bui

Re: [PATCH, rs6000] Signed builtin support

2017-06-28 Thread Segher Boessenkool
Hi Carl, On Wed, Jun 28, 2017 at 08:37:35AM -0700, Carl Love wrote: > The following patch adds support for the vec_signed, vec_signede, > vec_signedo and vec_signed2 builtins. Are those names ABI-dictated? > * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS, > UNSP

Re: [PATCH] PR target/80556

2017-06-28 Thread Mike Stump
On Jun 9, 2017, at 6:57 AM, Simon Wright wrote: > > This PR was raised because of a bootstrap failure on Darwin. > A question: I've checked for x86_64-apple-darwin*, is this OK or > should it be more restrictive? That seems ok. Ok. If anyone sees any fallout from this, please speak up. I'm h

Re: C++ PATCH for c++/69300, ICE with self-referential noexcept

2017-06-28 Thread Marc Glisse
On Wed, 28 Jun 2017, Jason Merrill wrote: In the testcase we SEGV due to infinite recursion because the noexcept-specifier of f depends on itself. Fixed by keeping track of which functions we're currently trying to instantiate noexcept for. Hello, in the testcase, it makes sense that this is

C++ PATCH for c++/72764, ICE with invalid template typename

2017-06-28 Thread Jason Merrill
The problem in this testcase is that when we first parse C we look up the canonical instantiation of C which doesn't see inside A because it happens at global scope, but then in strip_typedefs we are in the context of A, so the call to make_typename_type in strip_typedefs was finding the error and

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 8:06 PM, Richard Sandiford wrote: > "Bin.Cheng" writes: >> On Wed, Jun 28, 2017 at 5:56 PM, Richard Sandiford >> wrote: >>> "Bin.Cheng" writes: Question is what would happen if simple_iv succeeds with non-ZERO step when called with nest==NULL? The patch skips

Re: [PATCH], Add check ppc_cpu_supports_hw to testsuite

2017-06-28 Thread Michael Meissner
On Wed, Jun 28, 2017 at 03:48:50PM -0500, Segher Boessenkool wrote: > As Peter said, I'd rather test for "ppc32", so this works anywhere. Fair enough. > That would give > > proc check_cpu_supports_available { } { > if { [istarget powerpc*-*-*] } { > return [check_runtime cpu_supports

Re: Backport [PATCH,rs6000] Handle conflicting target options -mno-power9-vector and -mcpu=power9

2017-06-28 Thread Segher Boessenkool
On Wed, Jun 28, 2017 at 08:30:21AM -0600, Kelvin Nilsen wrote: > I have bootstrapped and tested this patch on > powerpc64le-unkonwn-linux-gnu with no regressions. Is this ok for > backporting to gcc 6? Please wait until after 6.4. Thanks, Segher

Re: [PATCH][x86] Add permutex[var]_epi[32,64] intrinsics

2017-06-28 Thread Uros Bizjak
On Wed, Jun 28, 2017 at 12:01 PM, Peryt, Sebastian wrote: > Hi, > > This patch adds missing intrinsics: > - _mm256_permutexvar_epi32 > - _mm256_permutex_epi64 > - _mm256_permutexvar_epi64 > > gcc/ > * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64, > _mm256

Re: [PATCH], Add check ppc_cpu_supports_hw to testsuite

2017-06-28 Thread Segher Boessenkool
Hi! On Tue, Jun 27, 2017 at 07:53:21PM -0400, Michael Meissner wrote: > --- gcc/testsuite/lib/target-supports.exp (revision 249606) > +++ gcc/testsuite/lib/target-supports.exp (working copy) > @@ -1930,6 +1930,37 @@ proc check_effective_target_powerpc64_no > } {-O2}] > } > > +# Re

Re: [PATCH rs6000] remove implicit static var outputs of toc_relative_expr_p

2017-06-28 Thread Aaron Sawdey
Hi Segher, On Tue, 2017-06-27 at 18:35 -0500, Segher Boessenkool wrote: > Hi Aaron, > > On Tue, Jun 27, 2017 at 11:43:57AM -0500, Aaron Sawdey wrote: > > The function toc_relative_expr_p implicitly sets two static vars > > (tocrel_base and tocrel_offset) that are declared in rs6000.c. The > > rea

Re: [patch][Ping #3] PR80929: Realistic PARALLEL cost in seq_cost.

2017-06-28 Thread Wilco Dijkstra
Georg-Johann Lay wrote: @@ -5300,6 +5300,9 @@ seq_cost (const rtx_insn *seq, bool spee set = single_set (seq); if (set) cost += set_rtx_cost (set, speed); + else if (INSN_P (seq) + && PARALLEL == GET_CODE (PATTERN (seq))) + cost += insn_rtx_cost (PATT

Re: [PATCH 3/3] Introduce IntegerRange for options (PR driver/79659).

2017-06-28 Thread Rainer Orth
Hi Martin, > On 06/28/2017 06:52 AM, Jeff Law wrote: >> On 03/15/2017 03:58 AM, Martin Liška wrote: >>> Huh, I forgot to attach the patch. >>> >>> Martin >>> >>> 0001-Introduce-IntegerRange-for-options-PR-driver-79659.patch >>> >>> >>> From bb89456e6cecfa9497cf8e265d2083e762d5bc3e Mon Sep 17 00:00

C++ PATCH for c++/69300, ICE with self-referential noexcept

2017-06-28 Thread Jason Merrill
In the testcase we SEGV due to infinite recursion because the noexcept-specifier of f depends on itself. Fixed by keeping track of which functions we're currently trying to instantiate noexcept for. Tested x86_64-pc-linux-gnu, applying to trunk. commit 7a938fed4c07c7e28008b56e6bac05376b1f99fa Aut

C++ PATCHes for c++/61022 and 72801, variadic template issues

2017-06-28 Thread Jason Merrill
In 61022, we were stripping the pack expansion from a template argument for considering what kind of argument it is, and then forgetting to put it back in the case of an unbound class template. In 72801, we were doing unification wrong when trying to find partial specialization bindings because we

C++ PATCHes to dependent template-id parsing

2017-06-28 Thread Jason Merrill
81204 is a regression whereby previously we would accidentally get the parsing of res.template set right because when we did the lookup in the surrounding context, we found the function template and then ignored it. This patch partially reverts the handling of .template to how it was in GCC 6. Bu

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Richard Sandiford
"Bin.Cheng" writes: > On Wed, Jun 28, 2017 at 5:56 PM, Richard Sandiford > wrote: >> "Bin.Cheng" writes: >>> Question is what would happen if simple_iv succeeds with non-ZERO step >>> when called with nest==NULL? The patch skips simple_iv and forces >>> ZERO step? >> >> Yeah, I mentioned that i

Re: [PATCH][RFC] Canonize names of attributes.

2017-06-28 Thread Jason Merrill
On Wed, Jun 28, 2017 at 12:05 PM, Joseph Myers wrote: > On Wed, 28 Jun 2017, Martin Liška wrote: > >> On 06/14/2017 07:24 PM, Jason Merrill wrote: >> > On Tue, Jun 13, 2017 at 8:32 AM, Martin Liška wrote: >> >> (canonize_attr_name): New function. >> > >> > I think this should be "canonica

Re: [PATCH], Add check ppc_cpu_supports_hw to testsuite

2017-06-28 Thread Michael Meissner
On Wed, Jun 28, 2017 at 09:58:40AM -0500, Peter Bergner wrote: > On 6/27/17 6:53 PM, Michael Meissner wrote: > > This adds a target supports option in dejagnu so that future tests can use > > this > > to determine whether or not to test target_clones. > > I like the idea, but some comments... >

[PATCH], PowerPC target_clones minor support

2017-06-28 Thread Michael Meissner
Some minor changes to the PowerPC target_clones support: 1) I added a warning if target_clones was used and the compiler whas configured with an older glibc where __builtin_cpu_supports always returns 0; 2) I reworked how the ifunc resolver function is generated, and always made it a static funct

[PATCH, rs6000] builtins-3-vec_reve-runnable fix minimum platform

2017-06-28 Thread Carl Love
GCC Maintainers: The vec_reve builtin test builtins-3-vec_reve-runnable did not have a minimum Power processor specified. The thought was the instructions for the builtin were available on all the older processors. Unfortunately, it turns out the builtin does require vsx hardware (-mvsx option).

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Joseph Myers
On Wed, 28 Jun 2017, Martin Sebor wrote: > I don't think there is an equivalent, dedicated trait in C++ to > do that either. One would have to be composed of the lower-level > ones. There also is no trait that would remove all type qualifiers > (including extensions), or even traits for querying

Re: [PATCH] PR target/80556

2017-06-28 Thread Jeff Law
On 06/09/2017 07:57 AM, Simon Wright wrote: > 2017-06-09 Simon Wright > > PR target/80556 > * configure.ac (stage1_ldflags): For Darwin, include -lSystem. > (poststage1_ldflags): likewise. > * configure: regenerated. I'm a bit confused here. Isn't -lSyst

Re: [0/67] Add wrapper classes for machine_modes

2017-06-28 Thread Jeff Law
On 05/24/2017 08:27 AM, Richard Sandiford wrote: > Jeff Law writes: >> On 12/09/2016 05:48 AM, Richard Sandiford wrote: >>> This series includes most of the changes in group C from: >>> >>> https://gcc.gnu.org/ml/gcc/2016-11/msg00033.html >>> >>> The idea is to add wrapper classes around mach

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 5:56 PM, Richard Sandiford wrote: > "Bin.Cheng" writes: >> On Wed, Jun 28, 2017 at 3:04 PM, Richard Sandiford >> wrote: >>> "Bin.Cheng" writes: On Wed, Jun 28, 2017 at 2:36 PM, Richard Sandiford wrote: > Index: gcc/tree-data-ref.c > ===

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Martin Sebor
On 06/28/2017 10:09 AM, Joseph Myers wrote: On Wed, 28 Jun 2017, Martin Sebor wrote: that defines "remove qualifiers except" operations for every combination of qualifiers in that version of the compiler (because "remove qualifiers except _Atomic" and "remove qualifiers except address spaces" c

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Richard Sandiford
"Bin.Cheng" writes: > On Wed, Jun 28, 2017 at 3:04 PM, Richard Sandiford > wrote: >> "Bin.Cheng" writes: >>> On Wed, Jun 28, 2017 at 2:36 PM, Richard Sandiford >>> wrote: Index: gcc/tree-data-ref.c === --- gcc/tree-d

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Joseph Myers
On Wed, 28 Jun 2017, Martin Sebor wrote: > > that defines "remove qualifiers except" > > operations for every combination of qualifiers in that version of the > > compiler (because "remove qualifiers except _Atomic" and "remove > > qualifiers except address spaces" cannot be composed into "remove

Re: [PATCH][RFC] Canonize names of attributes.

2017-06-28 Thread Joseph Myers
On Wed, 28 Jun 2017, Martin Liška wrote: > On 06/14/2017 07:24 PM, Jason Merrill wrote: > > On Tue, Jun 13, 2017 at 8:32 AM, Martin Liška wrote: > >> (canonize_attr_name): New function. > > > > I think this should be "canonicalize"; "canonize" means something else. > > > > Jason > > >

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 3:04 PM, Richard Sandiford wrote: > "Bin.Cheng" writes: >> On Wed, Jun 28, 2017 at 2:36 PM, Richard Sandiford >> wrote: >>> Index: gcc/tree-data-ref.c >>> === >>> --- gcc/tree-data-ref.c 2017-06-28 14:33:41.2

Re: [PATCH, GCC/ARM] Remove ARMv8-M code for D17-D31

2017-06-28 Thread Richard Earnshaw (lists)
On 20/06/17 16:01, Thomas Preudhomme wrote: > Hi, > > Function cmse_nonsecure_entry_clear_before_return has code to deal with > high VFP register (D16-D31) while ARMv8-M Baseline and Mainline both do > not support more than 16 double VFP registers (D0-D15). This makes this > security-sensitive cod

Re: [PATCH] multiarch support for non-glibc linux systems

2017-06-28 Thread Jeff Law
On 06/28/2017 03:33 AM, Matthias Klose wrote: > On 07.06.2017 19:22, Szabolcs Nagy wrote: >> Current multiarch directory name is always *-linux-gnu* on linux, >> this patch configures different names for uclibc and musl targets. >> (tested by the debian rebootstrap scripts for various *-linux-musl

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Martin Sebor
On 06/28/2017 03:19 AM, Joseph Myers wrote: On Wed, 28 Jun 2017, Martin Sebor wrote: I.e., just having blocks to remove qualifiers of kind X is not sufficient without "remove all qualifiers (possibly except these kinds)" as well. I suppose you could have __remove_quals (const volatile _Atomic,

Re: Backport [PATCH,rs6000] PR80103: Fix ICE with cross compiler

2017-06-28 Thread Kelvin Nilsen
Is the attached refinement of this patch previously applied to mainline ok for backport to gcc 6? I have bootstrapped and tested without regressions on powerpc64le-unknown-linux-gnu. This patch differs from the original mainline patch in the following regards: 1. Certain commentary changes are

[PATCH, rs6000] Signed builtin support

2017-06-28 Thread Carl Love
GCC Maintainers: The following patch adds support for the vec_signed, vec_signede, vec_signedo and vec_signed2 builtins. The patch has been tested on powerpc64le-unknown-linux-gnu (Power 8 LE) and powerpc64-unknown-linux-gnu(Power 8 BE). Is the fix OK for gcc mainline? Car

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Martin Sebor
I don't know if that wouldn't be overkill. Qualifiers on rvalues are meaningless in C and that's why my __typeof_noqual strips them all. We'd then need even e.g. __remove_restrict, not sure if there's need for these. Maybe it is. Unless __typeof__ (p) q = p; declares a restrict-qualified q whe

Re: [PATCH] Make inlining consistent in LTO and non-LTO mode (PR target/71991).

2017-06-28 Thread Jan Hubicka
> On 06/28/2017 04:24 PM, Jan Hubicka wrote: > >> - /* If callee has no option attributes, then it is ok to inline. */ > >> - if (!callee_tree) > >> + /* If callee has no option attributes (or default), > >> + then it is ok to inline. */ > >> + if (!callee_tree || callee_tree == target_op

Re: [PATCH, GCC/ARM, ping] Remove ARMv8-M code for D17-D31

2017-06-28 Thread Thomas Preudhomme
Ping? *** gcc/ChangeLog *** 2017-06-13 Thomas Preud'homme * config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security Extensions with more than 16 double VFP registers. (cmse_nonsecure_entry_clear_before_return): Remove second entry of to_clear_mask and

[arm] Fix incorrect __ARM_ARCH_PROFILE for -march=armv7

2017-06-28 Thread Richard Earnshaw (lists)
ACLE explicitly states that when targetting the common subset of ARMv7-A, ARMv7-R and ARMv7-M, the __ARM_ARCH_PROFILE macro should not be set. We currently set it to 'M' which is clearly erroneous. The logic for creating this is very convoluted and also somewhat fragile, so I've taken the opportu

Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets

2017-06-28 Thread Thomas Preudhomme
On 28/06/17 15:59, Kyrill Tkachov wrote: Hi Thomas, On 28/06/17 15:49, Thomas Preudhomme wrote: On 20/06/17 13:44, Christophe Lyon wrote: The results with a more recent trunk (r249356)) are here: http://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/249356-consistent

Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets

2017-06-28 Thread Kyrill Tkachov
Hi Thomas, On 28/06/17 15:49, Thomas Preudhomme wrote: On 20/06/17 13:44, Christophe Lyon wrote: The results with a more recent trunk (r249356)) are here: http://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/249356-consistent_neon_check.patch/report-build-info.html Th

Re: [PATCH], Add check ppc_cpu_supports_hw to testsuite

2017-06-28 Thread Peter Bergner
On 6/27/17 6:53 PM, Michael Meissner wrote: > This adds a target supports option in dejagnu so that future tests can use > this > to determine whether or not to test target_clones. I like the idea, but some comments... > + #ifdef __MACH__ > + asm volatile ("xxlor vs0,

Re: [PATCH, GCC/testsuite/ARM] Consistently check for neon in vect effective targets

2017-06-28 Thread Thomas Preudhomme
On 20/06/17 13:44, Christophe Lyon wrote: The results with a more recent trunk (r249356)) are here: http://people.linaro.org/~christophe.lyon/cross-validation/gcc-test-patches/249356-consistent_neon_check.patch/report-build-info.html They are slightly different, but still tedious to check ;-)

Re: [PATCH][RFC] Canonize names of attributes.

2017-06-28 Thread Martin Liška
On 06/14/2017 07:24 PM, Jason Merrill wrote: > On Tue, Jun 13, 2017 at 8:32 AM, Martin Liška wrote: >> (canonize_attr_name): New function. > > I think this should be "canonicalize"; "canonize" means something else. > > Jason > Yes, I hope it's a cosmetic problem. In general, do you wel

Re: [PATCH][RFC] Canonize names of attributes.

2017-06-28 Thread Martin Liška
On 06/14/2017 06:40 PM, Joseph Myers wrote: > On Wed, 14 Jun 2017, Richard Biener wrote: > are you sure this is needed? This seems to be solely arguments to attributes. >>> >>> It's need for cases like: >>> __intN_t (8, __QI__); >> >> But __QI__ is not processed in lookup_attribute, is

Re: [PATCH] Make inlining consistent in LTO and non-LTO mode (PR target/71991).

2017-06-28 Thread Martin Liška
On 06/28/2017 04:24 PM, Jan Hubicka wrote: >> - /* If callee has no option attributes, then it is ok to inline. */ >> - if (!callee_tree) >> + /* If callee has no option attributes (or default), >> + then it is ok to inline. */ >> + if (!callee_tree || callee_tree == target_option_default

Re: [PATCH 2/3] Simplify wrapped binops

2017-06-28 Thread Robin Dapp
> ideally you'd use a wide-int here and defer the tree allocation to the result Did that in the attached version. > So I guess we never run into the outer_op == minus case as the above is > clearly wrong for that? Right, damn, not only was the treatment for this missing but it was bogus in the o

Re: Backport [PATCH,rs6000] Handle conflicting target options -mno-power9-vector and -mcpu=power9

2017-06-28 Thread Kelvin Nilsen
I have bootstrapped and tested this patch on powerpc64le-unkonwn-linux-gnu with no regressions. Is this ok for backporting to gcc 6? On 03/22/2017 10:17 PM, Segher Boessenkool wrote: > On Wed, Mar 22, 2017 at 05:55:53PM -0600, Kelvin Nilsen wrote: >>> Or it could do -mpower9-dform-scalar but d

Re: [PATCH] Make inlining consistent in LTO and non-LTO mode (PR target/71991).

2017-06-28 Thread Jan Hubicka
> - /* If callee has no option attributes, then it is ok to inline. */ > - if (!callee_tree) > + /* If callee has no option attributes (or default), > + then it is ok to inline. */ > + if (!callee_tree || callee_tree == target_option_default_node) I am not sure this actually makes sense,

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Richard Sandiford
"Bin.Cheng" writes: > On Wed, Jun 28, 2017 at 2:36 PM, Richard Sandiford > wrote: >> Index: gcc/tree-data-ref.c >> === >> --- gcc/tree-data-ref.c 2017-06-28 14:33:41.294720044 +0100 >> +++ gcc/tree-data-ref.c 2017-06-28 14:35:30.4751

[patch][Ping #3] PR80929: Realistic PARALLEL cost in seq_cost.

2017-06-28 Thread Georg-Johann Lay
Ping #3 https://gcc.gnu.org/ml/gcc-patches/2017-06/msg00096.html On 02.06.2017 09:53, Georg-Johann Lay wrote: > Hi, > > this small addition improves costs of PARALLELs in > rtlanal.c:seq_cost(). Up to now, these costs are > assumed to be 1 which gives gross inexact costs for, > e.g. divmod whi

Re: Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 2:36 PM, Richard Sandiford wrote: > Index: gcc/tree-data-ref.c > === > --- gcc/tree-data-ref.c 2017-06-28 14:33:41.294720044 +0100 > +++ gcc/tree-data-ref.c 2017-06-28 14:35:30.475155670 +0100 > @@ -749,15 +749

Pool alignment information for common bases

2017-06-28 Thread Richard Sandiford
We know that if a vectorised loop is reached, all statements in that loop execute at least once, so it should be safe to pool the alignment information for all the statements we're vectorising. The only catch is that DR_REFs for masked loads and stores only occur if the mask value is nonzero. For

Add DR_BASE_ALIGNMENT

2017-06-28 Thread Richard Sandiford
This patch records the base alignment in data_reference, to avoid the second-guessing that was previously done in vect_compute_data_ref_alignment. It also makes vect_analyze_data_refs use dr_analyze_innermost, instead of having an almost-copy of the same code. I'd originally tried to do the second

Tweak BB analysis for dr_analyze_innermost

2017-06-28 Thread Richard Sandiford
dr_analyze_innermost had a "struct loop *nest" parameter that acted like a boolean. This was added in r179161, with the idea that a null nest selected BB-level analysis rather than loop analysis. The handling seemed strange though. If the DR was part of a loop, we still tried to express the base

[v2] PR81136: ICE from inconsistent DR_MISALIGNMENTs

2017-06-28 Thread Richard Sandiford
Richard Biener writes: > On Mon, Jun 26, 2017 at 1:50 PM, Richard Sandiford > wrote: >> Richard Biener writes: >>> On Mon, Jun 26, 2017 at 1:14 PM, Richard Sandiford >>> wrote: I don't think the problem is the lack of a cap. In the test case we see that: 1. B is known at co

Re: [PATCH][AArch64] Improve Cortex-A53 shift bypass

2017-06-28 Thread James Greenhalgh
On Wed, Jun 28, 2017 at 01:49:26PM +0100, Wilco Dijkstra wrote: > Ramana Radhakrishnan wrote: > >  > > I'm about to run home for the day but this came in from > > https://gcc.gnu.org/ml/gcc-patches/2013-09/msg02109.html and James > > said in that email that this was put in to ensure no segfaults

Re: [PATCH] ASAN: handle addressable params (PR sanitize/81040).

2017-06-28 Thread Martin Liška
PING^1 On 06/20/2017 03:06 PM, Martin Liška wrote: > On 06/20/2017 11:32 AM, Jakub Jelinek wrote: >> On Tue, Jun 20, 2017 at 11:23:36AM +0200, Martin Liška wrote: Then something needs to be done for debugging too. If it is without VTA, then probably just having DECL_VALUE_EXPR is good e

Re: [PATCH] Call BUILT_IN_ASAN_HANDLE_NO_RETURN before BUILT_IN_UNWIND_RESUME (PR sanitizer/81021).

2017-06-28 Thread Martin Liška
PING^2 On 06/20/2017 02:15 PM, Martin Liška wrote: > PING^1 > > On 06/13/2017 10:09 AM, Martin Liška wrote: >> Hi. >> >> For a function that does not handle an expection (and calls >> BUILT_IN_UNWIND_RESUME), >> we need to emit call to BUILT_IN_ASAN_HANDLE_NO_RETURN. That will clean up >> stack

[PATCH] Make inlining consistent in LTO and non-LTO mode (PR target/71991).

2017-06-28 Thread Martin Liška
Hi. Following patch makes non-LTO and LTO mode to behave same. Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. The test-case works on x86_64-linux-gnu. Ready to be installed? Martin gcc/testsuite/ChangeLog: 2017-06-28 Martin Liska PR target/71991 *

Re: [PATCH GCC][13/13]Distribute loop with loop versioning under runtime alias check

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 1:29 PM, Richard Biener wrote: > On Wed, Jun 28, 2017 at 1:46 PM, Bin.Cheng wrote: >> On Wed, Jun 28, 2017 at 11:58 AM, Richard Biener >> wrote: >>> On Tue, Jun 27, 2017 at 4:07 PM, Bin.Cheng wrote: On Tue, Jun 27, 2017 at 1:44 PM, Richard Biener wrote: >

Re: [PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Franklin Mathieu
Sorry about the two other failed attempts. I got confused about the output of send-email and ended up sending two follow-up bogus emails. This is the right email chain. On Wed, Jun 28, 2017 at 1:49 PM, Franklin “Snaipe” Mathieu wrote: > From: Franklin “Snaipe” Mathieu > > This patch makes the f

Re: [PATCH][AArch64] Improve Cortex-A53 shift bypass

2017-06-28 Thread Ramana Radhakrishnan
On 6/28/17 1:49 PM, Wilco Dijkstra wrote: Ramana Radhakrishnan wrote: I'm about to run home for the day but this came in from https://gcc.gnu.org/ml/gcc-patches/2013-09/msg02109.html and James said in that email that this was put in to ensure no segfaults on cortex-a15 / cortex-a7 tuning.

[PATCH] More vectorizer reduction TLC

2017-06-28 Thread Richard Biener
Upcoming refactoring likes the cond reduction special IV more in the epilogue generation code, thus moved there. Some more TLC as well. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2017-06-28 Richard Biener * tree-vect-loop.c (vectorizable_reducti

Re: [PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Franklin Mathieu
Sorry about that (--dry-run fail), please ignore. On Wed, Jun 28, 2017 at 1:53 PM, Snaipe wrote: > From: Snaipe > > This patch makes the forementioned definitions `contexpr` when > compiling C++11 and above with GNU extensions. > > gcc/cp/ChangeLog: > 2017-06-27 Franklin “Snaipe” Mathieu > >

Re: [PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Franklin Mathieu
Sorry about that, please ignore. On Wed, Jun 28, 2017 at 1:52 PM, Franklin Snaipe Mathieu wrote: > From: "Franklin \"Snaipe\" Mathieu" > > This patch makes the forementioned definitions `contexpr` when > compiling C++11 and above with GNU extensions. > > gcc/cp/ChangeLog: > 2017-06-27 Franklin

[PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Snaipe
From: Snaipe This patch makes the forementioned definitions `contexpr` when compiling C++11 and above with GNU extensions. gcc/cp/ChangeLog: 2017-06-27 Franklin “Snaipe” Mathieu PR c++/66639 * decl.c (cp_make_fname_decl): Make declaration constexpr. gcc/testsuite/ChangeLog:

[PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Franklin Snaipe Mathieu
From: "Franklin \"Snaipe\" Mathieu" This patch makes the forementioned definitions `contexpr` when compiling C++11 and above with GNU extensions. gcc/cp/ChangeLog: 2017-06-27 Franklin “Snaipe” Mathieu PR c++/66639 * decl.c (cp_make_fname_decl): Make declaration constexpr. gc

Re: [PATCH][AArch64] Improve Cortex-A53 shift bypass

2017-06-28 Thread Wilco Dijkstra
Ramana Radhakrishnan wrote: >  > I'm about to run home for the day but this came in from > https://gcc.gnu.org/ml/gcc-patches/2013-09/msg02109.html and James > said in that email that this was put in to ensure no segfaults on > cortex-a15 / cortex-a7 tuning. The code is historical - an older ve

[PATCH v1] cxx: Make __func__, __FUNCTION__, and __PRETTY_FUNCTION__ constexpr.

2017-06-28 Thread Franklin “Snaipe” Mathieu
From: Franklin “Snaipe” Mathieu This patch makes the forementioned definitions `contexpr` when compiling C++11 and above with GNU extensions. gcc/cp/ChangeLog: 2017-06-27 Franklin “Snaipe” Mathieu PR c++/66639 * decl.c (cp_make_fname_decl): Make declaration constexpr. gcc/te

Re: [PATCH] Do not allow to inline ifunc resolvers (PR ipa/81128).

2017-06-28 Thread Martin Liška
On 06/27/2017 05:26 PM, Jan Hubicka wrote: >> diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c >> index d5a3ae56c46..69e6e295d55 100644 >> --- a/gcc/ipa-visibility.c >> +++ b/gcc/ipa-visibility.c >> @@ -97,7 +97,8 @@ non_local_p (struct cgraph_node *node, void *data >> ATTRIBUTE_UNUSED) >>

Re: [PATCH 3/3] Introduce IntegerRange for options (PR driver/79659).

2017-06-28 Thread Martin Liška
On 06/28/2017 06:52 AM, Jeff Law wrote: > On 03/15/2017 03:58 AM, Martin Liška wrote: >> Huh, I forgot to attach the patch. >> >> Martin >> >> 0001-Introduce-IntegerRange-for-options-PR-driver-79659.patch >> >> >> From bb89456e6cecfa9497cf8e265d2083e762d5bc3e Mon Sep 17 00:00:00 2001 >> From: marxi

Re: [PATCH GCC][13/13]Distribute loop with loop versioning under runtime alias check

2017-06-28 Thread Richard Biener
On Wed, Jun 28, 2017 at 1:46 PM, Bin.Cheng wrote: > On Wed, Jun 28, 2017 at 11:58 AM, Richard Biener > wrote: >> On Tue, Jun 27, 2017 at 4:07 PM, Bin.Cheng wrote: >>> On Tue, Jun 27, 2017 at 1:44 PM, Richard Biener >>> wrote: On Fri, Jun 23, 2017 at 12:30 PM, Bin.Cheng wrote: > On Tue

[PATCH] Fix PR81227

2017-06-28 Thread Richard Biener
The following avoids generating TREE_OVERFLOW constants from VRPs avoidance (sic!) of them when generating MAX - 1 for symbolic 1-bit ranges with -fwrapv. The issue is that all constant folding is agnostic of TREE_OVERFLOW_WRAPS but looks at TYPE_UNSIGNED only and thus negation of signed -1 is ov

Re: [PATCH GCC][13/13]Distribute loop with loop versioning under runtime alias check

2017-06-28 Thread Bin.Cheng
On Wed, Jun 28, 2017 at 11:58 AM, Richard Biener wrote: > On Tue, Jun 27, 2017 at 4:07 PM, Bin.Cheng wrote: >> On Tue, Jun 27, 2017 at 1:44 PM, Richard Biener >> wrote: >>> On Fri, Jun 23, 2017 at 12:30 PM, Bin.Cheng wrote: On Tue, Jun 20, 2017 at 10:22 AM, Bin.Cheng wrote: > On Mon,

Re: [PATCH, GCC/ARM, gcc-5-branch, ping] Fix gcc.target/arm/fpscr.c

2017-06-28 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 26/06/17 12:32, Thomas Preudhomme wrote: Hi, As raised by Christophe Lyon, fpscr.c FAILs because arm_fp_ok and arm_fp are not defined in GCC 5. This commit changes the test to use the same recipe as gcc.target/arm/cmp-2.c ChangeLog entry is as follows: *** gcc

Re: [PATCH, ARM] Implement __ARM_FEATURE_COPROC coprocessor intrinsic feature macro

2017-06-28 Thread Thomas Preudhomme
On 26/06/17 17:01, Thomas Preudhomme wrote: On 26/06/17 15:16, Christophe Lyon wrote: You mean the macro is expected not to be defined on ARMv8-A ? Correct. Most instructions its value represent are not available on ARMv8-A and for those that are the intrinsics are deprecated. I've jus

Re: [PATCH] Move static chain and non-local goto init after NOTE_INSN_FUNCTION_BEG (PR sanitize/81186).

2017-06-28 Thread Martin Liška
On 06/27/2017 05:29 PM, Michael Matz wrote: > Hi, > > On Tue, 27 Jun 2017, Martin Liška wrote: > >> Following bug was for me very educative. I learned that we support >> non-local gotos that can be combined with nested functions. Real fun :) >> Well, the problem is that both cfun->nonlocal_goto

Re: [PATCH GCC][3/6]New file computing regional register pressure on TREE SSA

2017-06-28 Thread Richard Biener
On Wed, Jun 28, 2017 at 10:09 AM, Bin.Cheng wrote: > On Tue, Jun 27, 2017 at 6:40 PM, Jeff Law wrote: >> On 05/12/2017 05:28 AM, Bin Cheng wrote: >>> Hi, >>> This patch computes register pressure information on TREE SSA by a backward >>> live >>> range data flow problem. The major motivation is

Re: [PATCH GCC][13/13]Distribute loop with loop versioning under runtime alias check

2017-06-28 Thread Richard Biener
On Tue, Jun 27, 2017 at 4:07 PM, Bin.Cheng wrote: > On Tue, Jun 27, 2017 at 1:44 PM, Richard Biener > wrote: >> On Fri, Jun 23, 2017 at 12:30 PM, Bin.Cheng wrote: >>> On Tue, Jun 20, 2017 at 10:22 AM, Bin.Cheng wrote: On Mon, Jun 12, 2017 at 6:03 PM, Bin Cheng wrote: > Hi, >>> Rebased

[PATCH][x86] Add permutex[var]_epi[32,64] intrinsics

2017-06-28 Thread Peryt, Sebastian
Hi, This patch adds missing intrinsics: - _mm256_permutexvar_epi32 - _mm256_permutex_epi64 - _mm256_permutexvar_epi64 gcc/ * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64, _mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics.

Re: [PATCH] multiarch support for non-glibc linux systems

2017-06-28 Thread Matthias Klose
On 07.06.2017 19:22, Szabolcs Nagy wrote: > Current multiarch directory name is always *-linux-gnu* on linux, > this patch configures different names for uclibc and musl targets. > (tested by the debian rebootstrap scripts for various *-linux-musl > and *-linux-uclibc targets see debian bug #861588

[PATCH PR81196]Analyze ntiers for loop with exit condition comparing induction variables

2017-06-28 Thread Bin Cheng
Hi, This patch picks up a missed-optimization case in loop niter analysis. With this patch, niters information for loop as in added test can be analyzed. Bootstrap and test on x86_64 and AArch64. Is it OK? Thanks, bin 2017-06-27 Bin Cheng PR tree-optimization/81196 * tree-s

Re: [PATCH] Fold (a > 0 ? 1.0 : -1.0) into copysign (1.0, a) and a * copysign (1.0, a) into abs(a)

2017-06-28 Thread Richard Biener
On Wed, Jun 28, 2017 at 10:50 AM, Christophe Lyon wrote: > On 25 June 2017 at 23:28, Andrew Pinski wrote: >> On Sun, Jun 25, 2017 at 11:18 AM, Andrew Pinski wrote: >>> On Sun, Jun 25, 2017 at 1:28 AM, Marc Glisse wrote: +(for cmp (gt ge lt le) + outp (convert convert negate negate

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-06-28 Thread Joseph Myers
On Wed, 28 Jun 2017, Martin Sebor wrote: > > I.e., just having blocks to remove qualifiers of kind X is not sufficient > > without "remove all qualifiers (possibly except these kinds)" as well. I > > suppose you could have __remove_quals (const volatile _Atomic, expr) and > > __remove_quals_excep

Re: Fix genmultilib reuse rule checks for large sets of option combinations

2017-06-28 Thread Christophe Lyon
On 28 June 2017 at 10:14, Andreas Schwab wrote: > On Jun 28 2017, Christophe Lyon wrote: > >> diff --git a/gcc/genmultilib b/gcc/genmultilib >> index 0767e68..e65a0dd 100644 >> --- a/gcc/genmultilib >> +++ b/gcc/genmultilib >> @@ -462,7 +462,7 @@ echo "};" >> # Generate a regular expression to v

Re: [PATCH] Fold (a > 0 ? 1.0 : -1.0) into copysign (1.0, a) and a * copysign (1.0, a) into abs(a)

2017-06-28 Thread Christophe Lyon
On 25 June 2017 at 23:28, Andrew Pinski wrote: > On Sun, Jun 25, 2017 at 11:18 AM, Andrew Pinski wrote: >> On Sun, Jun 25, 2017 at 1:28 AM, Marc Glisse wrote: >>> +(for cmp (gt ge lt le) >>> + outp (convert convert negate negate) >>> + outn (negate negate convert convert) >>> + /* Transf

Re: Fix genmultilib reuse rule checks for large sets of option combinations

2017-06-28 Thread Andreas Schwab
On Jun 28 2017, Christophe Lyon wrote: > diff --git a/gcc/genmultilib b/gcc/genmultilib > index 0767e68..e65a0dd 100644 > --- a/gcc/genmultilib > +++ b/gcc/genmultilib > @@ -462,7 +462,7 @@ echo "};" > # Generate a regular expression to validate option combinations. > options_re= > for set in

Re: Fix genmultilib reuse rule checks for large sets of option combinations

2017-06-28 Thread Christophe Lyon
On 28 June 2017 at 10:03, Christophe Lyon wrote: > Hi Joseph, > > On 8 June 2017 at 22:28, Joseph Myers wrote: >> genmultilib computes combination_space, a list of all combinations of >> options in MULTILIB_OPTIONS that might have multilibs built for them >> (some of which may end up not having m

Re: [PATCH GCC][3/6]New file computing regional register pressure on TREE SSA

2017-06-28 Thread Bin.Cheng
On Tue, Jun 27, 2017 at 6:40 PM, Jeff Law wrote: > On 05/12/2017 05:28 AM, Bin Cheng wrote: >> Hi, >> This patch computes register pressure information on TREE SSA by a backward >> live >> range data flow problem. The major motivation is to estimate register >> pressure >> for inner-most loop o

  1   2   >