Re: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread H.J. Lu
On Mon, Oct 23, 2017 at 3:19 PM, Tsimbalist, Igor V wrote: > You are right. The functions in the tests should be changed to static scope > to trigger the check in the patch. After that I expect there should be no > endbr generated at all for the static functions and

Re: [Patch] Edit contrib/ files to download gfortran prerequisites

2017-10-23 Thread Damian Rouson
  On October 21, 2017 at 11:17:49 AM, Bernhard Reutner-Fischer (rep.dot@gmail.com(mailto:rep.dot@gmail.com)) wrote: > > + die "Invoking wget and curl in the 'download_prerequisites' script failed." > > I suggest "Neither wget nor curl found, cannot download tarballs.” Thanks for

Re: Make more use of df_read_modify_subreg_p

2017-10-23 Thread Jeff Law
On 10/13/2017 10:08 AM, Richard Sandiford wrote: > Jeff Law writes: >> On 08/24/2017 12:25 PM, Richard Sandiford wrote: >>> Segher Boessenkool writes: On Wed, Aug 23, 2017 at 11:49:03AM +0100, Richard Sandiford wrote: > This patch uses

[RFA][PATCH] Convert sprintf warning code to use a dominator walk

2017-10-23 Thread Jeff Law
Martin, I'd like your thoughts on this patch. One of the things I'm working on is changes that would allow passes that use dominator walks to trivially perform context sensitive range analysis as a part of their dominator walk. As I outlined earlier this would allow us to easily fix the false

Re: [PATCH, rs6000] Add Power 9 support for vec_first builtins

2017-10-23 Thread Segher Boessenkool
Hi Carl, On Thu, Oct 19, 2017 at 04:31:13PM -0700, Carl Love wrote: > * config/rs6000/rs6000-builtin.def (VFIRSTMATCHINDEX, > VFIRSTMATCHOREOSINDEX, VFIRSTMISMATCHINDEX, VFIRSTMISMATCHOREOSINDEX): > Add BU_P9V_AV_2 expansions for the builtins. Those names are a bit unwieldy ;-)

Re: [PATCH] Fix PR82396: qsort comparator non-negative on sorted output

2017-10-23 Thread Jeff Law
On 10/16/2017 04:56 AM, Wilco Dijkstra wrote: > This patch cleans up autopref scheduling. > > The code is greatly simplified.  Sort accesses on the offset first, and > only if the offsets are the same fall back to other comparisons in > rank_for_schedule.  This doesn't at all restore the original

Re: [PATCH] Add INCLUDE_UNIQUE_PTR and use it (PR bootstrap/82610)

2017-10-23 Thread Gerald Pfeifer
On Mon, 23 Oct 2017, David Malcolm wrote: > Here's a different patch, which instead moves the include of our > "unique-ptr.h" to system.h (conditionalized on INCLUDE_UNIQUE_PTR), > after the decl of "free" and before the redefinition of "abort". Thanks for your persistance in tackling this,

Re: [PATCH] Add INCLUDE_UNIQUE_PTR and use it (PR bootstrap/82610)

2017-10-23 Thread Richard Biener
On October 23, 2017 8:15:20 PM GMT+02:00, David Malcolm wrote: >On Mon, 2017-10-23 at 16:40 +0100, Pedro Alves wrote: >> On 10/23/2017 04:17 PM, Jonathan Wakely wrote: >> > On 23/10/17 17:07 +0200, Michael Matz wrote: >> > > Hi, >> > > >> > > On Mon, 23 Oct 2017, Richard

Re: [PATCH] Add INCLUDE_UNIQUE_PTR and use it (PR bootstrap/82610)

2017-10-23 Thread David Malcolm
On Mon, 2017-10-23 at 21:43 +0200, Gerald Pfeifer wrote: > On Mon, 23 Oct 2017, David Malcolm wrote: > > Here's a different patch, which instead moves the include of our > > "unique-ptr.h" to system.h (conditionalized on INCLUDE_UNIQUE_PTR), > > after the decl of "free" and before the redefinition

[C++ Patch] PR 80449 ("[7/8 Regression] ICE reporting failed partial class template specialization class template argument deduction")

2017-10-23 Thread Paolo Carlini
Hi, this issue is by and large a duplicate of C++/79790, which I already fixed. There is a minor remaining nit: for the testcase, after the correct:     error: cannot deduce template arguments of ‘C’, as it has no viable deduction guides we also emit the meaningless:     error: too many

Re: [PATCH, rs6000] 1/2 Add x86 SSE2 <emmintrin,h> intrinsics to GCC PPC64LE target

2017-10-23 Thread Segher Boessenkool
Hi! On Tue, Oct 17, 2017 at 01:24:45PM -0500, Steven Munroe wrote: > Some inline assembler is required. There a several cases where we need > to generate Data Cache Block instruction. There are no existing builtin > for flush and touch for store transient. Would builtins for those help? Would

