[PATCH], Fix PR 68163, PowerPC power8 sometimes generating move direct to GPR to store 32-bit float

2017-05-05 Thread Michael Meissner
This patch fixes PR 68163, in which on systems with direct move but without the ISA 3.0 altivec reg+offset scalar load/store instructions (i.e. power8). If the compiler has a 32-bit floating point value in a traditional Altivec register, and it wants to do a reg+offset store, it decides to move th

[PATCH] store-motion long lines

2017-05-05 Thread Nathan Sidwell
remove_reachable_equiv_notes had some long lines. Reformatted. installed as obvious. nathan -- Nathan Sidwell 2017-05-05 Nathan Sidwell * store-motion.c (remove_reachable_equiv_notes): Reformat long lines. Use for (;;). Index: store-motion.c ==

[PATCH v2] C++: fix-it hints suggesting accessors for private fields

2017-05-05 Thread David Malcolm
On Mon, 2017-05-01 at 14:43 -0400, Jason Merrill wrote: > On Thu, Apr 27, 2017 at 7:23 AM, Nathan Sidwell > wrote: > > On 04/26/2017 12:34 PM, David Malcolm wrote: > > > > > Thanks - yes; that gives information on the const vs non-const of > > > the > > > "this" parameter, but doesn't say whether

[committed] Backports to gcc-6-branch

2017-05-05 Thread Jakub Jelinek
Hi! I've committed over 3 dozens backports to the 6.x branch, after bootstrapping/regtesting them on x86_64-linux and i686-linux. Jakub 2017-05-05 Jakub Jelinek Backported from mainline 2017-02-16 Jakub Jelinek PR c++/79512 * c-parser.c (c_parser_om

Re: Handle data dependence relations with different bases

