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 i686-linux, ok for trunk?
2017-10-23 Jakub Jelinek
* common.opt (gcolumn-info
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 (it will never match in actual instructions
though), unfo
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 (i
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;
> > }
> >
> > +boo
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 2017-10-20 14:26:07.945464025 +0200
> > > @@ -177,6 +177,14 @@ default_legitimize_address_
Hi,
this patch extends processor_costs tables by unaligned moves (which is
needed for vectorizer costmodel), by AVX move costs and split
sse<->integer moves to two sections because AMD chips are very assymetric here
(because of different length of pipelines I assume).
Register move cost used to re
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 improvem
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.
Applied
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 (brig_langhook_type_for_mode): Use scalar_int_mode
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 wrote:
>> Hi Honza,
>> Thanks for the detailed suggestions, I have updated
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 failing
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 a
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
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 Hayward
David Sher
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; Richard Earnshaw; Marcus Shawcroft; pins...@gmail.com
Subj
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; ni...@redhat.com; Kyrylo
Tkachov; christophe.l...@linaro.org; r..
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/
* tree-vect-loop.c (vect_create_epi
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 with:
(gdb) call debug(some_type)
However, eve
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 tak
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
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 accordi
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 coul
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
>> simplify various CC_REG
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 your reply below.
>
> As Jerry m
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 b
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 run
>>> yet. This is used in part 3 of the patch
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
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 I could unify SRA
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 that promoted RTXes for par
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
> >> flag were not 100% c
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.
* doc/xml/manual/status_
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:
aarch64-l
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 tree-optimization/81181
* tree-ssa-pre.c (com
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 ea
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 simpl
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 repre
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 vari
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 ex
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
vector
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
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
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.
(bitmap_set_subtr
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
David Sherwood
gcc/
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
find_widening_
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 (narrower_subreg_mode): New function.
* ira-color.c (update_costs_from_allocno): U
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
Alan Hayward
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 arbitrar
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
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 add_int for 'i'.
Index: gcc/rtlhash.c
===
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.
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!
>> >>
>> >> In PR 82628 Jakub figured out t
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/
* var-tracking.c (INT_MEM_OFFSET): Replace with...
(int_mem_offset): ...
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 num
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 siz
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 whether the ranges overlap
an
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
David Sherwood
gcc/
* tree-ssa-sccvn.c (vn_re
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
Alan Hayward
Davi
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
* gcc.target/
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.
*
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 & arm
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 f
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
Paolo Carlini
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 i686-linux, ok for trun
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.
* gfortran.dg/graphite/pr82672
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 from /scratch/tmp/gera
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.
>>
>> Bootstrapped
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 defined:
#if __cplusplus
On Mon, 2017-10-23 at 15:51 +0200, Richard Biener wrote:
> 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/gc
On October 23, 2017 4:15:17 PM GMT+02:00, David Malcolm
wrote:
>On Mon, 2017-10-23 at 15:51 +0200, Richard Biener wrote:
>> 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:
>> >
Hi,
On Mon, 23 Oct 2017, Richard Biener wrote:
> I guess so. But we have to make gdb happy as well. It really depends how
> much each TU grows with the extra (unneeded) include grows in C++11 and
> C++04 mode.
The c++ headers unconditionally included from system.h, with:
% echo '#include <$na
On 23/10/17 17:07 +0200, Michael Matz wrote:
Hi,
On Mon, 23 Oct 2017, Richard Biener wrote:
I guess so. But we have to make gdb happy as well. It really depends how
much each TU grows with the extra (unneeded) include grows in C++11 and
C++04 mode.
The c++ headers unconditionally included fr
On Mon, Oct 23, 2017 at 1:45 PM, H.J. Lu wrote:
> 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 f
GCC maintainers:
I have fixed the change log lines as mentioned by Segher. I removed the
changes to swap_selector_for_mode() and instead created
swap_endianess_selector_for_mode(). The mode attribute wd will not work
for the define expand as the V16QI maps to "b" not "q". So I do need to
have V
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 Biener wrote:
>>
>>> I guess so. But we have to make gdb happy as well. It really depends how
>>> much each TU grows with the extra (unneeded) include grows in C++
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 Biener wrote:
> > >
> > > > I guess so. But we have to make gdb happy as well. It really
> > >
Hi,
On Mon, 23 Oct 2017, David Malcolm wrote:
> FWIW, this one isn't from #pragma poison, it's from:
> #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
>
> (I messed up the --in-reply-to when posting the patch, but Gerald noted
> the issue was due to:
> /usr/include/c++/v1/typein
On 10/23/2017 04:55 AM, Andreas Krebbel wrote:
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 requi
On 10/23/2017 04:50 PM, David Malcolm wrote:
> FWIW, this one isn't from #pragma poison, it's from:
> #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
>
> (I messed up the --in-reply-to when posting the patch, but Gerald noted
> the issue was due to:
> /usr/include/c++/v1/typeinfo
I’ve added your suggestions. I would also like to propose to change the type
attribute from neon_stp to store_8 and store_16, this seems to be more in line
with respect to other patterns.
Thanks,
Dominik
ChangeLog:
2017-10-23 Dominik Infuehr
* config/aarch64/aarch64-simd.md
On Tue, Oct 17, 2017 at 01:17:04AM +0100, Michael Collison wrote:
> Patch updated with all comments from James.
OK with an appropriate ChangeLog and assuming it has been tested as
required.
Thanks,
James
Reviewed-by:
This series adds support for offsets and sizes that are a runtime
invariant rather than a compile time constant. It's based on the
patch posted here:
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00406.html
The rest of the covering note is split into:
- Summary (from the message linked abov
This patch adds a new "poly_int" class to represent polynomial integers
of the form:
C0 + C1*X1 + C2*X2 ... + Cn*Xn
It also adds poly_int-based typedefs for offsets and sizes of various
precisions. In these typedefs, the Ci coefficients are compile-time
constants and the Xi indeterminates are
On 10/23/2017 09:15 AM, Paolo Carlini wrote:
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.
ok, thanks!
nathan
--
Nathan Sidwell
This patch makes each target-specific TU define an IN_TARGET_CODE macro,
which is used to decide whether poly_int<1, C> should convert to C.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* genattrtab.c (write_header): Define IN_TARGET_CODE t
This patch uses a MACRO_MODE wrapper for the target macro invocations
in targhooks.c and address.h, so that macros for non-AArch64 targets
can continue to treat modes as fixed-size.
It didn't seem worth converting the address macros to hooks since
(a) they're heavily used, (b) they should be proba
This patch changes the bit size and vector count arguments to the
machmode.h functions from unsigned int to poly_uint64.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* machmode.h (mode_for_size, int_mode_for_size, float_mode_for_size)
This patch adds an rtl representation of poly_int values.
There were three possible ways of doing this:
(1) Add a new rtl code for the poly_ints themselves and store the
coefficients as trailing wide_ints. This would give constants like:
(const_poly_int [c0 c1 ... cn])
The runtime
This patch adds a tree representation for poly_ints. Unlike the
rtx version, the coefficients are INTEGER_CSTs rather than plain
integers, so that we can easily access them as poly_widest_ints
and poly_offset_ints.
The patch also adjusts some places that previously
relied on "constant" meaning "I
Add poly_int routines for the dumpfile.h and pretty-print.h frameworks.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* dumpfile.h (dump_dec): Declare.
* dumpfile.c (dump_dec): New function.
* pretty-print.h (pp_wide_integer)
This patch generalises create_integer_operand so that it accepts
poly_int64s rather than HOST_WIDE_INTs.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* optabs.h (expand_operand): Add an int_value field.
(create_expand_operand): Add
This patch makes TRULY_NOOP_TRUNCATION take the mode sizes as
poly_uint64s instead of unsigned ints. The function bodies
don't need to change.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* target.def (truly_noop_truncation): Take poly_uin
This patch changes the type of the reg_attrs offset field
from HOST_WIDE_INT to poly_int64 and updates uses accordingly.
This includes changing reg_attr_hasher::hash to use inchash.
(Doing this has no effect on code generation since the only
use of the hasher is to avoid creating duplicate objects.
As noted in this PR, chages -> changes.
Bootstrapped/regtested on x86_64-linux, applying to trunk.
2017-10-23 Marek Polacek
PR c/82681
* c-warn.c (warnings_for_convert_and_check): Fix typos.
* gcc.dg/c90-const-expr-11.c: Fix typos in dg-warning.
* gcc.dg/overf
This patch adds support for DWARF location expressions
that involve polynomial offsets. It adds a target hook that
says how the runtime invariants used in the offsets should be
represented in DWARF. SVE vectors have to be a multiple of
128 bits in size, so the GCC port uses the number of 128-bit
This patch changes the offset and size arguments to
fold_ctor_reference from unsigned HOST_WIDE_INT to poly_uint64.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* gimple-fold.h (fold_ctor_reference): Take the offset and size
as poly
This patch makes tree-ssa-alias.c:same_addr_size_stores_p handle
poly_int sizes and offsets.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* tree-ssa-alias.c (same_addr_size_stores_p): Take the offsets and
sizes as poly_int64s rather
This patch makes indirect_refs_may_alias_p use ranges_may_overlap_p
rather than ranges_overlap_p. Unlike the former, the latter can handle
negative offsets, so the fix for PR44852 should no longer be necessary.
It can also handle offset_int, so avoids unchecked truncations to
HOST_WIDE_INT.
2017
This patch changes the offset, size and max_size fields
of ao_ref from HOST_WIDE_INT to poly_int64 and propagates
the change through the code that references it. This includes
changing the off field of vn_reference_op_struct in the same way.
2017-10-23 Richard Sandiford
Alan Haywa
This patch makes RTL DSE use poly_int for offsets and sizes.
The local phase can optimise them normally but the global phase
treats them as wild accesses.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* dse.c (store_info): Change offset and
This patch changes the offset and size arguments of
rtx_addr_can_trap_p_1 from HOST_WIDE_INT to poly_int64. It also
uses a size of -1 rather than 0 to represent an unknown size and
BLKmode rather than VOIDmode to represent an unknown mode.
2017-10-23 Richard Sandiford
Alan Hayward
1 - 100 of 225 matches
Mail list logo