Re: [C++ Patch] PR 80449 ("[7/8 Regression] ICE reporting failed partial class template specialization class template argument deduction")

2017-10-23 Thread Jason Merrill
OK. On Mon, Oct 23, 2017 at 4:36 PM, Paolo Carlini wrote: > Hi, > > this issue is by and large a duplicate of C++/79790, which I already fixed. > There is a minor remaining nit: for the testcase, after the correct: > > error: cannot deduce template arguments of ‘C’,

Re: Make tests failing with version namespace UNSUPPORTED

2017-10-23 Thread François Dumont
Hi     I completed execution of all tests and added the dg-require-normal-namespace to a few more files.     I also eventually prefer to keep dg-require-normal-mode and dg-require-normal-namespace seperated, the first for alternative modes, the latter for versioned namespace.     With

RE: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread Tsimbalist, Igor V
The change will skip a whole function from endbr processing by rest_of_insert_endbranch, which inserts endbr not only at the beginning of the function but inside the function's body also. For example, tests with setjmp should fail. I would suggest to insert the check in rest_of_insert_endbranch

RE: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread Tsimbalist, Igor V
Existing tests cet-label.c cet-switch-2.c cet-sjlj-1.c cet-sjlj-3.c should catch this. Igor > -Original Message- > From: H.J. Lu [mailto:hjl.to...@gmail.com] > Sent: Monday, October 23, 2017 11:50 PM > To: Tsimbalist, Igor V > Cc: Uros Bizjak

Re: [Patch] Edit contrib/ files to download gfortran prerequisites

2017-10-23 Thread Damian Rouson
On October 23, 2017 at 3:54:22 AM, Richard Biener (richard.guent...@gmail.com) wrote: On Sat, Oct 21, 2017 at 2:26 AM, Damian Rouson  wrote:  >  > Hi Richard,  >  > Attached is a revised patch that makes the downloading of Fortran > prerequisites optional via a

RE: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread Tsimbalist, Igor V
You are right. The functions in the tests should be changed to static scope to trigger the check in the patch. After that I expect there should be no endbr generated at all for the static functions and that's is wrong. Igor > -Original Message- > From: H.J. Lu

Re: Make tests failing with version namespace UNSUPPORTED

2017-10-23 Thread Jonathan Wakely
On 23/10/17 22:07 +0200, François Dumont wrote: Hi     I completed execution of all tests and added the dg-require-normal-namespace to a few more files.     I also eventually prefer to keep dg-require-normal-mode and dg-require-normal-namespace seperated, the first for alternative modes,

Re: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread H.J. Lu
On Mon, Oct 23, 2017 at 2:44 PM, Tsimbalist, Igor V wrote: > The change will skip a whole function from endbr processing by > rest_of_insert_endbranch, > which inserts endbr not only at the beginning of the function but inside the > function's > body also. For

[PATCH] Fix #line __LINE__ handling and added conformance tests.

2017-10-23 Thread Max Woodbury
>From 62ab7123e73563b43f1833842a419aa66eca7ce2 Mon Sep 17 00:00:00 2001 From: Max T Woodbury Date: Mon, 23 Oct 2017 16:58:49 -0400 Copyright 2017 Max TenEyck Woodbury, Durham North Carolina all rights assigned to the Free Software Foundation, Inc., 23 Oct 2017 The

Re: [PATCH] i386: Don't generate ENDBR if function is only called directly

2017-10-23 Thread H.J. Lu
On Mon, Oct 23, 2017 at 3:01 PM, Tsimbalist, Igor V wrote: > Existing tests cet-label.c cet-switch-2.c cet-sjlj-1.c cet-sjlj-3.c should > catch this. There are no regressions with my patch. Did I miss something? > Igor > > >> -Original Message- >> From:

Re: [PATCH] Fix wrong-debug with i?86/x86_64 _GLOBAL_OFFSET_TABLE_ (PR debug/82630)

2017-10-23 Thread Richard Biener
On Mon, 23 Oct 2017, Jakub Jelinek wrote: > Hi! > > If all fails, when we can't prove that the PIC register is in some hard > register, we delegitimize something + foo@GOTOFF as (something - > _GLOBAL_OFFSET_TABLE_) + foo. That is reasonable for the middle-end to > understand what is going on

Re: [PATCH] Fix wrong-debug with i?86/x86_64 _GLOBAL_OFFSET_TABLE_ (PR debug/82630)

