Re: *Ping* Re: [Patch, fortran] PR61831 side-effect deallocation of variable components

2015-07-16 Thread Steve Kargl
On Fri, Jul 10, 2015 at 06:35:30PM +0200, Mikael Morin wrote: Ping: https://gcc.gnu.org/ml/fortran/2015-06/msg00075.html Patch looks ok to me. -- Steve

Re: [PATCH][combine][1/2] Try to simplify before substituting

2015-07-16 Thread Kyrill Tkachov
On 16/07/15 19:28, Segher Boessenkool wrote: On Thu, Jul 16, 2015 at 07:17:54PM +0100, Kyrill Tkachov wrote: If you always want to simplify first, does it work to move this whole big block behind the simplify just following it? Or do you want to simplify after the transform as well? You mean

Re: [Bug fortran/52846] [F2008] Support submodules - part 2/3 - redux

2015-07-16 Thread Steve Kargl
On Thu, Jul 16, 2015 at 05:08:50PM +0200, Paul Richard Thomas wrote: Please find attached a new version of the patch that fixes the inconsistency with the standard, pointed out by Reinhold. It is weird but a read the appropriate part of the standard several times and simply did not pick up

Re: [PATCH][4/n] Remove GENERIC stmt combining from SCCVN

2015-07-16 Thread Richard Biener
On Wed, 15 Jul 2015, Andrew MacLeod wrote: On 07/15/2015 03:01 PM, Jeff Law wrote: On 07/14/2015 05:37 AM, Richard Biener wrote: On Tue, 14 Jul 2015, Richard Biener wrote: Applied. The following patch adds the equivalences for the destination of use stmts if they simplify.

[PATCH 4/8] DWARF: add a language hook for fixed-point types

2015-07-16 Thread Pierre-Marie de Rodat
Support for fixed-point types in GCC is not powerful enough for Ada fixed-point types: GNAT uses regular scalar types to implement them. This new language hook makes it possible to output the desired debugging information anyway. include/ChangeLog: * dwarf2.def

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-16 Thread Richard Biener
On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I. In openmp expansion of loops, we do some effort to try to create matching loops in the loop state of the child function, f.i.in expand_omp_for_generic: ... struct loop *outer_loop; if

[PATCH 8/8] DWARF: describe properly Ada packed arrays

2015-07-16 Thread Pierre-Marie de Rodat
gcc/ada/ChangeLog: * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P, TYPE_CAN_HAVE_DEBUG_TYPE_P, TYPE_ORIGINAL_PACKED_ARRAY, SET_TYPE_ORIGINAL_PACKED_ARRAY): New macros. * gcc-interface/decl.c (add_parallel_type_for_packed_array): Rename

[PATCH 7/8] DWARF: add a language hook for scalar biased types

2015-07-16 Thread Pierre-Marie de Rodat
Front-ends like GNAT for Ada sometimes use biased encodings for integral types. This change creates a new language hook so that the bias information can make it into the debugging information back-end and introduces an experimental DWARF attribute to hold it. include/ChangeLog: *

Re: [PATCH] Add 'switch' statement to match.pd language

2015-07-16 Thread Richard Biener
On Wed, 15 Jul 2015, Michael Matz wrote: Hi, On Wed, 15 Jul 2015, Richard Biener wrote: (switch (A) B (B) C (C) D E) The lispy way would have been (switch (A) (B) (C) (D) (E) (F) G) i.e. parenthesize the result as well, which

Re: [gomp4.1] C++ iterators with #omp ordered depend(sink:)

2015-07-16 Thread Jakub Jelinek
Hi! CCing Jason on a tsubst issue below. On Wed, Jul 15, 2015 at 06:05:06PM -0700, Aldy Hernandez wrote: As I said on IRC, this looks ugly, but I can see why you wouldn't want the extra word on all loop variants. I've implemented it as requested. Thanks. commit

Re: [genmatch] reject empty c_expr

2015-07-16 Thread Prathamesh Kulkarni
On 16 July 2015 at 12:39, Richard Biener rguent...@suse.de wrote: On Wed, 15 Jul 2015, Prathamesh Kulkarni wrote: Hi, We allow c_expr to be empty which accepts cases like the following: (simplify match-operand (if () result-operand)) (simplify match-operand {}) Yes we

[PATCHES] Enhance standard DWARF for Ada

2015-07-16 Thread Pierre-Marie de Rodat
Hello, This patch series aims at enhancing GCC to emit standard DWARF in place of the current GNAT encodings (non-standard DWARF) for a set of basic types: dynamic arrays, variable-length records, variant parts, etc. As most debuggers (including GDB) do not support these DWARF descriptions

[PATCH 1/8] Add a flag to control the balance between GNAT encodings, and std. DWARF

