Re: [PATCH] Fix PR68799

2016-01-15 Thread Richard Biener
On January 15, 2016 11:06:40 PM GMT+01:00, Bill Schmidt wrote: >Hi, > >In straight-line strength reduction, it can sometimes happen that more >than one conditional candidate can be predicated upon a PHI node P. >During processing of the first conditional candidate, a new PHI node >may >be introdu

Re: [Patch,tree-optimization]: Add new path Splitting pass on tree ssa representation

2016-01-15 Thread Jeff Law
On 01/04/2016 07:32 AM, Ajit Kumar Agarwal wrote: -Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: Wednesday, December 23, 2015 12:06 PM To: Ajit Kumar Agarwal; Richard Biener Cc: GCC Patches; Vinod Kathail; Shail Aditya Gupta; Vidhumouli Hunsigida; Nagaraju Mekala Subje

[PATCH, committed] PR diagnostic/68899: fix read-beyond-buffer when printing very wide source lines

2016-01-15 Thread David Malcolm
Our code for printing source code can apply an x-offset when printing very wide source lines, which attempts to ensure that the caret will be printed before line-wrapping occurs (it doesn't attempt to prevent line-wrapping, but the old implementation didn't either). The current implementation has

RE: Ping Re: Handle Octeon 3 not supporting MIPS paired-single instructions