2017-10-23 Thread Jakub Jelinek
On Mon, Oct 23, 2017 at 09:48:50AM +0200, Richard Biener wrote: > > --- gcc/targhooks.c.jj 2017-10-13 19:02:08.0 +0200 > > +++ gcc/targhooks.c 2017-10-20 14:26:07.945464025 +0200 > > @@ -177,6 +177,14 @@ default_legitimize_address_displacement > >return false; > > } > > > >

Re: [PATCH, RFC] Add a pass counter for "are we there yet" purposes

2017-10-23 Thread Martin Jambor
Hi, On Mon, Oct 16, 2017 at 06:15:06PM +0200, Richard Biener wrote: > I guess that might help. I have the feeling that querying for 'did > pass X run' is wrong conceptually. The reason why I liked the idea is that I could unify SRA and early-SRA passes and their behavior would only differ

Re: [PATCH, i386]: Fix PR 82628, wrong code at -Os on x86_64-linux-gnu in the 32-bit mode

2017-10-23 Thread Uros Bizjak
On Mon, Oct 23, 2017 at 12:09 PM, Jakub Jelinek wrote: > On Sun, Oct 22, 2017 at 08:04:28PM +0200, Uros Bizjak wrote: >> Hello! >> >> In PR 82628 Jakub figured out that insn patterns that consume carry >> flag were not 100% correct. Due to this issue, combine is able to >>

Re: [Patch] Edit contrib/ files to download gfortran prerequisites

2017-10-23 Thread Richard Biener
On Sat, Oct 21, 2017 at 2:26 AM, Damian Rouson wrote: > > Hi Richard, > > Attached is a revised patch that makes the downloading of Fortran > prerequisites optional via a new --no-fortran flag that can be passed to > contrib/download_prerequisites as requested in

Re: [patch 2/5] add hook to track when splitting is complete

2017-10-23 Thread Richard Biener
On Sat, Oct 21, 2017 at 11:17 PM, Sandra Loosemore wrote: > On 10/20/2017 02:24 AM, Richard Biener wrote: >> >> On Fri, Oct 20, 2017 at 4:09 AM, Sandra Loosemore >> wrote: >>> >>> This patch adds a function to indicate whether the split1 pass has

Re: [patch] Fix PR middle-end/82569

2017-10-23 Thread Richard Biener
On Mon, Oct 23, 2017 at 12:57 PM, Eric Botcazou wrote: > Hi, > > this is the regression present on the mainline for Power6 and introduced by my > patch fiddling with SUBREG_PROMOTED_VAR_P in expand_expr_real_1. It turns out > that the ouf-of-ssa pass implicitly assumes

[00/nn] Patches preparing for runtime offsets and sizes

2017-10-23 Thread Richard Sandiford
This series of patches adds or does things are needed for SVE runtime offsets and sizes, but aren't directly related to offsets and sizes themselves. It's a prerequisite to the main series that I'll post later today. Tested by compiling the testsuite before and after the series on:

[PATCH] Revert fix for PR81181

2017-10-23 Thread Richard Biener
The fix was subsumed by that for PR82129. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-10-23 Richard Biener PR tree-optimization/82129 Revert 2017-08-01 Richard Biener PR

[05/nn] Add VEC_DUPLICATE_{CST,EXPR} and associated optab

2017-10-23 Thread Richard Sandiford
SVE needs a way of broadcasting a scalar to a variable-length vector. This patch adds VEC_DUPLICATE_CST for when VECTOR_CST would be used for fixed-length vectors and VEC_DUPLICATE_EXPR for when CONSTRUCTOR would be used for fixed-length vectors. VEC_DUPLICATE_EXPR is the tree equivalent of the

[04/nn] Add a VEC_SERIES rtl code

2017-10-23 Thread Richard Sandiford
This patch adds an rtl representation of a vector linear series of the form: a[I] = BASE + I * STEP Like vec_duplicate; - the new rtx can be used for both constant and non-constant vectors - when used for constant vectors it is wrapped in a (const ...) - the constant form is only used for

[03/nn] Allow vector CONSTs

2017-10-23 Thread Richard Sandiford
This patch allows (const ...) wrappers to be used for rtx vector constants, as an alternative to const_vector. This is useful for SVE, where the number of elements isn't known until runtime. It could also be useful in future for fixed-length vectors, to reduce the amount of memory needed to

[08/nn] Add a fixed_size_mode class

2017-10-23 Thread Richard Sandiford
This patch adds a fixed_size_mode machine_mode wrapper for modes that are known to have a fixed size. That applies to all current modes, but future patches will add support for variable-sized modes. The use of this class should be pretty restricted. One important use case is to hold the mode of

[07/nn] Add unique CONSTs

2017-10-23 Thread Richard Sandiford
This patch adds a way of treating certain kinds of CONST as unique, so that pointer equality is equivalent to value equality. For now it is restricted to VEC_DUPLICATE and VEC_SERIES, although the code to generate them remains in the else arm of an "if (1)" until a later patch. This is needed so