2015-07-16 Thread Pierre-Marie de Rodat
In order to accomodate the debugger's support evolution for new DWARF constructs, we need to have an flag that controls the amount of GNAT encodings/standard DWARF information that is emitted in the debug info. Propagate this new parameter into the Ada front-end. gcc/ChangeLog: *

Re: [PATCH, ARM] stop changing signedness in PROMOTE_MODE

2015-07-16 Thread Richard Earnshaw
On 15/07/15 16:54, Jim Wilson wrote: On Wed, Jul 15, 2015 at 6:04 AM, Michael Matz m...@suse.de wrote: Hi, On Tue, 14 Jul 2015, Jim Wilson wrote: Now that we do have the problem, we can't fix it without an ARM port ABI change, which is undesirable, so we may have to fix it with a MI change.

Re: [PATCH][AArch64] PR target/66731 Fix fnmul insn with -frounding-math

2015-07-16 Thread Szabolcs Nagy
On 06/07/15 11:24, James Greenhalgh wrote: Please make sure in a follow-up patch that the costing logic in aarch64_rtx_costs also gets updated. Tested with aarch64-none-linux-gnu cross compiler. is this OK? i assume i should backport the fnmul fixes to the gcc-5 branch. 2015-07-16

Re: [PATCH v3] [AArch64] PR63870 Improve error messages for NEON single lane memory access intrinsics

2015-07-16 Thread Charles Baylis
Ping? On 26 June 2015 at 20:14, Charles Baylis charles.bay...@linaro.org wrote: Since the last ping, I've tweaked the test cases a bit... Since I've been working on doing the same changes for the ARM backend, I've moved the tests into the advsimd-intrinsics directory, marked as XFAIL for ARM

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 12:19 PM, Thomas Schwinge tho...@codesourcery.com wrote: Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries tom_devr...@mentor.com wrote: I tried to parallelize this fortran

[AArch64] Tighten direct call pattern to repair -fno-plt

2015-07-16 Thread Jiong Wang
Jeff Law writes: On 06/23/2015 02:29 AM, Ramana Radhakrishnan wrote: If you try disabling the REG_EQUAL note generation [*], you'll probably find a performance regression on arm32 (and probably on aarch64 as well? we only IMHO disabling the REG_EQUAL note generation is the wrong way to

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 12:23 PM, Richard Biener richard.guent...@gmail.com wrote: On Thu, Jul 16, 2015 at 12:19 PM, Thomas Schwinge tho...@codesourcery.com wrote: Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jul 15, 2015 at 10:26 PM,

Re: [AArch64] Tighten direct call pattern to repair -fno-plt

2015-07-16 Thread Alexander Monakov
Attachment is the patch which repair -fno-plt support for AArch64. aarch64_is_noplt_call_p will only be true if: * gcc is generating position independent code. * function symbol has declaration. * either -fno-plt or (no_plt) attribute specified. * it's a external function.

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-16 Thread Tom de Vries
On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I. In openmp expansion of loops, we do some effort to try to create matching loops in the loop state of the child function, f.i.in expand_omp_for_generic: ... struct

Re: [PATCH 1/8] Add a flag to control the balance between GNAT encodings, and std. DWARF

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 10:52 AM, Andreas Schwab sch...@suse.de wrote: Pierre-Marie de Rodat dero...@adacore.com writes: +fgnat-encodings= IMHO the option name should include dwarf. And start with -g Richard. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint =

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 11:39 AM, Tom de Vries tom_devr...@mentor.com wrote: On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I. In openmp expansion of loops, we do some effort to try to create matching loops in the

Re: [PATCH 1/8] Add a flag to control the balance between GNAT encodings, and std. DWARF

2015-07-16 Thread Pierre-Marie de Rodat
On 07/16/2015 12:12 PM, Richard Biener wrote: On Thu, Jul 16, 2015 at 10:52 AM, Andreas Schwab sch...@suse.de wrote: Pierre-Marie de Rodat dero...@adacore.com writes: +fgnat-encodings= IMHO the option name should include dwarf. And start with -g Thank you for your answers! Changing the

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Thomas Schwinge
Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries tom_devr...@mentor.com wrote: I tried to parallelize this fortran test-case (based on autopar/outer-1.c), [...] So I wondered, why not always use

Re: [AArch64] Tighten direct call pattern to repair -fno-plt

2015-07-16 Thread Jiong Wang
Alexander Monakov writes: Attachment is the patch which repair -fno-plt support for AArch64. aarch64_is_noplt_call_p will only be true if: * gcc is generating position independent code. * function symbol has declaration. * either -fno-plt or (no_plt) attribute specified. * it's