2016-01-15 Thread Moore, Catherine
> -Original Message- > From: Myers, Joseph > Sent: Friday, January 15, 2016 6:28 PM > To: Andrew Pinski > Cc: GCC Patches; Moore, Catherine; matthew.fort...@imgtec.com > Subject: Ping Re: Handle Octeon 3 not supporting MIPS paired-single > instructions > > On Fri, 8 Jan 2016, Andrew Pins

Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 03:32:33PM -0700, Jeff Law wrote: > +bool > +ssa_name_has_boolean_range (tree op) > +{ > + gcc_assert (TREE_CODE (op) == SSA_NAME); > + > + /* Boolean types always have a range [0..1]. */ > + if (TREE_CODE (TREE_TYPE (op)) == BOOLEAN_TYPE) > +return true; > + > + /*

[PATCH] Fix RTL DSE (PR rtl-optimization/68955)

2016-01-15 Thread Jakub Jelinek
Hi! The following testcase is miscompiled on i686-linux at -O3. The bug is in DSE record_store, which for group_id < 0 uses mem_addr set to result of get_addr (base->val_rtx) (plus optional offset), which is fine for canon_true_dependence with other MEMs in that function, but we also store that ad

[patch] doc/sourcebuild.texi (Directives): Remove extra closing braces.

2016-01-15 Thread Jonathan Wakely
This removes stray closing braces in the docs for dg-error, dg-warning etc. OK for trunk? commit 1cb064263cfcfa14da81585886750f01a5611c7e Author: Jonathan Wakely Date: Sat Jan 16 00:11:27 2016 + * doc/sourcebuild.texi (Directives): Remove extra closing braces. diff --git a/gcc/doc/

Re: [hsa merge 09/10] Majority of the HSA back-end

2016-01-15 Thread Martin Jambor
Hi, bootstrapping on i686-linux revealed the need for the following simple patch. I've run into two types of compilation errors on powerpc-ibm-aix (no htolenn functions and ASM_GENERATE_INTERNAL_LABEL somehow expanding to undeclared rs6000_xcoff_strip_dollar). I plan to workaround them quickly b

Ping Re: Handle Octeon 3 not supporting MIPS paired-single instructions

2016-01-15 Thread Joseph Myers
On Fri, 8 Jan 2016, Andrew Pinski wrote: > On Fri, Jan 8, 2016 at 4:05 PM, Joseph Myers wrote: > > The Octeon 3 processor does not support the MIPS paired-single > > instructions. This results in illegal instruction errors in the > > testsuite when vectorization tests try to use those instructio

[patch] libstdc++/69293 Use static assertion for uses-allocator construction

2016-01-15 Thread Jonathan Wakely
The PR is actually due to a defect in the standard, which I reported today. The reporter said we're missing a check for is_constructible that would ensure we go to bullet (9.4) and make the example in the PR ill-formed. I didn't add that check because it's redundant, we don't need to check is_cons

Re: [Patch,tree-optimization]: Add new path Splitting pass on tree ssa representation

2016-01-15 Thread Jeff Law
On 01/14/2016 01:55 AM, Jeff Law wrote: [ Replying to myself again, mostly to make sure we've got these thoughts in the archives. ] Anyway, going back to adpcm_decode, we do end up splitting this path: # vpdiff_12 = PHI if (sign_41 != 0) goto ; else goto ; ;;succ:

Re: [patch] libstdc++/48891 Use ::isinf and ::isnan if libc defines them

2016-01-15 Thread Jonathan Wakely
On 13/01/16 16:26 +, Jonathan Wakely wrote: On 08/01/16 13:59 +, Jonathan Wakely wrote: I'm only checking for those functions for *-*-*gnu* targets, as I don't know of any other targets where it's an issue. Solaris and the BSDs don't define those functions. If it affects other targets we

Re: [PATCH v2] libstdc++: Make certain exceptions transaction_safe.

2016-01-15 Thread Torvald Riegel
On Thu, 2016-01-14 at 17:58 +, Jonathan Wakely wrote: > On 07/01/16 17:47 +0100, Torvald Riegel wrote: > >The attached patch makes some exceptions transaction-safe, as require by > >the Transactional Memory TS. I believe I addressed all feedback for the > >previous version of this patch (in pa

[PATCH] fix gimplification of call parameters (PR cilkplus/69267)

2016-01-15 Thread Ryan Burn
This patch changes the function cilk_gimplify_call_params_in_spawned_fn to use gimplify_arg instead of gimplify_expr. It fixes an ICE when calling a function with a constructed empty class as the argument. Bootstrapped and regression tested on x86_64-linux. 2016-01-15 Ryan Burn PR c

Re: [Patch,tree-optimization]: Add new path Splitting pass on tree ssa representation

2016-01-15 Thread Jeff Law
On 01/13/2016 01:10 AM, Jeff Law wrote: I'm going to focus on adpcm for the moment, in particular adpcm_coder. It appears the key blocks are: ;; basic block 14, loop depth 1, count 0, freq 9100, maybe hot ;;prev block 13, next block 15, flags: (NEW, REACHABLE) ;;pred: 12 [100.0

Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM

2016-01-15 Thread Jeff Law
On 01/14/2016 11:14 AM, Jeff Law wrote: On 01/14/2016 12:49 AM, Jakub Jelinek wrote: On Thu, Jan 14, 2016 at 08:46:43AM +0100, Jakub Jelinek wrote: On Thu, Jan 14, 2016 at 12:38:52AM -0700, Jeff Law wrote: + /* An integral type with more precision, but the object + only takes on values [0

[PATCH] Fix PR68799

2016-01-15 Thread Bill Schmidt
Hi, In straight-line strength reduction, it can sometimes happen that more than one conditional candidate can be predicated upon a PHI node P. During processing of the first conditional candidate, a new PHI node may be introduced in the same block as P, with new computations introduced in predeces

[aarch64] Fix target/69176

2016-01-15 Thread Richard Henderson
See the PR for details, but basically, the plus operations are special so you can't just split out one of the alternatives to a different pattern. This merges the two-instruction add case back into the main plus pattern, and then adds peepholes and splitters to generate the same code as before. O

Re: reject decl with incomplete struct/union type in check_global_declaration()

2016-01-15 Thread Joseph Myers
On Fri, 15 Jan 2016, Prathamesh Kulkarni wrote: > On 15 January 2016 at 03:27, Joseph Myers wrote: > > On Thu, 14 Jan 2016, Prathamesh Kulkarni wrote: > > > >> Hi, > >> For test-case containing only the following declaration: > >> static struct undefined_struct object; > >> gcc rejects it at -O0

Re: [PATCH 2/2] RFE: poisoning of invalid memory blocks and obstacks

2016-01-15 Thread Jeff Law
On 01/15/2016 01:04 PM, David Malcolm wrote: It was difficult to track down the memory corruption bug fixed by the previous patch (PR jit/68446). The following patch attempts to make it easier to find that kind of thing by adding "poisoning" code: (A) when memory blocks are returned to the memo

Re: [PATCH 5/5] s390: Add -fsplit-stack support

2016-01-15 Thread Marcin Kościelnicki
On 15/01/16 19:38, Andreas Krebbel wrote: Marcin, your implementation looks very good to me. Thanks! But please be aware that we deprecated the support of g5 and g6 and intend to remove that code from the back-end with the next GCC version. So I would prefer if you could remove all the !TARG

Re: [PATCH] fix #69277 - [6 Regression] ICE mangling a flexible array member

2016-01-15 Thread Jason Merrill
On 01/14/2016 10:01 PM, Martin Sebor wrote: In anticipation of needing to do something I put together the attached patch that rolls this change into version 10, letting version 9 and prior roll it back. I also mention it in the manual. What the patch doesn't do is add a warning. Looks good, b

Re: [PATCH] add test for c++/68490 - error initializing a structure with a flexible array member

2016-01-15 Thread Jason Merrill
On 01/14/2016 07:00 PM, Martin Sebor wrote: Among the bugs fixed by the flexible array patch (r231665) was c++/68490. I forgot to include a test for this bug in the commit so I'm adding it via the attached patch. (Please let me know if adding new passing tests is considered trivial and I don't

[PATCH] [graphite] fix pr68692: reinstantiate the copy of internal parameters

2016-01-15 Thread Sebastian Pop
Adding a testcase and reverting this patch: [PATCH] remove parameter_rename_map This map was used in the transition to the new scop detection: with the new scop detection, we do not need this map anymore. * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Remove u

Re: [PATCH] Fix PR c++/69091 (ICE with operator overload having 'auto' return type)

2016-01-15 Thread Jason Merrill
OK. Jason

Re: [PATCH] Decrease size of cp_token (PR bootstrap/68271)

2016-01-15 Thread Jason Merrill
OK. Jason

Re: [Patch, fortran] Bug 68241 - [meta-bug] Deferred-length character - PRs49630, 54070, 60593, 60795, 61147, 63232 and 64324

2016-01-15 Thread Paul Richard Thomas
Dear All, Following an exchange with Dominique on #gfortran, I fixed PR54070 comment #23. The changes are in trans-array.c and are listed in the ChangeLogs below. Committed to trunk as revision 232450. I will wait some weeks before committing to 5-branch. This patch should have made deferred char

Re: [hsa merge 08/10] HSAIL BRIG description header file

2016-01-15 Thread Richard Biener
On January 15, 2016 6:50:51 PM GMT+01:00, Mike Stump wrote: >On Jan 15, 2016, at 2:37 AM, Jakub Jelinek wrote: >> HSA Foundation grants express permission to any current Founder, >Promoter, >> Supporter Contributor, Academic or Associate member of HSA Foundation >to >> copy and redistribute UNMO

Re: [PATCH] Fix -Wformat-security warning in libgfortran

2016-01-15 Thread Paul Richard Thomas
Hi Jakub, Of course, that's OK; obvious even - good for trunk. Thanks Paul On 15 January 2016 at 21:07, Jakub Jelinek wrote: > Hi! > > In our gcc package build, libgfortran is built with -Werror=format-security > and errors on this file. While it is a false positive, because > cmdmsg_values[i

[PATCH] Decrease size of cp_token (PR bootstrap/68271)

2016-01-15 Thread Jakub Jelinek
Hi! As discussed in bugzilla some time ago, this patch decreases size of cp_token on 64-bit hosts from 24 bytes to 16 bytes and on 32-bit hosts from 16 bytes to 12. As for C++ all tokens are preparsed, it is quite important. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2

Re: [PATCH] Fix warning in adaint.c

2016-01-15 Thread Arnaud Charlet
> I've noticed > ../../gcc/ada/adaint.c: In function 'char* > __gnat_locate_exec_on_path(char*)': > ../../gcc/ada/adaint.c:2799:34: warning: deprecated conversion from > string constant to 'char*' [-Wwrite-strings] >if (path_val == NULL) path_val = ""; > ^ > wa

[PATCH] Fix -Wformat-security warning in libgfortran

2016-01-15 Thread Jakub Jelinek
Hi! In our gcc package build, libgfortran is built with -Werror=format-security and errors on this file. While it is a false positive, because cmdmsg_values[i] for any valid i don't contain % characters, IMNSHO it is better to use "%s", msg anyway to make it clear that msg should not be interpret

[PATCH] Fix warning in adaint.c

2016-01-15 Thread Jakub Jelinek
Hi! I've noticed ../../gcc/ada/adaint.c: In function 'char* __gnat_locate_exec_on_path(char*)': ../../gcc/ada/adaint.c:2799:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] if (path_val == NULL) path_val = ""; ^ warning, fix

Re: [hsa 2/10] Modifications to libgomp proper

2016-01-15 Thread Jakub Jelinek
On Tue, Jan 12, 2016 at 03:23:32PM +0100, Jakub Jelinek wrote: > But looking at GOMP_PLUGIN_target_task_completion, I see we have a bug in > there, > gomp_mutex_lock (&team->task_lock); > if (ttask->state == GOMP_TARGET_TASK_READY_TO_RUN) > { > ttask->state = GOMP_TARGET_TASK_FINISHED

Re: [PATCH, PR68976] Use reaching def phi arg in sese_add_exit_phis_edge

2016-01-15 Thread Sebastian Pop
On Fri, Jan 15, 2016 at 11:19 AM, Sebastian Pop wrote: > On Fri, Jan 15, 2016 at 7:58 AM, Tom de Vries wrote: >> During scop detection/canonicalize_loop_closed_ssa_form, an exit phi is >> introduced in the loop for _24: >> ... >> : >> # _58 = PHI <_24(22)> >> ... >> Note that _24 is not defin

[PATCH] [graphite] fix PR68976: only add loop close phi for names defined in loop

2016-01-15 Thread Sebastian Pop
* graphite-isl-ast-to-gimple.c: Fix comment. * graphite-scop-detection.c (defined_in_loop_p): New. (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA names defined in loop. gcc/testsuite * gcc.dg/graphite/pr68976.c: New test. --- gcc/graphi

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 10:46:32PM +0300, Alexander Monakov wrote: > On Fri, 15 Jan 2016, Jakub Jelinek wrote: > > > On Fri, Jan 15, 2016 at 10:19:13PM +0300, Alexander Monakov wrote: > > > Sorry, can you clarify -- what do you mean by "can't offload"? > > > > I meant stuff like setjmp/longjmp, e

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Alexander Monakov
On Fri, 15 Jan 2016, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 10:19:13PM +0300, Alexander Monakov wrote: > > Sorry, can you clarify -- what do you mean by "can't offload"? > > I meant stuff like setjmp/longjmp, exceptions?, alloca (I know your changes > might fix this one), computed goto, n

[PATCH 2/2] RFE: poisoning of invalid memory blocks and obstacks

2016-01-15 Thread David Malcolm
It was difficult to track down the memory corruption bug fixed by the previous patch (PR jit/68446). The following patch attempts to make it easier to find that kind of thing by adding "poisoning" code: (A) when memory blocks are returned to the memory_block_pool's free list (e.g. by an obsta

[PATCH 1/2] fix memory chunk corruption for opts_obstack (PR jit/68446)

2016-01-15 Thread David Malcolm
There can be multiple gcc_options instances, each with a call to init_options_struct matched with a call to finalize_options_struct whereas the opts_obstack is a singleton. Each gcc_options instance can potentially use the opts_obstack singleton. r230264 (aka 25faed340686df8d7bb2242dc8d0428

Patch to fix PR69030

2016-01-15 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69030 The patch was bootstrapped and tested on x86 and x86-64. Committed as rev. 232445. 2016-01-15 Vladimir Makarov PR rtl-optimization/69030 * lra-spills.c (remove_pseudos): Check nrefs and make

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 10:19:13PM +0300, Alexander Monakov wrote: > Sorry, can you clarify -- what do you mean by "can't offload"? I meant stuff like setjmp/longjmp, exceptions?, alloca (I know your changes might fix this one), computed goto, non-local goto, and the like, which I believe nvptx do

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Alexander Monakov
On Fri, 15 Jan 2016, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 07:38:14PM +0300, Ilya Verbin wrote: > > On Fri, Jan 15, 2016 at 17:09:54 +0100, Jakub Jelinek wrote: > > > On Fri, Jan 15, 2016 at 05:02:34PM +0100, Martin Jambor wrote: > > > > How do other accelerators cope with the situation wh

Re: [PATCH v2] sanitize paths used in regular expression

2016-01-15 Thread Mike Stump
On Jan 15, 2016, at 10:40 AM, Zachary T Welch wrote: > Does this version look better? Ok. > I am not sure if this the right place to put the new helper, so let me know > if there is a better spot for it. So, someone that wants to rehome the helper is free to do that.

Re: [PATCH] PR middle-end/67220: GCC fails to properly handle libcall symbol visibility of built functions

2016-01-15 Thread H.J. Lu
On Tue, Oct 20, 2015 at 4:37 PM, Bernd Schmidt wrote: > On 10/15/2015 12:37 PM, H.J. Lu wrote: >> >> On Thu, Oct 15, 2015 at 1:44 AM, Richard Biener >> wrote: >>> >>> On Wed, Oct 14, 2015 at 6:21 PM, H.J. Lu wrote: By default, there is no visibility on builtin functions. When there is

[PATCH v2] sanitize paths used in regular expression

2016-01-15 Thread Zachary T Welch
Does this version look better? I am not sure if this the right place to put the new helper, so let me know if there is a better spot for it. gcc/testsuite/lib/ * prune.exp (prune_file_path): Sanitize path used in regex. (escape_regex_chars): New. Signed-off-by: Zachary T

Re: [PATCH 5/5] s390: Add -fsplit-stack support

2016-01-15 Thread Andreas Krebbel
Marcin, your implementation looks very good to me. Thanks! But please be aware that we deprecated the support of g5 and g6 and intend to remove that code from the back-end with the next GCC version. So I would prefer if you could remove all the !TARGET_CPU_ZARCH stuff from the implementation a

Re: Optimise hash_table::empty

2016-01-15 Thread Bernd Schmidt
On 01/15/2016 07:00 PM, Richard Sandiford wrote: Calling redirect_edge_var_map_empty after each pass was slowing things down because hash_table::empty () cleared all slots even if the hash table was already empty. Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement for fold-

[PATCH] Fix PR c++/69091 (ICE with operator overload having 'auto' return type)

2016-01-15 Thread Patrick Palka
The crux of the problem in this PR is that type_dependent_expression_p returns true for a FUNCTION_DECL that is not actually type-dependent. This leads tsubst_decl to attempt to perform template argument substitution on the template arguments of the FUNCTION_DECL, which do not necessarily correspon

Re: [PATCH, rs6000] Add support for __builtin_cpu_is() and __builtin_cpu_supports()

2016-01-15 Thread Peter Bergner
On Thu, 2016-01-14 at 21:50 -0600, Peter Bergner wrote: > This patch adds support for __builtin_cpu_init(), __builtin_cpu_is() and > __builtin_cpu_supports() builtins for PowerPC. We use the same API as the > x86* builtins of the same name. These builtins uses the new GLIBC 2.23 > feature where w

Re: Optimise hash_table::empty

2016-01-15 Thread Trevor Saunders
On Fri, Jan 15, 2016 at 06:00:10PM +, Richard Sandiford wrote: > Calling redirect_edge_var_map_empty after each pass was slowing things > down because hash_table::empty () cleared all slots even if the hash > table was already empty. > > Tested on x86_64-linux-gnu, where it gives a 1% compile

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Ilya Verbin
On Fri, Jan 15, 2016 at 17:45:22 +0100, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 07:38:14PM +0300, Ilya Verbin wrote: > > On Fri, Jan 15, 2016 at 17:09:54 +0100, Jakub Jelinek wrote: > > > On Fri, Jan 15, 2016 at 05:02:34PM +0100, Martin Jambor wrote: > > > > How do other accelerators cope wi

[wwwdocs] gcc-6/changes.html: diagnostics, Levenshtein, -Wmisleading-indentation, jit (v2)

2016-01-15 Thread David Malcolm
On Wed, 2016-01-13 at 10:00 -0500, David Malcolm wrote: > Ping: https://gcc.gnu.org/ml/gcc-patches/2016-01/msg00250.html > > On Wed, 2016-01-06 at 09:50 -0500, David Malcolm wrote: > > The attached patch adds information on various things to the > > gcc-6/changes.html page: > > > > * source-range

Optimise hash_table::empty

2016-01-15 Thread Richard Sandiford
Calling redirect_edge_var_map_empty after each pass was slowing things down because hash_table::empty () cleared all slots even if the hash table was already empty. Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement for fold-const.ii at -O and -O2. OK to install? Thanks, Ri

Re: [hsa merge 08/10] HSAIL BRIG description header file

2016-01-15 Thread Mike Stump
On Jan 15, 2016, at 2:37 AM, Jakub Jelinek wrote: > HSA Foundation grants express permission to any current Founder, Promoter, > Supporter Contributor, Academic or Associate member of HSA Foundation to > copy and redistribute UNMODIFIED versions of this specification So, this isn’t the GNU way.

Re: [PATCH] c++/58109 - alignas() fails to compile with constant expression

2016-01-15 Thread Martin Sebor
On 01/12/2016 11:11 AM, Martin Sebor wrote: On 01/11/2016 10:20 PM, Jason Merrill wrote: On 12/22/2015 09:32 PM, Martin Sebor wrote: + if (is_attribute_p ("aligned", name) + || is_attribute_p ("vector_size", name)) +{ + /* Attribute argument may be a dependent indentifier. */ +

Re: [PATCH] sanitize paths used in regular expression

2016-01-15 Thread Mike Stump
On Jan 15, 2016, at 2:47 AM, David Malcolm wrote: > FWIW, I do something similar in multiline.exp's _build_multiline_regex, > which attempts to have a complete list of metacharacters (though I > believe some of these are not valid for POSIX filenames); Only ‘\’ and ‘\0’ are invalid. The rest are

[PATCH 10/15] rewrite computation of iteration domains

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove. (cleanup_loop_iter_dom): Remove. (build_loop_iteration_domains): Remove. (build_scop_context): Remove. (build_scop_iteration_domain): Remove. (add_loop_constraints): New

Re: [AArch64] Remove TODO (redundant type conversions) in arm_neon.h

2016-01-15 Thread James Greenhalgh
On Mon, Jan 11, 2016 at 11:56:50AM +, Jiong Wang wrote: > There are quite a few redundant type conversions in arm_neon.h, all of > them are intrinsics taking argument of vector float type and return result > of vector unsigned integer type. > > The problem is currently we support UNOP and UNOP

Re: [PATCH][AArch64] Handle CSEL of zero_extended operands in rtx costs

2016-01-15 Thread James Greenhalgh
On Mon, Jan 11, 2016 at 04:41:32PM +, Kyrill Tkachov wrote: > Hi all, > > This patch fixes the test gcc.target/aarch64/pr66776.c for -mcpu=cortex-a53. > Currently we don't handle the (if_then_else (cond) (zero_extend r1) > (zero_extend r2)) > form of CSEL, so we end up recursing into the oper

[PATCH 13/15] reinstantiate loop blocking

2016-01-15 Thread Sebastian Pop
* graphite-optimize-isl.c (get_schedule_for_node_st): Add back. (optimize_isl): Call isl_schedule_map_schedule_node_bottom_up. * params.def (PARAM_LOOP_BLOCK_TILE_SIZE): Adjust to 32. gcc/testsuite * gcc.dg/graphite/block-1.c: * gcc.dg/graphite/block-5.c:

[PATCH 08/15] record loops in execution order

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-scop-detection.c (record_loop_in_sese): New. (gather_bbs::before_dom_children): Call record_loop_in_sese. (build_scops): Remove call to build_sese_loop_nests. * sese.c (sese_record_loop): Remove. (build_sese_loop_nests): Remov

[PATCH 12/15] new scop schedule.

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-dependences.c (scop_get_reads): Do not call isl_union_map_add_map that is undocumented isl functionality. (scop_get_must_writes): Same. (scop_get_may_writes): Same. (scop_get_original_schedule): Remove. (scop_get_depen

[PATCH 05/15] remove tiling

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop We remove all code related to tiling, then we will call isl functionality for that. * graphite-isl-ast-to-gimple.c (set_options_for_schedule_tree): Remove. (translate_isl_ast_to_gimple::scop_to_isl_ast): Call set_separate_option. (graphite_regenerate

Re: [hsa merge 08/10] HSAIL BRIG description header file

2016-01-15 Thread Martin Jambor
On Fri, Jan 15, 2016 at 01:03:35PM +0100, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 11:37:32AM +0100, Jakub Jelinek wrote: > > On Fri, Jan 15, 2016 at 11:14:33AM +0100, Martin Jambor wrote: > > > > Martin, could you ask the HSA Foundation or AMD or whoever if there is > > > > any way they coul

[PATCH 11/15] check for unstructured control flow

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): Discard unstructured if-then-else regions. --- gcc/graphite-scop-detection.c | 12 1 file changed, 12 insertions(+) diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-sc

[PATCH 06/15] fix codegen error exposed by compute isl flow patch

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop we used to fail using an iv from a different loop. * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New. (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool. (is_valid_rename): Same. (translate_isl_ast_to_gimple::get_rena

[PATCH 02/15] remove unused variable

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop 2015-12-30 Sebastian Pop * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION. * graphite.h (struct poly_bb): Remove field is_reduction. (PBB_IS_REDUCTION): Remove. --- gcc/graphite-poly.c | 1 - gcc/graphite.h | 4 2 files cha

Re: [PATCH][AArch64] Handle compare of zero_extract form of TST-immediate in rtx costs

2016-01-15 Thread James Greenhalgh
On Mon, Jan 11, 2016 at 04:41:22PM +, Kyrill Tkachov wrote: > Hi all, > > The test gcc.target/aarch64/tst_3.c fails for an explicit -mcpu=cortex-a53 > because we don't handle the recent compare with zero_extract pattern properly > in rtx costs, so we end up recursing into its operands and end

[PATCH 03/15] fix PR68343: disable graphite tests for isl 0.14 or earlier

2016-01-15 Thread Sebastian Pop
From: Aditya Kumar The patch disables all optimizations when configuring gcc with isl 0.14 or earlier. The next patch makes use of the schedule-trees that is only availaible in isl 0.15. ChangeLog: * Makefile.in: Regenerate. * Makefile.tpl: Export ISLVER. * configure:

[PATCH 07/15] check that all loops are valid in the combined region

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop the bug was exposed by rewriting an if condition into an assert in the computation of the loop iteration domains. * graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop. (scop_detection::harmful_stmt_in_region): Renamed harmful_loop

[PATCH 09/15] fix memory leak in scop-detection

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): Free dom and loops. (scop_detection::loop_body_is_valid_scop): Free bbs. --- gcc/graphite-scop-detection.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff

Re: [PATCH][AArch64] Properly reject invalid attribute strings

2016-01-15 Thread James Greenhalgh
On Fri, Jan 15, 2016 at 01:39:54PM +, Kyrill Tkachov wrote: > Hi all, > > A bug in the target attribute parsing logic led to us silently accepting > attribute strings that did not appear in the attributes table i.e invalid > attributes. > > This patch fixes that oversight so we now error out

Re: [PATCH, PR68976] Use reaching def phi arg in sese_add_exit_phis_edge

2016-01-15 Thread Sebastian Pop
On Fri, Jan 15, 2016 at 7:58 AM, Tom de Vries wrote: > During scop detection/canonicalize_loop_closed_ssa_form, an exit phi is > introduced in the loop for _24: > ... > : > # _58 = PHI <_24(22)> > ... > Note that _24 is not defined in the loop, but before it. AFAIU the header > comment of cano

[PATCH 04/15] add missing ast node for isl 0.15

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle isl_ast_node_mark. --- gcc/graphite-isl-ast-to-gimple.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c index d143ef7

[PATCH 01/15] add more coalescing to simplify constraints

2016-01-15 Thread Sebastian Pop
From: Sebastian Pop 2015-12-30 Aditya Kumar Sebastian Pop * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce. (add_pdr_constraints): Same. (scop_get_reads): Same. (scop_get_must_writes): Same. (scop_get_may_writes): Sa

Thoughts on memcmp expansion (PR43052)

2016-01-15 Thread Bernd Schmidt
PR43052 is a PR complaining about how the rep cmpsb expansion that gcc uses for memcmp is slower than the library function. As is so often the case, if you investigate a bit, you can find a lot of issues with the current situation in the compiler. This PR was accidentally fixed by a patch by N

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 07:38:14PM +0300, Ilya Verbin wrote: > On Fri, Jan 15, 2016 at 17:09:54 +0100, Jakub Jelinek wrote: > > On Fri, Jan 15, 2016 at 05:02:34PM +0100, Martin Jambor wrote: > > > How do other accelerators cope with the situation when half of the > > > application is compiled with

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Ilya Verbin
On Fri, Jan 15, 2016 at 17:09:54 +0100, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 05:02:34PM +0100, Martin Jambor wrote: > > How do other accelerators cope with the situation when half of the > > application is compiled with the accelerator disabled? (Would some of > > their calls to GOMP_tar

Re: IRA fix for 47992

2016-01-15 Thread Jeff Law
On 01/15/2016 06:42 AM, Bernd Schmidt wrote: This is a report of a crash in IRA. If you debug it with a sufficiently old compiler, you'll find that we manage to delete some basic blocks from within IRA. Later on, reload calls alter_reg for all unallocated pseudos, including one that only occurs i

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 05:02:34PM +0100, Martin Jambor wrote: > How do other accelerators cope with the situation when half of the > application is compiled with the accelerator disabled? (Would some of > their calls to GOMP_target_ext lead to abort?) GOMP_target_ext should never abort (unless i

PR68609

2016-01-15 Thread David Edelsohn
My initial implementation of software sqrt based on estimate was fragile for denormal inputs. This revised version converts both sqrt and rsqrt to use Goldschmidt's Algorithm and calculates sqrt through an iterative correction to a sqrt estimate. Because sqrt only is profitable for 1 iteration, t

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Martin Jambor
Hi, On Fri, Jan 15, 2016 at 04:01:49PM +0100, Jakub Jelinek wrote: > On Fri, Jan 15, 2016 at 03:53:23PM +0100, Martin Jambor wrote: > > @@ -317,7 +319,7 @@ public: > > bool > > pass_ipa_hsa::gate (function *) > > { > > - return hsa_gen_requested_p () || in_lto_p; > > + return hsa_gen_requeste

C++ PATCH for c++/69257 (ICE with incomplete deref and asm)

2016-01-15 Thread Jason Merrill
In this testcase, the compiler fails to diagnose trying to use the value of an INDIRECT_REF of incomplete type. Since decay_conversion is modeling the lvalue->rvalue conversion here, that seems a logical place to complain. When making that change, I noticed that we were incorrectly calling m

Re: [PATCH] DWARF: add abstract origin links on lexical blocks DIEs

2016-01-15 Thread Richard Biener
On Fri, Jan 15, 2016 at 3:41 PM, Pierre-Marie de Rodat On 01/13/2016 01:17 PM, Richard Biener wrote: >> >> I wonder if you can construct a guality testcase that passes with and >> fails without >> the patch? > > > I’ve tried to first look at how guality testcases are written (thanks for > your ans

Re: [doc, 5/n] invoke.texi: add new "Program Instrumentation Options" section

2016-01-15 Thread Sandra Loosemore
On 01/15/2016 01:39 AM, Mikhail Maltsev wrote: On 01/15/2016 05:17 AM, Sandra Loosemore wrote: This patch consolidates the documentation of GCC options that add runtime profiling, error checking, or other instrumentation into a single section. Currently these are scattered all over, variously

C++ PATCH for c++/68847 (ICE with builtin in template)

2016-01-15 Thread Jason Merrill
The delayed folding code for builtins needs to make sure that the expression is instantiated before we try to fold it, because we can get here while parsing a template. Tested x86_64-pc-linux-gnu, applying to trunk. commit 6e41de9cec949bc7c09406b50105afee927a0ae3 Author: Jason Merrill Date:

[PATCH, i386] Support ANDN in stv pass

2016-01-15 Thread Ilya Enkovich
Hi, This patch continues resolving andn regression case in stv pass (see https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01017.html). In this patch a new andn pattern added similar to other bit DI patterns we have for stv pass. This improves performance of 462.libquantum benchmark on Haswell (+2.6%

Re: [hsa merge 09/10] Majority of the HSA back-end

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 04:08:14PM +0100, Martin Jambor wrote: > We don't error, apart from issuing a warning we basically ignore them. > I believe we can do it even in the long term and that it is in fact > useful because the standard says that the "effect" if these routines > is "unspecified" if

Re: [hsa merge 10/10] HSA register allocator

2016-01-15 Thread Martin Jambor
Hi, On Thu, Jan 14, 2016 at 03:41:34PM +0100, Jakub Jelinek wrote: > On Wed, Jan 13, 2016 at 06:39:35PM +0100, Martin Jambor wrote: > > +for (phi = hbb->m_first_phi; > > +phi; > > +phi = phi->m_next ? as_a (phi->m_next): NULL) > > Space before : > > Ok with that change. > I have c

Re: [hsa merge 09/10] Majority of the HSA back-end

2016-01-15 Thread Martin Jambor
Hi, thanks Jakub. Below you'll find a patch, which is mostly work of Martin Liska, that should address all the review comments. We have then also went over the "XXX" marks (my bad that I forgot that Michael uses this mark), removed half of them and turned the rest into TODOs. Let me just quickl

[PATCH][ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional

2016-01-15 Thread Kyrill Tkachov
Hi all, In this PR the ARMv8 vcvt instructions end up being conditionalised when they don't have a conditional form. setting the predicable attribute to "no" is not enough. We need to set the "conds" attribute to unconditional as well. Bootstrapped and tested on arm-none-linux-gnueabihf. Ok fo

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 03:53:23PM +0100, Martin Jambor wrote: > @@ -317,7 +319,7 @@ public: > bool > pass_ipa_hsa::gate (function *) > { > - return hsa_gen_requested_p () || in_lto_p; > + return hsa_gen_requested_p (); > } > > } // anon namespace I actually didn't mean this, I mean more

[gomp4] implicit non-scalars data mapping in kernels backport

2016-01-15 Thread Cesar Philippidis
I've backported this patch from trunk to gomp-4_0-branch which teaches the gimplifier to inspect the type of the value being pointed to when deciding what type of implicit data mapping is necessary for a variable. More discussing on this patch can be found here

Re: [hsa merge 07/10] IPA-HSA pass

2016-01-15 Thread Martin Jambor
On Thu, Jan 14, 2016 at 01:58:58PM +0100, Jakub Jelinek wrote: > Otherwise LGTM. > > Jakub Thanks Jakub, I have committed the following patch from Martin Liska that addresses your comments. Martin 2016-01-15 Martin Liska * ipa-hsa.c (process_hsa_functions): Fixed coding style.

Re: [hsa merge 05/10] OpenMP lowering/expansion changes (gridification)

2016-01-15 Thread Martin Jambor
Thanks Jakub and Alex, I have committed the following to the branch to address your comments: 2016-01-15 Martin Jambor * gimple.h: Fixed comment of gimple_statement_omp_single_layout * omp-low.c (get_target_argument_value): Fixed spelling in its comment. (push_

Re: [PATCH] DWARF: add abstract origin links on lexical blocks DIEs

2016-01-15 Thread Pierre-Marie de Rodat
On 01/13/2016 01:17 PM, Richard Biener wrote: I wonder if you can construct a guality testcase that passes with and fails without the patch? I’ve tried to first look at how guality testcases are written (thanks for your answers on IRC, by the way :-)) and then how I could write a testcase for

Re: PR 69246: Invalid REG_ARGS_SIZE for sibcalls

2016-01-15 Thread Bernd Schmidt
On 01/15/2016 03:31 PM, Richard Sandiford wrote: The problem in this PR was that we were treating a sibcall as popping arguments, leading to a negative REG_ARGS_SIZE. It doesn't really make sense to treat sibcalls as popping since (a) they're deallocating the caller's stack, not ours, and (b) th

Re: [PATCH] PR target/68991: Add vector_memory_operand and "Bm" constraint

2016-01-15 Thread Jakub Jelinek
On Fri, Jan 15, 2016 at 06:24:42AM -0800, H.J. Lu wrote: > >> -Ofast -mavx -mno-avx2 -mtune=bdver2 > >> > >> float *a, *b; > >> int c, d, e, f; > >> void > >> foo (void) > >> { > >> for (; c; c++) > >> a[c] = 0; > >> if (!d) > >> for (; c < f; c++) > >> b[c] = (double) e / b[c]; >

PR 69246: Invalid REG_ARGS_SIZE for sibcalls

2016-01-15 Thread Richard Sandiford
The problem in this PR was that we were treating a sibcall as popping arguments, leading to a negative REG_ARGS_SIZE. It doesn't really make sense to treat sibcalls as popping since (a) they're deallocating the caller's stack, not ours, and (b) there are no optabs for popping sibcalls (any more).

  1   2   >