Some PRE TLC

2017-10-23 Thread Richard Biener
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2017-10-23 Richard Biener * tree-ssa-pre.c (bitmap_remove_from_set): Rename to... (bitmap_remove_expr_from_set): ... this. All callers call this for non-constant values.

[12/nn] Add an is_narrower_int_mode helper function

2017-10-23 Thread Richard Sandiford
This patch adds a function for testing whether an arbitrary mode X is an integer mode that is narrower than integer mode Y. This is useful for code like expand_float and expand_fix that could in principle handle vectors as well as scalars. 2017-10-23 Richard Sandiford

[13/nn] More is_a

2017-10-23 Thread Richard Sandiford
alias.c:find_base_term and find_base_value checked: if (GET_MODE_SIZE (GET_MODE (src)) < GET_MODE_SIZE (Pmode)) but (a) comparing the precision seems more correct, since it's possible for modes to have the same memory size as Pmode but fewer bits and (b) the functions are called on

[16/nn] Factor out the mode handling in lower-subreg.c

2017-10-23 Thread Richard Sandiford
This patch adds a helper routine (interesting_mode_p) to lower-subreg.c, to make the decision about whether a mode can be split and, if so, calculate the number of bytes and words in the mode. At present this function always returns true; a later patch will add cases in which it can return false.

Re: [PATCH, i386]: Fix PR 82628, wrong code at -Os on x86_64-linux-gnu in the 32-bit mode

2017-10-23 Thread Uros Bizjak
On Mon, Oct 23, 2017 at 1:07 PM, Jakub Jelinek wrote: > On Mon, Oct 23, 2017 at 12:27:15PM +0200, Uros Bizjak wrote: >> On Mon, Oct 23, 2017 at 12:09 PM, Jakub Jelinek wrote: >> > On Sun, Oct 22, 2017 at 08:04:28PM +0200, Uros Bizjak wrote: >> >> Hello! >> >>

[17/nn] Turn var-tracking.c:INT_MEM_OFFSET into a function

2017-10-23 Thread Richard Sandiford
This avoids the double evaluation mentioned in the comments and simplifies the change to make MEM_OFFSET variable. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ *

[21/nn] Minor vn_reference_lookup_3 tweak

2017-10-23 Thread Richard Sandiford
The repeated checks for MEM_REF made this code hard to convert to poly_ints as-is. Hopefully the new structure also makes it clearer at a glance what the two cases are. 2017-10-23 Richard Sandiford Alan Hayward

Re: [PATCH, RFC] Add a pass counter for "are we there yet" purposes

2017-10-23 Thread Jakub Jelinek
On Mon, Oct 23, 2017 at 12:18:58PM +0200, Martin Jambor wrote: > Hi, > > On Mon, Oct 16, 2017 at 06:15:06PM +0200, Richard Biener wrote: > > I guess that might help. I have the feeling that querying for 'did > > pass X run' is wrong conceptually. > > The reason why I liked the idea is that I

Re: [RFC] New pragma exec_charset

2017-10-23 Thread Andreas Krebbel
On 10/19/2017 07:13 PM, Martin Sebor wrote: > On 10/19/2017 09:50 AM, Andreas Krebbel wrote: >> The TPF operating system uses the GCC S/390 backend. They set an >> EBCDIC exec charset for compilation using -fexec-charset. However, >> certain libraries require ASCII strings instead. In order to

[patch] Fix PR middle-end/82569