Re: [RFC, PATCH] Split pool_allocator and create a new object_allocator

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 12:47 PM, Martin Liška mli...@suse.cz wrote: On 07/09/2015 11:43 PM, Martin Liška wrote: On 07/03/2015 06:18 PM, Richard Sandiford wrote: Hi Martin, Martin Liška mli...@suse.cz writes: On 07/03/2015 03:07 PM, Richard Sandiford wrote: Martin Jambor mjam...@suse.cz

Re: [PATCH 1/3] tree-ssa-tail-merge: add IPA ICF infrastructure.

2015-07-16 Thread Martin Liška
On 07/09/2015 06:24 PM, Jeff Law wrote: On 07/09/2015 07:56 AM, mliska wrote: gcc/ChangeLog: 2015-07-09 Martin Liska mli...@suse.cz * dbgcnt.def: Add new debug counter. * ipa-icf-gimple.c (func_checker::compare_ssa_name): Add flag for strict mode.

Re: [PATCH] parloops exit phi fixes

2015-07-16 Thread Richard Biener
On Mon, Jun 22, 2015 at 7:59 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, the gomp-4_0-branch contains the kernels oacc pass group. I've run into trouble before with this pass group due to the fact that it uses passes in an unusual location or order (pass_lim before pass_stdarg,

Re: [RFC, PATCH] Split pool_allocator and create a new object_allocator

2015-07-16 Thread Martin Liška
On 07/09/2015 11:43 PM, Martin Liška wrote: On 07/03/2015 06:18 PM, Richard Sandiford wrote: Hi Martin, Martin Liška mli...@suse.cz writes: On 07/03/2015 03:07 PM, Richard Sandiford wrote: Martin Jambor mjam...@suse.cz writes: On Fri, Jul 03, 2015 at 09:55:58AM +0100, Richard Sandiford

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

2015-07-16 Thread Richard Biener
On Tue, Jul 7, 2015 at 3:22 PM, Ajit Kumar Agarwal ajit.kumar.agar...@xilinx.com wrote: -Original Message- From: Richard Biener [mailto:richard.guent...@gmail.com] Sent: Tuesday, July 07, 2015 2:21 PM To: Ajit Kumar Agarwal Cc: l...@redhat.com; GCC Patches; Vinod Kathail; Shail

[PATCH 5/8] DWARF: describe Ada dynamic arrays as proper arrays

2015-07-16 Thread Pierre-Marie de Rodat
gcc/ada/ChangeLog: * gcc-interface/decl.c (gnat_to_gnu_entity): When -fgnat-encodings-minimal, do not add ___XUP/XUT suffixes to type names and do not generate ___XA parallel types. * gcc-interface/misc.c (gnat_get_array_descr_info): Match fat and thin

Re: [genmatch] reject empty c_expr