2017-05-05 Thread Bernhard Reutner-Fischer
On 4 May 2017 14:12:04 CEST, Richard Biener wrote: >nonoverlapping_component_refs_of_decl_p >should simply skip ARRAY_REFs - but I also see there: > >/* ??? We cannot simply use the type of operand #0 of the refs here > as the Fortran compiler smuggles type punning into COMPONENT_REFs >

Re: [PATCH] prevent -Wno-system-headers from suppressing -Wstringop-overflow (PR 79214)

2017-05-05 Thread Martin Sebor
: /opt/gcc/gcc-20170505/gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90:33:0: Warning: '__builtin_memcpy': specified size between 2147483648 and 4294967295 exceeds maximum object size 2147483647 [-Wstringop-overflow=] I'm seeing a huge number of similar, new testsuite failures

[PATCH, rs6000] gcc mainline, add builtin support for vec_neg()

2017-05-05 Thread Carl E. Love
GCC Maintainers: This patch adds support for the various vec_neg() builtins. The patch has been tested on powerpc64le-unknown-linux-gnu (Power 8 LE) with no regressions. Is the patch OK for gcc mainline? Carl Love --

Re: [PATCH] prevent -Wno-system-headers from suppressing -Wstringop-overflow (PR 79214)

2017-05-05 Thread David Edelsohn
>>>>> Andreas Schwab wrote: > I see this failure on aarch64 with -mabi=ilp32: > FAIL: gfortran.dg/alloc_comp_auto_array_2.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess > errors) > Excess errors: > /o

[committed] Convert CARET_LINE_MARGIN to const int

2017-05-05 Thread David Malcolm
Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. Committed to trunk as r247666. gcc/ChangeLog: * diagnostic.h (CARET_LINE_MARGIN): Convert from macro to const int. --- gcc/diagnostic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/diagnostic.h b

[committed] Convert diagnostic_override_option_index from macro to inline function

2017-05-05 Thread David Malcolm
No functional change intended. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. Committed to trunk as r247665. gcc/ChangeLog: * diagnostic.h (diagnostic_override_option_index): Convert from macro to inline function. --- gcc/diagnostic.h | 8 ++-- 1 file changed, 6 i

[committed] Get rid of macros for diagnostic_report_current_module

2017-05-05 Thread David Malcolm
diagnostic.h has a couple of macros (diagnostic_last_module_changed and diagnostic_set_last_module) which are only used within diagnostic_report_current_module. This patch eliminates the macros in favor of static functions within diagnostic.c. No functional change intended. Successfully bootstra

[committed] Eliminate report_diagnostic macro

2017-05-05 Thread David Malcolm
This patch eliminates the report_diagnostic macro, manually expanding it in all sites in the code. No functional change intended. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. Committed to trunk as r247663. gcc/c-family/ChangeLog: * c-common.c (c_cpp_error): Replace report_d

[committed] diagnostic.c: add print_option_information

2017-05-05 Thread David Malcolm
This patch simplifies diagnostic_report_diagnostic by moving option-printing to a new subroutine. Doing so required a slight rewrite. In both the old and new code, context->option_name returns a malloc-ed string. The old behavior was to then use ACONCAT to manipulate the format_spec, appending th

Re: [PATCH 1/4][PR tree-optimization/78496] Don't simplify conditionals too early in VRP

2017-05-05 Thread Jeff Law
On 05/04/2017 08:37 AM, Jeff Law wrote: You understanding is slightly wrong however, The ASSERT_EXPRs and conditionals map 100% through propagation and into simplification. It's only during simplification that we lose the direct mapping as we change the conditional in order to remove the un

[committed] diagnostic_report_diagnostic: refactor pragma-handling

2017-05-05 Thread David Malcolm
This patch simplifies diagnostic_report_diagnostic by moving the pragma-handling logic into a subroutine. No functional change intended. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. Committed to trunk as r247660 gcc/ChangeLog: * diagnostic.c (diagnostic_report_diagnostic):

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > On 05/05/17 17:10, Wilco Dijkstra wrote: > > However I think all uses of '*' in md files are incorrect and the > > feature should > > be removed. '?' already exists for cases where the alternative may be > > expensive. > > > > It's not quite as simple as that.  I

[patch, fortran] Reduce stack use in blocked matmul

2017-05-05 Thread Thomas Koenig
Hello world, the attached patch reduces the stack usage by the blocked version of matmul for cases where we don't need the full buffer. This should improve stack usage. Regression-tested. I also added a stress test (around 3 secs of CPU time on my system), it will only run once due to the "dg-d

Re: [PATCH] RISC-V: Unify indention in riscv.md

2017-05-05 Thread Palmer Dabbelt
On Thu, 04 May 2017 05:40:29 PDT (-0700), Palmer Dabbelt wrote: > From: Kito Cheng > > This contains only whitespace changes. > > gcc/ChangeLog > > 2017-05-04 Kito Cheng > > * config/riscv/riscv.md: Unify indentation. > --- > gcc/ChangeLog | 4 + > gcc/config/riscv/riscv.md

Re: [PATCH] RISC-V: Add -mstrict-align option

2017-05-05 Thread Palmer Dabbelt
On Thu, 04 May 2017 05:40:35 PDT (-0700), Palmer Dabbelt wrote: > From: Andrew Waterman > > The RISC-V user ISA permits misaligned accesses, but they may trap > and be emulated. That emulation software needs to be compiled assuming > strict alignment. > > Even when strict alignment is not require

[C++ PATCH] namespace bindings

2017-05-05 Thread Nathan Sidwell
This cleanup patch kills IDENTIFIER_NAMESPACE_VALUE and replaces {get,set}_namespace_binding with get_namespace_value and set_global_value respectively. we're a little confused as to whether 'toplevel' means any namespace or means the global namespace. I'm trying to be consistent such that g

Re: [PATCH] prevent -Wno-system-headers from suppressing -Wstringop-overflow (PR 79214)

2017-05-05 Thread Andreas Schwab
I see this failure on aarch64 with -mabi=ilp32: FAIL: gfortran.dg/alloc_comp_auto_array_2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) Excess errors: /opt/gcc/gcc-20170505/gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90

[committed] fix inconsistencies introduced during merge conflict resolution

2017-05-05 Thread Martin Sebor
r247652 fixes a number of inconsistencies between the pattern of diagnostics expected by tests and those actually issued by GCC, and introduced while resolving merge conflicts. My best guess is that I missed them by testing the wrong patch or the wrong local copy. The committed diff is attached

Re: [PATCH 1/7] enhance -Wformat to detect quoting problems (PR 80280 et al.)

2017-05-05 Thread Joseph Myers
On Thu, 4 May 2017, Martin Sebor wrote: > I like the flags2 idea. I split up the initialization array to also > detect quoted %K, and unquoted %R and %r. With that I ran into test > failures that took me a bit to debug. It turns out that there's code > (a nasty hack, really) that makes assumpti

[PATCH] Fix config.gcc

2017-05-05 Thread Nathan Sidwell
I've committed this to fix the build breakage: In file included from ./plugin-version.h:1:0, from /data/users/nathans/trunk/obj/x86_64/../../src/gcc/plugin.c:34: ./configargs.h:7:33: error: expected primary-expression before ';' token } configure_default_options[] = ; It seem

Re: [PATCH] Output DIEs for outlined OpenMP functions in correct lexical scope

2017-05-05 Thread Kevin Buettner
On Fri, 5 May 2017 14:23:14 +0300 (MSK) Alexander Monakov wrote: > On Thu, 4 May 2017, Kevin Buettner wrote: > > diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c > > index 5c48b78..7029951 100644 > > --- a/gcc/omp-expand.c > > +++ b/gcc/omp-expand.c > > @@ -667,6 +667,25 @@ expand_parallel_call (

[PATCH 3/3] C: hints for missing stdlib includes for macros and types

2017-05-05 Thread David Malcolm
The C frontend already "knows" about many common functions in the C standard library: test.c: In function 'test': test.c:3:3: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration] printf ("hello world\n"); ^~ test.c:3:3: warning: incompatible imp

[PATCH 1/3] c-family: add name_hint/deferred_diagnostic

2017-05-05 Thread David Malcolm
In various places we use lookup_name_fuzzy to provide a hint, and can report messages of the form: error: unknown foo named 'bar' or: error: unknown foo named 'bar'; did you mean 'SUGGESTION? This patch provides a way for lookup_name_fuzzy to provide both the suggestion above, and (optionally)

[PATCH 2/3] C++: provide macro used-before-defined hint (PR c++/72786).

2017-05-05 Thread David Malcolm
This patch uses the name_hint/deferred_diagnostic to provide a message in the C++ frontend if a macro is used before it is defined e.g.: test.c:6:24: error: expected ‘;’ at end of member declaration virtual void clone() const OVERRIDE { } ^

[PATCH] PR libstdc++/80624 satisfy invariant for char_traits::eof()

2017-05-05 Thread Jonathan Wakely
As discussed at http://stackoverflow.com/q/43769773/981959 (and kinda hinted at by http://wg21.link/lwg1200) there's a problem with char_traits::eof() because it returns int_type(-1) which is the same value as u'\u', a valid UTF-16 code point. i.e. because all values of int_type are also vali

[C++ PATCH] scope hygiene

2017-05-05 Thread Nathan Sidwell
We were not pushing the initialization protector of a file-scope static into its own scope. My cleanup of name-lookup will barf on that mismatch, so fix it now. When we push an error_mark_node local var, we can just call pushdecl, and that'll allow me to get rid of push_local_binding. natha

Re: Record equivalences for spill registers

2017-05-05 Thread Jeff Law
On 05/05/2017 01:23 AM, Richard Sandiford wrote: If we decide to allocate a call-clobbered register R to a value that is live across a call, LRA will create a new spill register TMPR, insert: TMPR <- R before the call and R <- TMPR after it. But if we then failed to allocate a regist

[C++ PATCH] retrofit_lang_decl

2017-05-05 Thread Nathan Sidwell
retrofit_lang_decl is idempotent. There's no need to check whether LANG_DECL is already there, and indeed in several places we just call it. This patch fixes up the cases I found where we unnecessarily checked. nathan -- Nathan Sidwell 2017-05-05 Nathan Sidwell * class.c (alter_class): Us

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Martin Sebor
On 05/05/2017 10:32 AM, Jakub Jelinek wrote: On Fri, May 05, 2017 at 10:28:45AM -0600, Martin Sebor wrote: There have been requests for a warning to diagnose invalid uses of character arrays that are not nul-terminated, such as arguments to functions that expect a (nul-terminated) string. For e

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Jeff Law
On 05/05/2017 10:28 AM, Martin Sebor wrote: On 05/05/2017 09:55 AM, Jakub Jelinek wrote: On Fri, May 05, 2017 at 08:50:04AM -0700, Andi Kleen wrote: Richard Sandiford writes: tree-ssa-strlen.c looks for cases in which a string is built up using operations like: memcpy (a, "foo", 4);

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Jakub Jelinek
On Fri, May 05, 2017 at 10:28:45AM -0600, Martin Sebor wrote: > There have been requests for a warning to diagnose invalid uses > of character arrays that are not nul-terminated, such as arguments > to functions that expect a (nul-terminated) string. For example: > > char *p = (char*)malloc (

Re: [PATCH][ARM] Update max_cond_insns settings

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > On 05/05/17 13:42, Wilco Dijkstra wrote: >> Richard Earnshaw (lists) wrote: >>> On 04/05/17 18:38, Wilco Dijkstra wrote: >>> > Richard Earnshaw wrote: >>> > > -  5, /* Max cond insns.  */ > +  2, 

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Martin Sebor
On 05/05/2017 09:55 AM, Jakub Jelinek wrote: On Fri, May 05, 2017 at 08:50:04AM -0700, Andi Kleen wrote: Richard Sandiford writes: tree-ssa-strlen.c looks for cases in which a string is built up using operations like: memcpy (a, "foo", 4); memcpy (a + 3, "bar", 4); int x = strlen

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Richard Earnshaw (lists)
On 05/05/17 17:10, Wilco Dijkstra wrote: > Richard Earnshaw (lists) wrote: > >> While on the subject, why is the w->w operation also hidden? > > No idea, this just fixes one case where it is obvious the use of '*' is > incorrect. > > However I think all uses of '*' in md files are incorrect and

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > While on the subject, why is the w->w operation also hidden? No idea, this just fixes one case where it is obvious the use of '*' is incorrect. However I think all uses of '*' in md files are incorrect and the feature should be removed. '?' already exists for c

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Martin Sebor
On 05/05/2017 06:01 AM, Richard Sandiford wrote: tree-ssa-strlen.c looks for cases in which a string is built up using operations like: memcpy (a, "foo", 4); memcpy (a + 3, "bar", 4); int x = strlen (a); As a side-effect, it optimises the non-final memcpys so that they don't include