2017-10-23 Thread Eric Botcazou
Hi, this is the regression present on the mainline for Power6 and introduced by my patch fiddling with SUBREG_PROMOTED_VAR_P in expand_expr_real_1. It turns out that the ouf-of-ssa pass implicitly assumes that promoted RTXes for partitions are fully initialized (because it can generate direct

Re: [PATCH, RFC] Add a pass counter for "are we there yet" purposes

2017-10-23 Thread Richard Biener
On Mon, Oct 23, 2017 at 12:18 PM, Martin Jambor wrote: > Hi, > > On Mon, Oct 16, 2017 at 06:15:06PM +0200, Richard Biener wrote: >> I guess that might help. I have the feeling that querying for 'did >> pass X run' is wrong conceptually. > > The reason why I liked the idea is that

Re: [PATCH, i386]: Fix PR 82628, wrong code at -Os on x86_64-linux-gnu in the 32-bit mode

2017-10-23 Thread Jakub Jelinek
On Mon, Oct 23, 2017 at 12:27:15PM +0200, Uros Bizjak wrote: > On Mon, Oct 23, 2017 at 12:09 PM, Jakub Jelinek wrote: > > On Sun, Oct 22, 2017 at 08:04:28PM +0200, Uros Bizjak wrote: > >> Hello! > >> > >> In PR 82628 Jakub figured out that insn patterns that consume carry > >>

[PATCH] PR libstdc++/82644 document IS 29124 support

2017-10-23 Thread Jonathan Wakely
Also fix declarations of special functions in C++17, to import them into the global namespace in , and to prevent defining the non-standard hypergeometric functions in strict mode. PR libstdc++/82644 * doc/xml/manual/intro.xml: Include new section. *

[02/nn] Add more vec_duplicate simplifications

2017-10-23 Thread Richard Sandiford
This patch adds a vec_duplicate_p helper that tests for constant or non-constant vector duplicates. Together with the existing const_vec_duplicate_p, this complements the gen_vec_duplicate and gen_const_vec_duplicate added by a previous patch. The patch uses the new routines to add more rtx

[01/nn] Add gen_(const_)vec_duplicate helpers

2017-10-23 Thread Richard Sandiford
This patch adds helper functions for generating constant and non-constant vector duplicates. These routines help with SVE because it is then easier to use: (const:M (vec_duplicate:M X)) for a broadcast of X, even if the number of elements in M isn't known at compile time. It also makes it

[06/nn] Add VEC_SERIES_{CST,EXPR} and associated optab

2017-10-23 Thread Richard Sandiford
Similarly to the VEC_DUPLICATE_{CST,EXPR}, this patch adds two tree code equivalents of the VEC_SERIES rtx code. VEC_SERIES_EXPR is for non-constant inputs and is a normal tcc_binary. VEC_SERIES_CST is a tcc_constant. Like VEC_DUPLICATE_CST, VEC_SERIES_CST is only used for variable-length

[09/nn] Add a fixed_size_mode_pod class

2017-10-23 Thread Richard Sandiford
This patch adds a POD version of fixed_size_mode. The only current use is for storing the __builtin_apply and __builtin_result register modes, which were made fixed_size_modes by the previous patch. 2017-10-23 Richard Sandiford Alan Hayward

[10/nn] Widening optab cleanup

2017-10-23 Thread Richard Sandiford
widening_optab_handler had the comment: /* ??? Why does find_widening_optab_handler_and_mode attempt to widen things that can't be widened? E.g. add_optab... */ if (op > LAST_CONV_OPTAB) return CODE_FOR_nothing; I think it comes from expand_binop using

[11/nn] Add narrower_subreg_mode helper function

2017-10-23 Thread Richard Sandiford
This patch adds a narrowing equivalent of wider_subreg_mode. At present there is only one user. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * rtl.h

[14/nn] Add helpers for shift count modes

2017-10-23 Thread Richard Sandiford
This patch adds a stub helper routine to provide the mode of a scalar shift amount, given the mode of the values being shifted. One long-standing problem has been to decide what this mode should be for arbitrary rtxes (as opposed to those directly tied to a target pattern). Is it the mode of the

[15/nn] Use more specific hash functions in rtlhash.c

2017-10-23 Thread Richard Sandiford
Avoid using add_object when we have more specific routines available. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * rtlhash.c (add_rtx): Use add_hwi for 'w' and

[19/nn] Don't treat zero-sized ranges as overlapping

2017-10-23 Thread Richard Sandiford
Most GCC ranges seem to be represented as an offset and a size (rather than a start and inclusive end or start and exclusive end). The usual test for whether X is in a range is of course: x >= start && x < start + size or: x >= start && x - start < size which means that an empty range of

[20/nn] Make tree-ssa-dse.c:normalize_ref return a bool

2017-10-23 Thread Richard Sandiford
This patch moves the check for an overlapping byte to normalize_ref from its callers, so that it's easier to convert to poly_ints later. It's not really worth it on its own. 2017-10-23 Richard Sandiford gcc/ * tree-ssa-dse.c (normalize_ref): Check

[18/nn] Use (CONST_VECTOR|GET_MODE)_NUNITS in simplify-rtx.c

2017-10-23 Thread Richard Sandiford
This patch avoids some calculations of the form: GET_MODE_SIZE (vector_mode) / GET_MODE_SIZE (element_mode) in simplify-rtx.c. If we're dealing with CONST_VECTORs, it's better to use CONST_VECTOR_NUNITS, since that remains constant even after the SVE patches. In other cases we can get the

[22/nn] Make dse.c use offset/width instead of start/end

2017-10-23 Thread Richard Sandiford
store_info and read_info_type in dse.c represented the ranges as start/end, but a lot of the internal code used offset/width instead. Using offset/width throughout fits better with the poly_int.h range-checking functions. 2017-10-23 Richard Sandiford

Re: [PATCH][GCC][AArch64] Restrict lrint inlining on ILP32.

2017-10-23 Thread Tamar Christina
Ping. Any objections to the patch? From: gcc-patches-ow...@gcc.gnu.org on behalf of Tamar Christina Sent: Monday, October 16, 2017 9:54:23 AM To: gcc-patches@gcc.gnu.org Cc: nd; James Greenhalgh;

[committed] Use SCALAR_INT_TYPE_MODE in loc_list_from_tree_1

2017-10-23 Thread Richard Sandiford
This follows on from similar changes a couple of months ago and is needed when general modes have variable size. Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu. Applied as obvious. Richard 2017-10-23 Richard Sandiford Alan

Re: [RFC] propagate malloc attribute in ipa-pure-const pass

2017-10-23 Thread Prathamesh Kulkarni
On 14 October 2017 at 03:20, Prathamesh Kulkarni wrote: > On 7 October 2017 at 12:35, Prathamesh Kulkarni > wrote: >> On 7 October 2017 at 11:23, Jan Hubicka wrote: On 6 October 2017 at 06:04, Jan Hubicka

[committed] Use scalar_int/float_mode in brig_langhook_type_for_mode

2017-10-23 Thread Richard Sandiford
This follows on from similar changes a couple of months ago and is needed when general modes have variable size. Tested on x86_64-linux-gnu and applied as obvious. Richard 2017-10-23 Richard Sandiford gcc/brig/ * brig-lang.c

[committed] Convert STARTING_FRAME_OFFSET to a hook

2017-10-23 Thread Richard Sandiford
I took the documentation of the FRAME_GROWS_DOWNWARD behaviour from the version that was in most header files, since the one in the manual seemed less clear. The patch deliberately keeps FIRST_PARM_OFFSET(FNDECL) in microblaze_starting_frame_offset; this seems to be a port-local convention and

Zen tuning part 10: ix86_builtin_vectorization_cost fixes

2017-10-23 Thread Jan Hubicka
Hi, this is patch to ix86_builtin_vectorization_cost I have comitted. Compared to earlier version it only removes now unused fields in processor_costs. The patch improves facerec on all tested targets (amdfam10, Buldozer, Zen and core), largest improvement is on Zen by about 25% (for core

[committed] Use scalar_mode in expand_shift_1

2017-10-23 Thread Richard Sandiford
Since this function handles scalar and vector shifts: machine_mode scalar_mode = mode; if (VECTOR_MODE_P (mode)) scalar_mode = GET_MODE_INNER (mode); is equivalent to: scalar_mode = GET_MODE_INNER (mode); Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu.

Re: [PATCH][GCC][ARM][AArch64] Testsuite framework changes and execution tests [Patch (8/8)]

2017-10-23 Thread Tamar Christina
Ping From: Tamar Christina Sent: Friday, October 6, 2017 1:45:18 PM To: Christophe Lyon Cc: gcc-patches@gcc.gnu.org; nd; James Greenhalgh; Richard Earnshaw; Marcus Shawcroft Subject: Re: [PATCH][GCC][ARM][AArch64] Testsuite framework changes and execution

Re: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM and AArch64 [Patch (7/8)]

2017-10-23 Thread Tamar Christina
Ping From: Tamar Christina Sent: Thursday, October 12, 2017 3:00:36 PM To: Richard Earnshaw; James Greenhalgh Cc: gcc-patches@gcc.gnu.org; nd; Marcus Shawcroft Subject: RE: [PATCH][GCC][Testsuite][ARM][AArch64] Enable Dot Product for generic tests for ARM

Re: [PATCH][GCC][testsuite][mid-end][ARM][AARCH64] Fix failing vec align tests.

2017-10-23 Thread Tamar Christina
Ping From: Tamar Christina Sent: Monday, October 16, 2017 11:17 AM To: Christophe Lyon Cc: Rainer Orth; gcc-patches@gcc.gnu.org; nd; James Greenhalgh; Richard Earnshaw; Marcus Shawcroft Subject: Re: [PATCH][GCC][testsuite][mid-end][ARM][AARCH64] Fix

Re: [PATCH][GCC][Testsuite][SPARC][ARM] Fix vect-multitypes-1.c test on SPARC64 and ARMEB.

2017-10-23 Thread Tamar Christina
Ping From: gcc-patches-ow...@gcc.gnu.org on behalf of Tamar Christina Sent: Monday, October 16, 2017 11:16:21 AM To: gcc-patches@gcc.gnu.org Cc: nd; Ramana Radhakrishnan; Richard Earnshaw;

Use SCALAR_TYPE_MODE in vect_create_epilog_for_reduction

2017-10-23 Thread Richard Sandiford
This follows on from similar changes a couple of months ago and is needed when general modes have variable size. Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu. Applied as obvious. Richard 2017-10-23 Richard Sandiford gcc/ *

PING Fwd: [patch] implement generic debug() for vectors and hash sets

2017-10-23 Thread Aldy Hernandez
Forwarded Message Subject: [patch] implement generic debug() for vectors and hash sets Date: Mon, 16 Oct 2017 09:52:51 -0400 From: Aldy Hernandez To: gcc-patches We have a generic mechanism for dumping types from the debugger

Re: [PATCH, i386]: Fix PR 82628, wrong code at -Os on x86_64-linux-gnu in the 32-bit mode

2017-10-23 Thread Jakub Jelinek
On Sun, Oct 22, 2017 at 08:04:28PM +0200, Uros Bizjak wrote: > Hello! > > In PR 82628 Jakub figured out that insn patterns that consume carry > flag were not 100% correct. Due to this issue, combine is able to > simplify various CC_REG propagations that result in invalid code. > > Attached patch

[PATCH] Include from system.h (PR bootstrap/82610)

2017-10-23 Thread David Malcolm
On Sun, 2017-10-22 at 09:28 +0200, Gerald Pfeifer wrote: > On Thu, 19 Oct 2017, David Malcolm wrote: > > > In file included from /scratch/tmp/gerald/gcc-HEAD/gcc/unique- > > > ptr-tests.cc:23: > > > In file included from /scratch/tmp/gerald/gcc- > > > HEAD/gcc/../include/unique-ptr.h:77: > > > In

Re: [PING] [C++ Patch] PR 82307

2017-10-23 Thread Paolo Carlini
Hi, following up to a short off-line exchange with Nathan, I'm sending a reworked patch which - among other things - avoids regressing on the second testcase (cpp0x/enum36.C). Tested x86_64-linux. Thanks, Paolo. /cp 2017-10-23 Mukesh Kapoor

[PATCH] i386: Skip DF_REF_INSN if DF_REF_INSN_INFO is false

2017-10-23 Thread H.J. Lu
We should check DF_REF_INSN_INFO before accessing DF_REF_INSN. OK for trunk? H.J. --- gcc/ PR target/82673 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Skip DF_REF_INSN if DF_REF_INSN_INFO is false. gcc/testsuite/ PR target/82673 *

[PATCH] Implement C++17 Filesystem library

2017-10-23 Thread Jonathan Wakely
Based on Filesystem TS implementation, with the changes applied by: - P0219R1 Relative Paths for Filesystem - P0317R1 Directory Entry Caching for Filesystem - P0492R2 Resolution of C++17 National Body Comments Where appropriate code is shared between the TS and C++17 implementations. *

[Patch][ARM] Add -mbranch-cost option, and update a few tests

2017-10-23 Thread Christophe Lyon
Hi, After Jakub's suggestion in PR82120 and PR81184, the attached patch adds the -mbranch-cost option to the ARM target. My understanding is that it's intended to be used internally for testing and does not require user-facing documentation. I have updated a few tests, validation on aarch64 &

Re: [PATCH] Make -gcolumn-info the default

2017-10-23 Thread Jason Merrill
On Mon, Oct 23, 2017 at 3:33 AM, Jakub Jelinek wrote: > Hi! > > When -gcolumn-info was added back in February, it was too late in the > release cycle to make it the default, but I think now is the good time > to do it for GCC8. > > Bootstrapped/regtested on x86_64-linux and

[PATCH] FIx PR82672

2017-10-23 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-10-23 Richard Biener PR tree-optimization/82672 * graphite-isl-ast-to-gimple.c (graphite_copy_stmts_from_block): Fold the stmt if we propagated into it. *

Re: [PATCH] Include from system.h (PR bootstrap/82610)

2017-10-23 Thread Richard Biener
On Mon, Oct 23, 2017 at 2:58 PM, David Malcolm wrote: > On Sun, 2017-10-22 at 09:28 +0200, Gerald Pfeifer wrote: >> On Thu, 19 Oct 2017, David Malcolm wrote: >> > > In file included from /scratch/tmp/gerald/gcc-HEAD/gcc/unique- >> > > ptr-tests.cc:23: >> > > In file included

Re: [PATCH] Make -gcolumn-info the default

2017-10-23 Thread Pedro Alves
On 10/23/2017 02:46 PM, Jason Merrill wrote: > On Mon, Oct 23, 2017 at 3:33 AM, Jakub Jelinek wrote: >> Hi! >> >> When -gcolumn-info was added back in February, it was too late in the >> release cycle to make it the default, but I think now is the good time >> to do it for GCC8.

Re: [PATCH] Include from system.h (PR bootstrap/82610)

2017-10-23 Thread Pedro Alves
On 10/23/2017 02:51 PM, Richard Biener wrote: > On Mon, Oct 23, 2017 at 2:58 PM, David Malcolm wrote: >> OK for trunk? > > Not entirely happy as unique-ptr.h doesn't use but well. > Actually it does. It's needed in C++11 mode, because that's where std::unique_ptr is

[081/nnn] poly_int: brig vector elements

2017-10-23 Thread Richard Sandiford
This patch adds a brig-specific wrapper around TYPE_VECTOR_SUBPARTS, since presumably it will never need to support variable vector lengths. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood

[085/nnn] poly_int: expand_vector_ubsan_overflow

2017-10-23 Thread Richard Sandiford
This patch makes expand_vector_ubsan_overflow cope with a polynomial number of elements. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * internal-fn.c

[082/nnn] poly_int: omp-simd-clone.c

2017-10-23 Thread Richard Sandiford
This patch adds a wrapper around TYPE_VECTOR_SUBPARTS for omp-simd-clone.c. Supporting SIMD clones for variable-length vectors is post GCC8 work. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood

[092/nnn] poly_int: PUSH_ROUNDING

2017-10-23 Thread Richard Sandiford
PUSH_ROUNDING is difficult to convert to a hook since there is still a lot of conditional code based on it. It isn't clear that a direct conversion with checks for null hooks is the right thing to do. Rather than untangle that, this patch converts all implementations that do something to

[093/nnn] poly_int: adjust_mems

2017-10-23 Thread Richard Sandiford
This patch makes the var-tracking.c handling of autoinc addresses cope with polynomial mode sizes. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * var-tracking.c

[094/nnn] poly_int: expand_ifn_atomic_compare_exchange_into_call

2017-10-23 Thread Richard Sandiford
This patch makes the mode size assumptions in expand_ifn_atomic_compare_exchange_into_call a bit more explicit, so that a later patch can add a to_constant () call. 2017-10-23 Richard Sandiford Alan Hayward David

[095/nnn] poly_int: process_alt_operands

2017-10-23 Thread Richard Sandiford
This patch makes process_alt_operands check that the mode sizes are ordered, so that match_reload can validly treat them as subregs of one another. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood

[106/nnn] poly_int: GET_MODE_BITSIZE

2017-10-23 Thread Richard Sandiford
This patch changes GET_MODE_BITSIZE from an unsigned short to a poly_uint16. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * machmode.h (mode_to_bits): Return a

[104/nnn] poly_int: GET_MODE_PRECISION

2017-10-23 Thread Richard Sandiford
This patch changes GET_MODE_PRECISION from an unsigned short to a poly_uint16. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * machmode.h (mode_precision): Change

Re: [libstdc++, patch] Fix build on APFS file system

2017-10-23 Thread FX
> The patch seems like a rough bandaid to hide the real bug. Better to > identify the real bug. If there is a missing dependency, then I'd like to > think that adding the right dependency should resolve the issue. So far, apart from a suggestion from Marc, I haven’t received any help or

Re: Don't query the frontend for unsupported types

2017-10-23 Thread Richard Sandiford
Ping. Richard Sandiford writes: > Richard Biener writes: >> On Fri, Sep 22, 2017 at 6:42 PM, Richard Sandiford >> wrote: >>> Richard Biener writes: On Thu, Sep 21, 2017 at

Re: [PATCH] Add INCLUDE_UNIQUE_PTR and use it (PR bootstrap/82610)

2017-10-23 Thread Pedro Alves
On 10/23/2017 07:15 PM, David Malcolm wrote: > OK for trunk? FAOD, FWIW, LGTM. Thanks, Pedro Alves

Re: [PATCH] Fix wrong-debug with i?86/x86_64 _GLOBAL_OFFSET_TABLE_ (PR debug/82630)

2017-10-23 Thread Uros Bizjak
On Mon, Oct 23, 2017 at 10:04 AM, Richard Biener wrote: > On Mon, 23 Oct 2017, Jakub Jelinek wrote: > >> On Mon, Oct 23, 2017 at 09:48:50AM +0200, Richard Biener wrote: >> > > --- gcc/targhooks.c.jj2017-10-13 19:02:08.0 +0200 >> > > +++ gcc/targhooks.c

[088/nnn] poly_int: expand_expr_real_2

2017-10-23 Thread Richard Sandiford
This patch makes expand_expr_real_2 cope with polynomial mode sizes when handling conversions involving a union type. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/

[086/nnn] poly_int: REGMODE_NATURAL_SIZE

2017-10-23 Thread Richard Sandiford
This patch makes target-independent code that uses REGMODE_NATURAL_SIZE treat it as a poly_int rather than a constant. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/

[090/nnn] poly_int: set_inc_state

2017-10-23 Thread Richard Sandiford
This trivial patch makes auto-inc-dec.c:set_inc_state take a poly_int64. 2017-10-23 Richard Sandiford Alan Hayward David Sherwood gcc/ * auto-inc-dec.c (set_inc_state): Take the

  1   2   3   >