2015-07-16 Thread Richard Biener
On Wed, 15 Jul 2015, Prathamesh Kulkarni wrote: Hi, We allow c_expr to be empty which accepts cases like the following: (simplify match-operand (if () result-operand)) (simplify match-operand {}) Yes we do. We also do not reject various other bad forms like { ( blah!

[PATCH 2/8] DWARF: handle variable-length records and variant parts

2015-07-16 Thread Pierre-Marie de Rodat
Enhance the DWARF back-end to emit proper descriptions for variable-length records as well as variant parts in records. In order to achieve this, generate DWARF expressions (location descriptions in dwarf2out's parlance) for size and data member location attributes. Also match QUAL_UNION_TYPE

PATCH (v2) trunk GCCJIT: adding gcc_jit_context_new_rvalue_from_long_long, etc...

2015-07-16 Thread Basile Starynkevitch
On 07/15/2015 21:16, David Malcolm wrote: Perhaps, but note that nothing in a regular gcc bootstrap uses libgccjit, so you *might* still have a latent linking error that shows up only at run time. Running the jit testsuite is the best way to be sure. And I'm testing that on x86-64/Linux

Re: [PR64164] drop copyrename, integrate into expand

2015-07-16 Thread Alexandre Oliva
On Jun 10, 2015, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jun 10, 2015 at 2:24 AM, Alexandre Oliva aol...@redhat.com wrote: This caused the sparc regression reported by Eric in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164#c37 We need to match the mode of the rtl created

Re: [PATCH] PR target/66824: Allow software FP SFmode in FP splitter

2015-07-16 Thread Uros Bizjak
On Wed, Jul 15, 2015 at 3:37 PM, H.J. Lu hjl.to...@gmail.com wrote: On Wed, Jul 15, 2015 at 5:05 AM, Uros Bizjak ubiz...@gmail.com wrote: On Wed, Jul 15, 2015 at 1:36 PM, Uros Bizjak ubiz...@gmail.com wrote: I couldn't figure a way to add conditional constraints for ?r/rmF and r/rmF. I

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Richard Biener
On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I tried to parallelize this fortran test-case (based on autopar/outer-1.c), specifically the outer loop of the first loop nest using -ftree-parallelize-loops=2: ... program main implicit none integer,

[PATCH 6/8] create a macro for max dimensions for array descr. lang. hook

2015-07-16 Thread Pierre-Marie de Rodat
The array descriptor language hook can hold the description of a limited number of array dimensions. This macro will ease preventing overflow in front-ends. gcc/ada/ChangeLog: * gcc-interface/misc.c (gnat_get_array_descr_info): When the array has more dimensions than the

Re: [PATCH] Add 'switch' statement to match.pd language

2015-07-16 Thread Richard Biener
On Wed, 15 Jul 2015, Richard Sandiford wrote: Michael Matz m...@suse.de writes: (switch (A) B (B) C (C) D E) The lispy way would have been (switch (A) (B) (C) (D) (E) (F) G) i.e. parenthesize the result as well, which then would

[ARM] Fix vget_lane for big-endian targets

2015-07-16 Thread Christophe Lyon
AdvSIMD vget_lane tests currently fail on armeb targets when dealing with vectors of 2 64-bits elements. This patches fixes it, by adding a code fragment similar to what is dones in other cases. I could have simplified it a bit given that the vector width is known, but I chose to hardcode

Re: [genmatch] reject empty c_expr

2015-07-16 Thread Richard Biener
On Thu, 16 Jul 2015, Prathamesh Kulkarni wrote: On 16 July 2015 at 12:39, Richard Biener rguent...@suse.de wrote: On Wed, 15 Jul 2015, Prathamesh Kulkarni wrote: Hi, We allow c_expr to be empty which accepts cases like the following: (simplify match-operand (if ()

[PATCH 3/8] DWARF: add a language hook to override types in debugging information

2015-07-16 Thread Pierre-Marie de Rodat
Many artificial types are introduced by GNAT in order to satisfy constraints in GCC's internal trees or to generate optimal code. These hide original types from sources and miss useful information in the debugging information or add noise to it and make debugging confusing. This change

Re: [PATCH 2/8] DWARF: handle variable-length records and variant parts

2015-07-16 Thread Pierre-Marie de Rodat
[with the patch attached, this time…] Enhance the DWARF back-end to emit proper descriptions for variable-length records as well as variant parts in records. In order to achieve this, generate DWARF expressions (location descriptions in dwarf2out's parlance) for size and data member location

Re: [PATCH 1/8] Add a flag to control the balance between GNAT encodings, and std. DWARF

2015-07-16 Thread Andreas Schwab
Pierre-Marie de Rodat dero...@adacore.com writes: +fgnat-encodings= IMHO the option name should include dwarf. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 And now for something completely different.

[PATCH][16/n] Remove GENERIC stmt combining from SCCVN

2015-07-16 Thread Richard Biener
Now that both the VRP and DOM fixes are in the following patch moves widened and sign-changed comparison simplification to match.pd. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-07-16 Richard Biener rguent...@suse.de * fold-const.c

Re: [PR64164] drop copyrename, integrate into expand

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 9:29 AM, Alexandre Oliva aol...@redhat.com wrote: On Jun 10, 2015, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jun 10, 2015 at 2:24 AM, Alexandre Oliva aol...@redhat.com wrote: This caused the sparc regression reported by Eric in

[PATCH] Fix PR66894

2015-07-16 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2015-07-16 Richard Biener rguent...@suse.de PR tree-optimization/66894 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption about deriving NE_EXPR from truncated values. *

[committed] Remove write-only next_index_number from genoutput.c

2015-07-16 Thread Richard Sandiford
genoutput.c:next_index_number is only used to set a structure field that itself is never used. I think this dates from before the recent fad for including filenames and line numbers in error messages. Series bootstrapped regression-tested on x86_64-linux-gnu. I built gcc before and after the

[PATCH] Fix PR ipa/66896

2015-07-16 Thread Martin Liška
Hello. Following patch fixes $subject, which can be spotted on gcc-5-branch, while trunk looks fine (even though it can potentially suffer from the same issues). Patch can both survive regression tests on trunk and gcc-5-branch on x86_64-linux-pc. Ready for both branches? Thanks, Martin From

[committed] Use a structure to record file positions in .md files*

2015-07-16 Thread Richard Sandiford
Add a file_location type for recoding the position in an .md file. Also add error_at and message_at functions for reporting diagnostics against a particular position. read_skip_construct is local to read-md.c so I removed its prototype rather than update it. Series bootstrapped

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Tom de Vries
On 16/07/15 12:23, Richard Biener wrote: On Thu, Jul 16, 2015 at 12:19 PM, Thomas Schwinge tho...@codesourcery.com wrote: Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries tom_devr...@mentor.com wrote:

Re: Constify host-side offload data`

2015-07-16 Thread Ilya Verbin
On Wed, Jul 15, 2015 at 20:56:50 -0400, Nathan Sidwell wrote: Index: gcc/config/nvptx/mkoffload.c === - fprintf (out, extern void *__OFFLOAD_TABLE__[];\n\n); + fprintf (out, extern const void *conat __OFFLOAD_TABLE__[];\n\n);

[committed] Remove unnecessary null checks from genattrtab.c

2015-07-16 Thread Richard Sandiford
check_attr_value and make_canonical have some checks for null attr arguments, but all callers would segfault if the argument really were null. This is preparing for some improvements to the source location tracking in gen*. Series bBootstrapped regression-tested on x86_64-linux-gnu. I built

[committed] Use file_location to record positions in genattrtab.c

2015-07-16 Thread Richard Sandiford
This includes replacing calls to fatal() (without a file location) with calls to a new function fatal_at, which should improve error reporting. Series bootstrapped regression-tested on x86_64-linux-gnu. I built gcc before and after the series for one target per CPU directory and checked that

[committed] Use file_location to record positions in genoutput.c

2015-07-16 Thread Richard Sandiford
Use file_location to replace separate filename and line number in genoutput.c. Series bootstrapped regression-tested on x86_64-linux-gnu. I built gcc before and after the series for one target per CPU directory and checked that the output was the same (except for some filename fixes later in

[SPARC] Use adjust_address instead of adjust_address_nv in sparc.md

2015-07-16 Thread Eric Botcazou
3 patterns related to setjmp/longjmp/non-local gotos call adjust_address_nv and this can break (generate unrecognizable insns) when things get serious, for example if you configure with --enable-sjlj-exceptions. Tested on SPARC/Solaris, applied on the mainline. 2015-07-16 Eric Botcazou

[committed] Use file_location in genpreds.c and compute_test_codes

2015-07-16 Thread Richard Sandiford
Make genpreds.c use a file_location rather than a plain lineno. This means that it will cope with changes in filename, e.g. when reporting contradictions between two define_constraints. Series bootstrapped regression-tested on x86_64-linux-gnu. I built gcc before and after the series for one

[PATCH] libgcc: fix build with older make

2015-07-16 Thread Jan Beulich
Make up to 3.80 (documented as minimal permitted version) doesn't support else if 2015-07-16 Jan Beulich jbeul...@suse.com * config/t-softfp: Split up else ifneq. --- a/libgcc/config/t-softfp +++ b/libgcc/config/t-softfp @@ -103,7 +103,8 @@ ifeq ($(enable_shared),yes) fi

Re: [PATCH][4/n] Remove GENERIC stmt combining from SCCVN

2015-07-16 Thread Andrew MacLeod
On 07/16/2015 03:27 AM, Richard Biener wrote: On Wed, 15 Jul 2015, Andrew MacLeod wrote: admittedly neither situation is very common I suspect, but it does seem like a hidden gotchya waiting to happen. I guess we either want to checking-assert that we never hit that special marker or handle

Re: Constify host-side offload data`

2015-07-16 Thread Nathan Sidwell
On 07/16/15 07:41, Ilya Verbin wrote: On Wed, Jul 15, 2015 at 20:56:50 -0400, Nathan Sidwell wrote: Index: gcc/config/nvptx/mkoffload.c === - fprintf (out, extern void *__OFFLOAD_TABLE__[];\n\n); + fprintf (out, extern const void

[committed] Avoid some calls to fatal() in genattrtab.c

2015-07-16 Thread Richard Sandiford
Another patch to make more use of fatal_at (which passes a file location) rather than fatal (which gives no indication where the error was). Series bootstrapped regression-tested on x86_64-linux-gnu. I built gcc before and after the series for one target per CPU directory and checked that the

Re: [PATCH 2/6] Introduce new edge_summary class and replace ipa_edge_args_sum.

2015-07-16 Thread Martin Liška
On 07/10/2015 03:31 PM, Martin Jambor wrote: Hi, thanks for working on this and sorry for a tad late review: On Thu, Jul 09, 2015 at 11:13:52AM +0200, Martin Liska wrote: gcc/ChangeLog: 2015-07-03 Martin Liska mli...@suse.cz * cgraph.c (symbol_table::create_edge): Introduce

[fr30] Fix indirect_jump pattern

2015-07-16 Thread Richard Sandiford
The pattern was accepting a nonimediate_operand, using the C condition to weed out certain types of memory, but was then using an r constraint to force a register. This patch makes the predicate match the constraint and removes the C condition. Tested by building fr30-elf and using: int foo

[PATCH, MIPS] I6400 scheduling

2015-07-16 Thread Robert Suchanek
Hi, This patch adds a pipeline description for the I6400 processor with -mips32r6 and -mips64r6 defaulted to this description. Regtested with mips-img-linux-gnu. mips-tables.opt will be regenerated before committing depending on which patch from the series goes in first. Ok to apply? Regards,

Re: [Fortran, Patch] Passing function pointer to co_reduce

2015-07-16 Thread Damian Rouson
On Jul 15, 2015, at 8:58 AM, Mikael Morin mikael.mo...@sfr.fr wrote: The patch itself looks good to me. A ChangeLog entry should be provided with it. The test is missing the usual dejagnu pattern matching directives to check the generated code. Do you have commit rights? Hi Mikael,

Re: [PATCH] Add 'switch' statement to match.pd language

2015-07-16 Thread Michael Matz
Hi, On Thu, 16 Jul 2015, Richard Biener wrote: Similar, if the condition is an atom you should be able to leave the parens away: (switch cond (minus @0 @1) ) (given a predicate 'cond' defined appropriately). Yes. Though techincally the condition cannot be an atom

Re: [PATCH 4/6] Port ipa-cp to use cgraph_edge summary.

2015-07-16 Thread Martin Liška
On 07/10/2015 04:18 PM, Martin Jambor wrote: Hi, I know the patch has been approved by Jeff, but please do not commit it before considering the following: On Thu, Jul 09, 2015 at 11:13:53AM +0200, Martin Liska wrote: gcc/ChangeLog: 2015-07-03 Martin Liska mli...@suse.cz *

Re: [PATCH 6/6] Migrate ipa-pure-const to function_summary.

2015-07-16 Thread Martin Liška
On 07/09/2015 10:47 PM, Martin Liška wrote: On 07/09/2015 07:44 PM, Jeff Law wrote: On 07/09/2015 03:13 AM, mliska wrote: gcc/ChangeLog: 2015-07-03 Martin Liska mli...@suse.cz * ipa-pure-const.c (struct funct_state_d): New. (funct_state_d::default_p): Likewise.

[PATCH, MIPS] Add -march=interaptiv

2015-07-16 Thread Robert Suchanek
Hi, As in the title, the attached patch adds -march=interaptiv defined to 24kf2_1, mapped to -mips32r2 and -mdsp. OK to apply? Regards, Robert gcc/ * config/mips/mips-cpus.def (interaptiv): Define. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.h

Re: [PATCH 5/6] Port IPA reference to function_summary infrastructure.

2015-07-16 Thread Martin Liška
On 07/10/2015 03:30 PM, Martin Jambor wrote: Hi, I've spotted a likely typo: On Thu, Jul 09, 2015 at 11:13:53AM +0200, Martin Liska wrote: gcc/ChangeLog: 2015-07-03 Martin Liska mli...@suse.cz * ipa-reference.c (ipa_ref_opt_summary_t): New class.

[PATCH, MIPS] Scheduling for M51xx core family

2015-07-16 Thread Robert Suchanek
Hi, Another patch with a pipeline description but for M51xx cores with two new options introduced: -march={m5100,m5101}. The M5101 is essentially the same as M5100 but mapped to -msoft-float. Ok to apply? Regards, Robert 2015-07-16 Prachi Godbole prachi.godb...@imgtec.com gcc/ *

Re: [gomp4.1] C++ iterators with #omp ordered depend(sink:)

2015-07-16 Thread Aldy Hernandez
On 07/16/2015 12:06 AM, Jakub Jelinek wrote: Hi! CCing Jason on a tsubst issue below. On Wed, Jul 15, 2015 at 06:05:06PM -0700, Aldy Hernandez wrote: As I said on IRC, this looks ugly, but I can see why you wouldn't want the extra word on all loop variants. I've implemented it as requested.

[committed] Rework read_md_rtx interface

2015-07-16 Thread Richard Sandiford
This patch gets read_md_rtx to return a structure that describes the rtx rather than separate fields. This includes the location of the start of the rtx as a file_location. A follow-on patch will use this to remove define_split and define_peephole2 from the insn_code numbering. This removes the

Re: [PATCH] Fix PR ipa/66896

2015-07-16 Thread Richard Biener
On Thu, Jul 16, 2015 at 3:39 PM, Martin Liška mli...@suse.cz wrote: Hello. Following patch fixes $subject, which can be spotted on gcc-5-branch, while trunk looks fine (even though it can potentially suffer from the same issues). Patch can both survive regression tests on trunk and

Re: [PATCH, ARM] stop changing signedness in PROMOTE_MODE

2015-07-16 Thread Richard Earnshaw
On 16/07/15 16:00, Michael Matz wrote: Hi, On Thu, 16 Jul 2015, Richard Earnshaw wrote: Now that we do have the problem, we can't fix it without an ARM port ABI change, which is undesirable, so we may have to fix it with a MI change. What's the ABI implication of fixing the

Re: [gomp4.1] C++ iterators with #omp ordered depend(sink:)

2015-07-16 Thread Jakub Jelinek
On Thu, Jul 16, 2015 at 07:57:56AM -0700, Aldy Hernandez wrote: @@ -13828,6 +13828,14 @@ tsubst_omp_for_iterator (tree t, int i, tree declv, tree initv, init = TREE_VEC_ELT (OMP_FOR_INIT (t), i); gcc_assert (TREE_CODE (init) == MODIFY_EXPR); + + if (orig_declv OMP_FOR_ORIG_DECLS

Re: [Bug fortran/52846] [F2008] Support submodules - part 2/3 - redux

2015-07-16 Thread Paul Richard Thomas
Dear Reinhold, dear all, Please find attached a new version of the patch that fixes the inconsistency with the standard, pointed out by Reinhold. It is weird but a read the appropriate part of the standard several times and simply did not pick up the critical information :-) Note that the

[PATCH][AArch64][4/14] Create TARGET_FIX_ERR_A53_835769 and use that instead of aarch64_fix_a53_err835769

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch transforms the Cortex-A53 erratum 835769 workaround checks into a macro. This way we don't have to override aarch64_fix_a53_err835769 in the default case and this allows us to keep track of when the user doesn't specify this option, which may come in handy later on when we

[PATCH][AArch64][5/14] Make flag_omit_leaf_frame_pointer intialize to 2. Define and use TARGET_OMIT_LEAF_FRAME_POINTER

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch wraps aarch64_frame_pointer_required into a TARGET_OMIT_LEAF_FRAME_POINTER macro and initializes aarch64_frame_pointer_required to 2 instead of 1, allowing us to detect from aarch64_frame_pointer_required whether the user explicitly specified -momit-leaf-frame-pointer or

[PATCH][AArch64][2/14] Refactor arches handling, add arch enum identifier

2015-07-16 Thread Kyrill Tkachov
Hi all, In this second patch I want to get to the point where I can get an enum that I can use to index all_architectures to get the current architecture being used, similar to what we do in patch 1/N. The closest thing to what I want in aarch64-arches.def is the 3rd field which specifies

[PATCH][AArch64][14/14] Reuse target_option_current_node when passing pragma string to target attribute

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch improves compilation times for code using the arm_neon.h intrinsics. The problem there is that since we now wrap all the intrinsics in arm_neon.h inside a pragma, the midend will apply the pragma string onto every single intrinsic as an attribute, calling the target

[PATCH][doc][13/14] Document AArch64 target attributes and pragmas

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch adds the documentation for the AArch64 target attributes and pragmas. Ok for trunk? Thanks, Kyrill 2015-07-16 Kyrylo Tkachov kyrylo.tkac...@arm.com * doc/extend.texi (AArch64 Function Attributes): New node. (AArch64 Pragmas): Likewise. commit

[PATCH][ARM][testsuite][committed] Do not override -mcpu in no-volatile-in-it.c

2015-07-16 Thread Kyrill Tkachov
Hi all, This scan-assembler test was failing for me when testing with an explicit /-march=armv7-a variant because it clashed with the -mcpu=cortex-m7 and overrode it. This patch skips the test if the user forces an incompatible -march or -mcpu option. The test now appears as UNSUPPORTED in

Re: [PATCH][AArch64][4/14] Create TARGET_FIX_ERR_A53_835769 and use that instead of aarch64_fix_a53_err835769

2015-07-16 Thread Kyrill Tkachov
Sorry, had sent out the wrong version. This is the right patch. Thanks, Kyrill On 16/07/15 16:20, Kyrill Tkachov wrote: Hi all, This patch transforms the Cortex-A53 erratum 835769 workaround checks into a macro. This way we don't have to override aarch64_fix_a53_err835769 in the default case

Re: [PATCH, ARM] stop changing signedness in PROMOTE_MODE

2015-07-16 Thread Michael Matz
Hi, On Thu, 16 Jul 2015, Richard Earnshaw wrote: Now that we do have the problem, we can't fix it without an ARM port ABI change, which is undesirable, so we may have to fix it with a MI change. What's the ABI implication of fixing the inconsistency? I think that's the wrong

[PATCH][AArch64][10/14] Implement target pragmas

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch implements target pragmas for aarch64. The pragmas accepted are the same as for target attributes (as required). In addition pragmas will need to redefine the target-specific preprocessor macros if appropriate. A new file: aarch64-c.c is added and the code from

[PATCH][AArch64][12/14] Target attributes and target pragmas tests

2015-07-16 Thread Kyrill Tkachov
Hi all, These are the tests for target attributes and pragmas. I've tried to test for the inlining rules, some of the possible errors and the preprocessor macros changed from target pragmas. Ok for trunk? Thanks, Kyrill 2015-07-16 Kyrylo Tkachov kyrylo.tkac...@arm.com *

[PATCH][AArch64][11/14] Re-layout SIMD builtin types on builtin expansion

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch fixes an ICE that I encountered while testing the series. The testcase in the patch ICEs during builtin expansion because the testcase is compiled with +nofp which means the builtin SIMD types are laid out according to the nofp rules, but later when a function tagged with

[PATCH][AArch64][7/14] Implement TARGET_SET_CURRENT_FUNCTION

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch implements TARGET_SET_CURRENT_FUNCTION and defines SWITCHABLE_TARGET. With this patch in the series, we should be far enough to get LTO option switching to work properly. The implementation if TARGET_SET_CURRENT_FUNCTION is pretty much a direct copy from the rs6000 backend,

[PATCH][AArch64][9/14] Implement TARGET_CAN_INLINE_P

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch implements the target-specific inlining rules. The basic philosophy is that we want to definitely reject inlining if the callee's architecture is not a subset, feature-wise, of the caller's. Beyond that, we want to allow inlining if the callee is always_inline. If it's not,

[PATCH][AArch64][8/14] Implement TARGET_OPTION_VALID_ATTRIBUTE_P

2015-07-16 Thread Kyrill Tkachov
Hi all, This patch implements target attribute support via the TARGET_OPTION_VALID_ATTRIBUTE_P hook. The aarch64_handle_option function in common/config/aarch64/aarch64-common.c is exported to the backend and beefed up a bit. The target attributes supported by this patch reflect the

One more patch to fix PR66626

2015-07-16 Thread Vladimir Makarov
The following patch fixes PR66626 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66626 The previous patch solved only one problem (the 2nd test case in the PR). The following patch solves the all test cases. The patch was tested and bootstrapped on x86/x86-64. Committed as rev.

[gomp4] Remove device-specific filtering during parsing for OpenACC

2015-07-16 Thread Julian Brown
Hi, This patch removes the device-specific filtering (for NVidia PTX) from the parsing stages of the host compiler (for the device_type clause -- separately for C, C++ and Fortran) in favour of fully parsing the device_type clauses, but not actually implementing anything for them (device_type

[PATCH][AArch64][0/14] Implement SWITCHABLE_TARGET, target attribute and pragma support

2015-07-16 Thread Kyrill Tkachov
Hi all, This series implements the hooks required to enable SWITCHABLE_TARGET for the aarch64 port. This series allows the aarch64 compiler to sanely handle LTO compilation of files compiled with different target-specific options. The first 5 patches refactor the option handling machinery and

[PATCH][AArch64][1/14] Add ident field to struct processor

2015-07-16 Thread Kyrill Tkachov
Hi all, This first patch adds a field to the processor structure that uniquely identifies that processor. Note that the current 'core' field is actually just the core for which to schedule the instructions. With this patch we get the nice property that we can reference a processor struct by

[PATCH][AArch64][3/14] Refactor option override code

2015-07-16 Thread Kyrill Tkachov
Hi all, This one is more meaty than the previous ones. It buffs up the parsing functions for the mcpu, march, mtune options, decouples them and makes them return an enum describing the errors that may occur. This will allow us to use these functions in other contexts beyond

[PATCH][AArch64][6/14] Implement TARGET_OPTION_SAVE/TARGET_OPTION_RESTORE

2015-07-16 Thread Kyrill Tkachov
Hi all, This is one of the main patches in the series. The backend compilation state can be described by the options in aarch64.opt marked as Save. This causes the options-save.c machinery to save and restore them when asked them and the TARGET_OPTION_SAVE and TARGET_OPTION_RESTORE should

[PATCH][combine][1/2] Try to simplify before substituting

2015-07-16 Thread Kyrill Tkachov
Hi all, This is an attempt to solve the problem in the thread starting at https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01010.html in a generic way after some pointers from Segher and Andrew. The problem I got was that combine_simplify_rtx was trying to do some special handling of unary

[PATCH][simplify-rtx][2/2] Simplify - (y ? -x : x) - (!y ? -x : x

2015-07-16 Thread Kyrill Tkachov
Hi all, In this second patch I add the transformation mentioned in the subject to simplify-rtx.c. In combination with the first patch to combine, combine_simplify_rtx now picks it up in the testcase and does the right thing by not emitting an extra negate after the conditional negate

  1   2   >