Re: [PATCH, GCC/ARM 2/2] Allow combination of aprofile and rmprofile multilibs

2017-05-05 Thread Ramana Radhakrishnan
On Thu, Oct 13, 2016 at 4:35 PM, Thomas Preudhomme wrote: > Hi ARM maintainers, > > This patchset aims at adding multilib support for R and M profile ARM > architectures and allowing it to be built alongside multilib for A profile > ARM architectures. This specific patch is concerned with the latt

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

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > --- a/gcc/config/arm/aarch-common.c > +++ b/gcc/config/arm/aarch-common.c > @@ -254,12 +254,7 @@ arm_no_early_alu_shift_dep (rtx producer, rtx consumer) >  return 0; >  >    if ((early_op = arm_find_shift_sub_rtx (op))) > -    { > -  if (REG_P (early_op))

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Jakub Jelinek
On Fri, May 05, 2017 at 01:01:08PM +0100, Richard Sandiford wrote: > tree-ssa-strlen.c looks for cases in which a string is built up using > operations like: > > memcpy (a, "foo", 4); > memcpy (a + 3, "bar", 4); > int x = strlen (a); > > As a side-effect, it optimises the non-final me

Re: [PATCH] Fix switchconv vop handling (PR tree-optimization/80632)

2017-05-05 Thread Richard Biener
On May 5, 2017 5:36:14 PM GMT+02:00, Jakub Jelinek wrote: >Hi! > >My recent switchconv changes allowed final_bb virtual phi to be >present, >but kind of assumed that the vop will be marked for renaming, which >sometimes happened and sometimes didn't. >The following patch instead attempts to find o

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Jakub Jelinek
On Fri, May 05, 2017 at 08:50:04AM -0700, Andi Kleen wrote: > Richard Sandiford writes: > > > tree-ssa-strlen.c looks for cases in which a string is built up using > > operations like: > > > > memcpy (a, "foo", 4); > > memcpy (a + 3, "bar", 4); > > int x = strlen (a); > > > > As a sid

Re: Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Andi Kleen
Richard Sandiford writes: > tree-ssa-strlen.c looks for cases in which a string is built up using > operations like: > > memcpy (a, "foo", 4); > memcpy (a + 3, "bar", 4); > int x = strlen (a); > > As a side-effect, it optimises the non-final memcpys so that they don't > include the nu

Re: [PATCH][AArch64] Improve float to int moves

2017-05-05 Thread Richard Earnshaw (lists)
On 26/04/17 13:39, Wilco Dijkstra wrote: > Float to int moves currently generate inefficient code due to > hacks used in the movsi and movdi patterns. The 'r = w' variant > uses '*' which explicitly tells the register allocator to ignore it. > As a result float to int moves typically spill to the

Re: [PATCH] Improve VR computation for [x, y] & z or [x, y] | z (PR tree-optimization/80558)

2017-05-05 Thread Jakub Jelinek
On Fri, May 05, 2017 at 01:59:17PM +0200, Richard Biener wrote: > On Thu, 4 May 2017, Jakub Jelinek wrote: > > > Hi! > > > > This patch improves value range computation of BIT_{AND,IOR}_EXPR > > with one singleton range and one range_int_cst_p, where the singleton > > range has n clear least sign

[PATCH] Fix switchconv vop handling (PR tree-optimization/80632)

2017-05-05 Thread Jakub Jelinek
Hi! My recent switchconv changes allowed final_bb virtual phi to be present, but kind of assumed that the vop will be marked for renaming, which sometimes happened and sometimes didn't. The following patch instead attempts to find out what .MEM_NN we need (for switches without non-standard default

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

2017-05-05 Thread Richard Earnshaw (lists)
On 27/04/17 18:38, Wilco Dijkstra wrote: > The aarch_forward_to_shift_is_not_shifted_reg bypass always returns true > on AArch64 shifted instructions. This causes the bypass to activate in > too many cases, resulting in slower execution on Cortex-A53 like reported > in PR79665. > > This patch use

Re: [PATCH, rs6000] Avoid vectorizing versioned copy loops with vectorization factor 2

2017-05-05 Thread Segher Boessenkool
Hi Bill, On Wed, May 03, 2017 at 02:43:09PM -0500, Bill Schmidt wrote: > We recently became aware of some poor code generation as a result of > unprofitable (for POWER) loop vectorization. When a loop is simply copying > data with 64-bit loads and stores, vectorizing with 128-bit loads and stores

Re: [PATCH] Backport the recent ARM ABI patch to 6 (PR target/77728)

2017-05-05 Thread Richard Earnshaw (lists)
On 04/05/17 11:08, Marek Polacek wrote: > Ping. > > On Thu, Apr 27, 2017 at 12:44:42PM +0200, Marek Polacek wrote: >> This is a backport of the ARM ABI fix, except that it doesn't change code, >> only adds the ABI warning. >> >> So there were four changes, three of them are changing "else if (res

Re: [RFA][PATCH 1b/4] [PR tree-optimization/33562] Improve DSE of complex stores

2017-05-05 Thread Jeff Law
On 05/05/2017 08:04 AM, Richard Sandiford wrote: It was primarily to avoid mucking up alignments of the start of the copy or leaving residuals at the end of a copy. It's an idea I saw while scanning the LLVM implementation of DSE. The fact that it avoids mucking things up for tree-ssa-strlen wa

Re: [PATCH v3,rs6000] PR80101: Fix ICE in store_data_bypass_p

2017-05-05 Thread Segher Boessenkool
Hi Kelvin, On Fri, Apr 21, 2017 at 10:01:05AM -0600, Kelvin Nilsen wrote: > A new rs6000_store_data_bypass_p function has been introduced and all > calls to store_data_bypass_p from within the rs6000 back end have been > replaced with calls to rs6000_store_data_bypass_p. This new function > scans

Re: [PATCH] Tweak array_at_struct_end_p

2017-05-05 Thread Christophe Lyon
Hi, On 4 May 2017 at 11:07, Richard Biener wrote: > > The following picks the changes suggested as followup for PR80533 > that do not cause the warning regression on accessing a [0] array. > > Additionally the patch removes the unnecessary allow_compref of the > function. > > The question whethe

[C++ PATCH] kill namespace walking

2017-05-05 Thread Nathan Sidwell
And with static_decls no longer being namespace-specific, we can kill the namespace walker function. (the spelling suggester doesn't use it, and my to-be-committed reworking will allow that to be improved) nathan -- Nathan Sidwell 2017-05-05 Nathan Sidwell Kill walk_namespaces. * cp-tree.

Re: [PATCH] Remove -fstrict-overflow, default to undefined signed integer and pointer overflow

2017-05-05 Thread Christophe Lyon
On 27 April 2017 at 17:32, Jeff Law wrote: > On 04/26/2017 05:31 AM, Richard Biener wrote: >> >> >> The following removes the third state we had apart from signed integer >> overflow wrapping and being undefined. It makes signed integer overflow >> undefined, consistently at all optimization leve

Re: [PATCH] Improve vectorizer peeling for alignment costmodel

2017-05-05 Thread Christophe Lyon
Hi Richard, On 3 May 2017 at 10:19, Richard Biener wrote: > > The following extends the very simplistic cost modeling I added somewhen > late in the release process to, for all unknown misaligned refs, also > apply this model for loops containing stores. > > The model basically says it's useless

Re: [PATCH, ARM] Add a new target hook to compute the frame layout

2017-05-05 Thread Richard Earnshaw (lists)
On 05/09/16 17:43, Bernd Edlinger wrote: > Hi Richard, > > what do you think of this patch, is it OK (with the suggested wording)? > Bernd, Apologies, this seems to have fallen through a crack. I'm happy with this. Does it still apply? If so, I suggest applying it after a 24-hour cooling off

Re: [GCC8 patch], PowerPC PRs 79038, 79202, and 79203: Improve small integer conversions to/from floating point

2017-05-05 Thread Segher Boessenkool
On Wed, Apr 26, 2017 at 02:33:56PM -0400, Michael Meissner wrote: > This patch is meant for GCC 8. While GCC 7 has branched, I plan to wait > until it is actually released before applying these patches. But if you would > prefer me to submit them sooner, I can do it. > > This patch, addresses th

Re: [PATCH 0/3] Extend -falign-FOO=N to N[,M[,N2[,M2]]] version 8

2017-05-05 Thread Denys Vlasenko
On 04/18/2017 08:30 PM, Denys Vlasenko wrote: These patches are for this bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66240 "RFE: extend -falign-xyz syntax" Ping.

Re: [PATCH][ARM] Remove movdi_vfp_cortexa8

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: >  (define_insn "*movdi_vfp" > -  [(set (match_operand:DI 0 "nonimmediate_di_operand" > "=r,r,r,r,q,q,m,w,r,w,w, Uv") > +  [(set (match_operand:DI 0 "nonimmediate_di_operand" > "=r,r,r,r,q,q,m,w,!r,w,w, Uv") > Why have you introduced a no-reloads block on the 9th

Re: [PATCH][ARM] Remove movdi_vfp_cortexa8

2017-05-05 Thread Richard Earnshaw (lists)
On 29/11/16 11:05, Wilco Dijkstra wrote: > Merge the movdi_vfp_cortexa8 pattern into movdi_vfp and remove it to avoid > unnecessary duplication and repeating bugs like PR78439 due to changes being > applied only to one of the duplicates. > > Bootstrap OK for ARM and Thumb-2 gnueabihf targets. OK f

Re: [RFA][PATCH 1b/4] [PR tree-optimization/33562] Improve DSE of complex stores

2017-05-05 Thread Richard Sandiford
Jeff Law writes: > On 05/05/2017 06:13 AM, Richard Sandiford wrote: >> Hi Jeff, >> >> Jeff Law writes: >>> +/* Compute the number of elements that we can trim from the head and >>> + tail of ORIG resulting in a bitmap that is a superset of LIVE. >>> + >>> + Store the number of elements trimm

Re: [PATCH][AArch64] Enable AES fusion with -mcpu=generic

2017-05-05 Thread Richard Earnshaw (lists)
On 20/04/17 16:53, Wilco Dijkstra wrote: > > ping James has already approved this on 17 March, why are you pinging again? https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00918.html > > From: Wilco Dijkstra > Sent: 16 March 2017 17:22 > To: GCC Patches; Evandro Menezes; andrew.pin...@cavium.com;

Re: [RFA][PATCH 1b/4] [PR tree-optimization/33562] Improve DSE of complex stores

2017-05-05 Thread Jeff Law
On 05/05/2017 06:13 AM, Richard Sandiford wrote: Hi Jeff, Jeff Law writes: +/* Compute the number of elements that we can trim from the head and + tail of ORIG resulting in a bitmap that is a superset of LIVE. + + Store the number of elements trimmed from the head and tail in + TRIM_HEAD

Re: [PATCH][AArch64] Add BIC-imm and ORR-imm SIMD pattern

2017-05-05 Thread Richard Earnshaw (lists)
On 18/04/17 17:39, Sudi Das wrote: > > Hello all > > This patch adds the support for BIC (vector, immediate) and ORR (vector, > immediate) SIMD patterns to the AArch64 backend. > One of the examples of this is : (with -O2 -ftree-vectorize) > > void > bic_s (short *a) > { > for (int i = 0; i <

Re: [PATCH, GCC/ARM, Stage 1] PR71607: Fix ICE when loading constant

2017-05-05 Thread Richard Earnshaw (lists)
On 04/05/17 11:40, Prakhar Bahuguna wrote: > On 03/05/2017 11:30:13, Richard Earnshaw (lists) wrote: >> On 20/04/17 10:54, Prakhar Bahuguna wrote: >>> [ARM] PR71607: Fix ICE when loading constant >>> >>> gcc/ChangeLog: >>> >>> 2017-04-18 Andre Vieira >>> Prakhar Bahuguna >>> >>> PR

Re: [PATCH, rs6000] Backport some swap optimization improvements

2017-05-05 Thread Segher Boessenkool
Hi! On Thu, Apr 28, 2016 at 08:28:55PM -0500, Bill Schmidt wrote: > The lack of certain swap optimizations added in GCC 6 has shown up as a > performance issue in some customer code, where the customer is unable to > move off of GCC 5. To accommodate this, I would like to backport these > changes

Re: Bump version namespace and remove _Rb_tree useless template parameter

2017-05-05 Thread Jonathan Wakely
On 04/05/17 22:16 +0200, François Dumont wrote: Hi Here is the patch to remove the useless _Is_pod_comparator _Rb_tree_impl template parameter. As this is an ABI breaking change it is limited to the versioned namespace mode and the patch also bump the namespace version. Working on thi

Re: [patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Richard Biener
On Fri, 5 May 2017, Richard Sandiford wrote: > Richard Biener writes: > > On Fri, 5 May 2017, Georg-Johann Lay wrote: > >> On 05.05.2017 13:04, Richard Biener wrote: > >> > On Fri, 5 May 2017, Georg-Johann Lay wrote: > >> > > >> > > Applied this addendum to r247495 which removed flag_strict_over

Re: [patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Richard Sandiford
Richard Biener writes: > On Fri, 5 May 2017, Georg-Johann Lay wrote: >> On 05.05.2017 13:04, Richard Biener wrote: >> > On Fri, 5 May 2017, Georg-Johann Lay wrote: >> > >> > > Applied this addendum to r247495 which removed flag_strict_overflow. >> > > There >> > > were remains of the flag in avr

Re: [PATCH][ARM] Update max_cond_insns settings

2017-05-05 Thread Richard Earnshaw (lists)
On 05/05/17 13:42, Wilco Dijkstra wrote: > Richard Earnshaw (lists) wrote: >> On 04/05/17 18:38, Wilco Dijkstra wrote: >> > Richard Earnshaw wrote: >> > - 5, /* Max cond insns. */ + 2, /* Max cond insns.

Re: [PATCH][ARM] Update max_cond_insns settings

2017-05-05 Thread Wilco Dijkstra
Richard Earnshaw (lists) wrote: > On 04/05/17 18:38, Wilco Dijkstra wrote: > > Richard Earnshaw wrote: > > >>> -  5, /* Max cond insns.  */ >>> +  2, /* Max cond insns.  */ >> >>> This parameter is also used for A32 c

Re: [PATCH][ARM] Update max_cond_insns settings

2017-05-05 Thread Richard Earnshaw (lists)
On 04/05/17 18:38, Wilco Dijkstra wrote: > Richard Earnshaw wrote: > >> - 5, /* Max cond insns. */ >> + 2, /* Max cond insns. */ > >> This parameter is also used for A32 code. Is that really the right >> number t

Re: [RFA][PATCH 1b/4] [PR tree-optimization/33562] Improve DSE of complex stores

2017-05-05 Thread Richard Sandiford
Hi Jeff, Jeff Law writes: > +/* Compute the number of elements that we can trim from the head and > + tail of ORIG resulting in a bitmap that is a superset of LIVE. > + > + Store the number of elements trimmed from the head and tail in > + TRIM_HEAD and TRIM_TAIL. */ > + > +static void > +

[PATCH] PRE TLC

2017-05-05 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-05-05 Richard Biener * tree-ssa-pre.c (get_or_alloc_expr_for): Simplify. Index: gcc/tree-ssa-pre.c === --- gcc/tree-ssa-pre.c (revision 247577

Re: [patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Richard Biener
On Fri, 5 May 2017, Georg-Johann Lay wrote: > On 05.05.2017 13:04, Richard Biener wrote: > > On Fri, 5 May 2017, Georg-Johann Lay wrote: > > > > > Applied this addendum to r247495 which removed flag_strict_overflow. There > > > were remains of the flag in avr.md which broke the avr build. > > >

Make tree-ssa-strlen.c handle partial unterminated strings

2017-05-05 Thread Richard Sandiford
tree-ssa-strlen.c looks for cases in which a string is built up using operations like: memcpy (a, "foo", 4); memcpy (a + 3, "bar", 4); int x = strlen (a); As a side-effect, it optimises the non-final memcpys so that they don't include the nul terminator. However, after removing some

Re: [PATCH] Improve VR computation for [x, y] & z or [x, y] | z (PR tree-optimization/80558)

2017-05-05 Thread Richard Biener
On Thu, 4 May 2017, Jakub Jelinek wrote: > Hi! > > This patch improves value range computation of BIT_{AND,IOR}_EXPR > with one singleton range and one range_int_cst_p, where the singleton > range has n clear least significant bits, then m set bits and either > that is all it has (i.e. negation o

Re: [patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Georg-Johann Lay
On 05.05.2017 13:04, Richard Biener wrote: On Fri, 5 May 2017, Georg-Johann Lay wrote: Applied this addendum to r247495 which removed flag_strict_overflow. There were remains of the flag in avr.md which broke the avr build. Committed as r247632. Whoops - sorry for not grepping besides .[ch]

Re: [RFC][PATCH] Introduce -fdump*-folding

2017-05-05 Thread Richard Biener
On Thu, May 4, 2017 at 1:10 PM, Martin Liška wrote: > On 05/04/2017 12:40 PM, Richard Biener wrote: >> >> On Thu, May 4, 2017 at 11:22 AM, Martin Liška wrote: >>> >>> On 05/03/2017 12:12 PM, Richard Biener wrote: On Wed, May 3, 2017 at 10:10 AM, Martin Liška wrote: > > >>>

Re: [PATCH 1/N] Introduce dump_flags_t type and use it instead of int type.

2017-05-05 Thread Richard Biener
On Fri, May 5, 2017 at 12:41 PM, Martin Liška wrote: > Hello. > > There's first patch that just defines dump_flags_t as uint64_t and changes all > corresponding interfaces that do use it. There's a problematic impact that > all targets have to include dumpfile.h just right after coretypes.h. That

[C++ PATCH] Kill per-namespace static list

2017-05-05 Thread Nathan Sidwell
In each binding level we have a vector that we store some static-lifetime decls (inlines, generally). These are only used for namespace binding levels. At the end of compilation we then walk all the namespaces processing these statics. What's more is that we do this walk multiple times, ever

Re: [PATCH] Output DIEs for outlined OpenMP functions in correct lexical scope

2017-05-05 Thread Alexander Monakov
On Thu, 4 May 2017, Kevin Buettner wrote: > diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c > index 5c48b78..7029951 100644 > --- a/gcc/omp-expand.c > +++ b/gcc/omp-expand.c > @@ -667,6 +667,25 @@ expand_parallel_call (struct omp_region *region, > basic_block bb, Outlined functions are also used

[PATCH 2/2] Fast interrupts support.

2017-05-05 Thread Claudiu Zissulescu
When a processor enters a fast interrupts handler, and duplicate register banks are configured, the processor saves the user context by saving the registers in the main register bank to these additional registers in the duplicate register bank. In this fast interrupt context, when you specify the

[PATCH 0/2] [ARC] New features (updated)

2017-05-05 Thread Claudiu Zissulescu
From: claziss Hi, I've updated the two patches (out of three) as indicated by Sandra. Ok to apply? Claudiu Claudiu Zissulescu (2): Automatic context save/restore for regular interrupts. Fast interrupts support. gcc/config/arc/arc.c | 407 ++--

[PATCH 1/2] Automatic context save/restore for regular interrupts.

2017-05-05 Thread Claudiu Zissulescu
The AUX_IRQ_CTRL register controls the behavior of automated register save and restore or prologue and epilogue sequences during a non-fast interrupt entry and exit, and context save and restore instructions. A user passes to the compiler the configuration of the AUX_IRQ_CTRL register via mirq-ctr

Re: [patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Richard Biener
On Fri, 5 May 2017, Georg-Johann Lay wrote: > Applied this addendum to r247495 which removed flag_strict_overflow. There > were remains of the flag in avr.md which broke the avr build. > > Committed as r247632. Whoops - sorry for not grepping besides .[ch] files... But... these patterns very mu

Re: [RFC] S/390: Alignment peeling prolog generation

2017-05-05 Thread Richard Biener
On Thu, May 4, 2017 at 10:59 AM, Robin Dapp wrote: > Hi, > >> This one only works for known misalignment, otherwise it's overkill. >> >> OTOH if with some refactoring we can end up using a single cost model >> that would be great. That is for the SAME_ALIGN_REFS we want to >> choose the unknown m

[PATCH 2/N] Add dump_flags_type for handling of suboptions.

2017-05-05 Thread Martin Liška
Hi. This one is more interesting as it implements hierarchical option parsing and as a first step I implemented that for optgroup suboptions. Next candidates are dump_option_value_info and obviously my primary motivation: dump_option_value_info. I'm expecting feedback for implementation I've dec

[PATCH 1/N] Introduce dump_flags_t type and use it instead of int type.

2017-05-05 Thread Martin Liška
Hello. There's first patch that just defines dump_flags_t as uint64_t and changes all corresponding interfaces that do use it. There's a problematic impact that all targets have to include dumpfile.h just right after coretypes.h. That makes the patch harder to properly test. I tried couple of cros

[patch,avr,committed]: Remove flag_strict_overflow from avr.md

2017-05-05 Thread Georg-Johann Lay
Applied this addendum to r247495 which removed flag_strict_overflow. There were remains of the flag in avr.md which broke the avr build. Committed as r247632. Johann * config/avr/avr.md [flag_strict_overflow]: Remove any occurence of this flag from insn conditions due to remo

Re: [PATCH 2/3] Vect peeling cost model

2017-05-05 Thread Richard Biener
On Thu, May 4, 2017 at 11:05 AM, Robin Dapp wrote: > Wrap some frequently used snippets in separate functions. +/* Get the costs of peeling NPEEL iterations checking data access costs + for all data refs. */ -/* Traverse peeling hash table and calculate cost for each peeling option. - Find t

Re: [PATCH 1/3] Vect peeling cost model

2017-05-05 Thread Richard Biener
On Thu, May 4, 2017 at 11:04 AM, Robin Dapp wrote: > Some refactoring and definitions to use for (unknown) DR_MISALIGNMENT, +#define DR_HAS_NEGATIVE_STEP(DR) \ + tree_int_cst_compare (DR_STEP (DR), size_zero_node) < 0 this will ICE for non-constant DR_STEP so isn't a suitable define. If you wa

Re: PR80613

2017-05-05 Thread Richard Biener
On Fri, 5 May 2017, Prathamesh Kulkarni wrote: > On 5 May 2017 at 12:46, Richard Biener wrote: > > On Thu, 4 May 2017, Jeff Law wrote: > > > >> On 05/04/2017 10:00 AM, Prathamesh Kulkarni wrote: > >> > Hi, > >> > As mentioned in PR, the issue is that cddce1 marks the call to > >> > __builtin_strd

Re: PR80613

2017-05-05 Thread Prathamesh Kulkarni
On 5 May 2017 at 12:46, Richard Biener wrote: > On Thu, 4 May 2017, Jeff Law wrote: > >> On 05/04/2017 10:00 AM, Prathamesh Kulkarni wrote: >> > Hi, >> > As mentioned in PR, the issue is that cddce1 marks the call to >> > __builtin_strdup as necessary: >> > marking necessary through .MEM_6 stmt p_

Re: [PATCH v4 0/12] [i386] Improve 64-bit Microsoft to System V ABI pro/epilogues

2017-05-05 Thread Daniel Santos
On 05/02/2017 05:40 AM, Kai Tietz wrote: Right, and Wine people will tell, if something doesn't work for them. So ok for me too. Kai Well, I haven't re-run these tests in a few months, but I got 272 failed wine tests with gcc 7.1 and 234 with my patch set rebased onto 7.1. So it looks like I'

Re: [gomp4] Add front end support for the if_present clause with the update directive

2017-05-05 Thread Thomas Schwinge
Hi! On Thu, 4 May 2017 15:11:30 -0700, Cesar Philippidis wrote: > This patch make the c, c++ and fortran FEs aware of the new OpenACC 2.5 > if_present clause for the update directive. Thanks! > The ME and runtime support > will come in a separate followup patch. > Thomas, for some reason I'm

Record equivalences for spill registers

2017-05-05 Thread Richard Sandiford
If we decide to allocate a call-clobbered register R to a value that is live across a call, LRA will create a new spill register TMPR, insert: TMPR <- R before the call and R <- TMPR after it. But if we then failed to allocate a register to TMPR, we would always spill it to the stack, ev

  1   2   >