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
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
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
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 ;-)
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
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
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
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,
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:
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
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
>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
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
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
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’,
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
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
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
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
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
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,
On Sun, Oct 22, 2017 at 4:13 PM, H.J. Lu wrote:
> There is no need to insert ENDBR instruction if function is only called
> directly.
>
> OK for trunk if there is no regressions?
Patch needs to be OK'd by Igor first.
Uros.
> H.J.
>
> gcc/
>
> PR target/82659
>
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
Hi
I completed execution of all tests and found one test impacted by
this patch.
It is a good example of the impact of the patch. Users won't be
able to build a istreambuf_iterator at a point where the underlying
streambuf is at end-of-stream and then put some data in the
In C++14 and below, the exception-specification is not part of a
function type, so we need to drop it from template arguments;
otherwise, all uses of a particular template instantiation get the
exception specification that the first use happened to have.
This patch regresses the -Wnoexcept-type
On Mon, Oct 23, 2017 at 1:27 PM, Uros Bizjak wrote:
> 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
On 10/23/2017 07:15 PM, David Malcolm wrote:
> OK for trunk?
FAOD, FWIW, LGTM.
Thanks,
Pedro Alves
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
> >
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
On 23/10/17 19:48 +0200, FX wrote:
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
Ping.
Richard Sandiford writes:
> Richard Sandiford writes:
>> James Greenhalgh writes:
>>> On Tue, Aug 22, 2017 at 10:23:47AM +0100, Richard Sandiford wrote:
Previously aarch64_classify_address used an
Committed. Thanks!
Note: your diff program isn't producing valid diffs...
* it's dropping leading tabs
* it's not putting a space after file names in the headers
I have to manually fix these to apply the patch; if you could fix it on
your end that would be appreciated :-)
> 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
This patch changes GET_MODE_SIZE from unsigned short to poly_uint16.
The non-mechanical parts were handled by previous patches.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
On Oct 18, 2017, at 7:51 AM, FX wrote:
>
> Parallel builds of libstdc++ on APFS filesystem (with 1 ns granularity) on
> macOS 10.13 often fail (failure rate for “make -j2” to “make -j8” is about
> 60% from my own builds and results reported by others):
>
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
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
This patch makes the CONCAT handing in expand_assignment cope with
polynomial mode sizes. The mode of the CONCAT must be complex,
so we can base the tests on the sizes of the real and imaginary
components.
2017-10-23 Richard Sandiford
Alan Hayward
This patch changes TYPE_VECTOR_SUBPARTS to a poly_uint64. The value is
encoded in the 10-bit precision field and was previously always stored
as a simple log2 value. The challenge was to use this 10 bits to
encode the number of elements in variable-length vectors, so that
we didn't need to
The GET_MODE_NUNITS patch made vect_grouped_store_supported and
vect_grouped_load_supported check for a constant number of elements,
so vect_permute_store_chain and vect_permute_load_chain can assert
for that. This patch adds commentary to that effect; the actual
asserts will be added by a later,
This patch changes GET_MODE_NUNITS from unsigned char
to poly_uint16, although it remains a macro when compiling
target code with NUM_POLY_INT_COEFFS == 1.
If the number of units isn't known at compile time, we use:
(const:M (vec_duplicate:M X))
to represent a vector in which every element is
The xsize and ysize arguments to memrefs_conflict_p are encode such
that:
- 0 means the size is unknown
- >0 means the size is known
- <0 means that the negative of the size is a worst-case size after
alignment
In other words, the sign effectively encodes a boolean; it isn't
meant to be taken
This patch makes calls.c treat struct_value_size (one of the
operands to a call pattern) as polynomial.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* calls.c
This patch makes load_register_parameters cope with polynomial sizes.
The requirement here is that any register parameters with non-constant
sizes must either have a specific mode (e.g. a variable-length vector
mode) or must be represented with a PARALLEL. This is in practice
already a
This patch makes alter_reg cope with polynomial mode sizes.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* reload1.c (spill_stack_slot_width): Change element type
This patch splits out a condition that is common to both push_reload
and reload_inner_reg_of_subreg.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* reload.c
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
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
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
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
This patch makes emit_single_push_insn_1 cope with polynomial mode sizes.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* expr.c (emit_single_push_insn_1): Treat
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
This patch makes the VIEW_CONVERT_EXPR handling in expand_expr_real_1
cope with polynomial type and mode sizes.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
*
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/
This patch makes subreg_get_info handle polynomial sizes.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* rtlanal.c (subreg_get_info): Handle polynomial mode sizes.
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/
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
This patch makes the:
(BIT_FIELD_REF CONSTRUCTOR@0 @1 @2)
folder cope with polynomial numbers of elements.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
*
This patch makes fold_indirect_ref_1 handle polynomial offsets in
a POINTER_PLUS_EXPR. The specific reason for doing this now is
to handle:
(tree_to_uhwi (part_width) / BITS_PER_UNIT
* TYPE_VECTOR_SUBPARTS (op00type));
when TYPE_VECTOR_SUBPARTS becomes a
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
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
This patch makes tree-vect-generic.c cope with variable-length vectors.
Decomposition is only supported for constant-length vectors, since we
should never generate unsupported variable-length operations.
2017-10-23 Richard Sandiford
Alan Hayward
This patch replaces the two-state vect_no_alias_p with a three-state
vect_compile_time_alias that handles polynomial segment lengths.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
This patch makes two-operation SLP handle but reject variable-length
vectors. Adding support for this is a post-GCC8 thing.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
For now, vect_get_constant_vectors can only cope with constant-length
vectors, although a patch after the main SVE submission relaxes this.
This patch adds an appropriate guard for variable-length vectors.
The TYPE_VECTOR_SUBPARTS use in vect_get_constant_vectors will then
have a to_constant call
This patch makes vectorizable_conversion cope with variable-length
vectors. We already require the number of elements in one vector
to be a multiple of the number of elements in the other vector,
so the patch uses that to choose between widening and narrowing.
2017-10-23 Richard Sandiford
This patch makes vectorizable_load and vectorizable_store cope with
variable-length vectors. The reverse and permute cases will be
excluded by the code that checks the permutation mask (although a
patch after the main SVE submission adds support for the reversed
case). Here we also need to
This patch makes vectorizable_simd_clone_call cope with variable-length
vectors. For now we don't support SIMD clones for variable-length
vectors; this will be post GCC 8 material.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes vectorizable_call handle variable-length vectors.
The only substantial change is to use build_index_vector for
IFN_GOMP_SIMD_LANE; this makes no functional difference for
fixed-length vectors.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes vectorizable_live_operation cope with variable-length
vectors. For now we just handle cases in which we can tell at compile
time which vector contains the final result.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes vectorizable_induction cope with variable-length
vectors. For now we punt on SLP inductions, but patchees after
the main SVE submission add support for those too.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes vectorizable_reduction cope with variable-length vectors.
We can handle the simple case of an inner loop reduction for which
the target has native support for the epilogue operation. For now we
punt on other cases, but patches after the main SVE submission allow
SLP and double
This patch makes vector_alignment_reachable_p cope with variable-length
vectors.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* tree-vect-data-refs.c
This patch changes the type of current_vector_size to poly_uint64.
It also changes TARGET_AUTOVECTORIZE_VECTOR_SIZES so that it fills
in a vector of possible sizes (as poly_uint64s) instead of returning
a bitmask. The documentation claimed that the hook didn't need to
include the default vector
This patch makes TARGET_GET_MASK_MODE take polynomial nunits and
vector_size arguments. The gcc_assert in default_get_mask_mode
is now handled by the exact_div call in vector_element_size.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes omp_max_vf return a polynomial vectorization factor.
We then need to be able to stash a polynomial value in
OMP_CLAUSE_SAFELEN_EXPR too:
/* If max_vf is non-zero, then we can use only a vectorization factor
up to the max_vf we chose. So stick it into the safelen clause.
This patch adds a function for getting the number of elements in
a vector for cost purposes, which is always constant. It makes
it possible for a later patch to change GET_MODE_NUNITS and
TYPE_VECTOR_SUBPARTS to a poly_int.
2017-10-23 Richard Sandiford
This match makes tree-vect-slp.c track the maximum number of vector
units as a poly_uint64 rather than an unsigned int.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
This patch makes prune_runtime_alias_test_list take the iteration
factor as a poly_int and tracks polynomial offsets internally
as well.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
This patch changes the type of the vectorisation factor and SLP
unrolling factor to poly_uint64. This in turn required some knock-on
changes in signedness elsewhere.
Cost decisions are generally based on estimated_poly_value,
which for VF is wrapped up as vect_vf_for_cost.
The patch doesn't on
This patch makes vect_compute_data_ref_alignment treat DR_INIT as a
poly_int and handles cases in which the calculated misalignment might
not be constant.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
This patch makes ivopts handle polynomial address offsets
when recording potential IV uses.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* tree-ssa-loop-ivopts.c
This patch splits the loop versioning threshold out from the
cost model threshold so that the former can become a poly_uint64.
We still use a single test to enforce both limits where possible.
2017-10-23 Richard Sandiford
Alan Hayward
This patch changes the offset parameter to get_binfo_at_offset
from HOST_WIDE_INT to poly_int64. This function probably doesn't
need to handle polynomial offsets in practice, but it's easy
to do and avoids forcing the caller to check first.
2017-10-23 Richard Sandiford
This patch changes the offset parameter to build_ref_for_offset
from HOST_WIDE_INT to poly_int64.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* ipa-prop.h
This patch allows MEM_REF offsets to be polynomial, with mem_ref_offset
now returning a poly_offset_int instead of an offset_int. The
non-mechanical changes to callers of mem_ref_offset were handled by
previous patches.
2017-10-23 Richard Sandiford
This patch handles polynomial offsets in find_bswap_or_nop_load,
which could be useful for constant-sized data at a variable offset.
It is needed for a later patch to compile.
2017-10-23 Richard Sandiford
Alan Hayward
This patch makes adjust_ptr_info_misalignment take the adjustment
as a poly_uint64 rather than an unsigned int.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
*
This patch makes the varasm-local addr_const track polynomial offsets.
I'm not sure how useful this is, but it was easier to convert than not.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
verify_expr ensured that the size and offset in gimple BIT_FIELD_REFs
satisfied tree_fits_uhwi_p. This patch extends that so that they can
be poly_uint64s, and adds helper routines for accessing them when the
verify_expr requirements apply.
2017-10-23 Richard Sandiford
This patch changes the sizes passed to emit_group_load and
emit_group_store from int to poly_int64.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* expr.h
This patch uses poly_int64 for:
- ira_reuse_stack_slot
- ira_mark_new_stack_slot
- ira_spilled_reg_stack_slot::width
all of which are part of the IRA/reload interface.
2017-10-23 Richard Sandiford
Alan Hayward
This patch changes the LRA emit_inc routine so that it takes
a poly_int64 rather than an int.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* lra-constraints.c
This patch changes the type of stack_var::size from HOST_WIDE_INT
to poly_uint64. The difference in signedness is because the
field was set by:
v->size = tree_to_uhwi (size);
2017-10-23 Richard Sandiford
Alan Hayward
This patch changes various bits of state related to argument sizes so
that they have type poly_int64 rather than HOST_WIDE_INT. This includes:
- incoming_args::pops_args and incoming_args::size
- rtl_data::outgoing_args_size
- pending_stack_adjust
- stack_pointer_delta
-
This patch makes the instantiate virtual regs pass track offsets
as poly_ints.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* function.c (in_arg_offset,
This patch adds new utility functions for manipulating REG_ARGS_SIZE
notes and allows the notes to carry polynomial as well as constant sizes.
The code was inconsistent about whether INT_MIN or HOST_WIDE_INT_MIN
should be used to represent an unknown size. The patch uses
HOST_WIDE_INT_MIN
This patch converts the frame allocation code (mostly in function.c)
to use poly_int64 rather than HOST_WIDE_INT for frame offsets and
sizes.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
This patch changes the "extra" parameters to push_block and
emit_push_insn from int to poly_int64.
2017-10-23 Richard Sandiford
Alan Hayward
David Sherwood
gcc/
* expr.h
This patch makes a few small poly_int64 changes to reload1.c,
mostly related to eliminations. Again, there's no real expectation
that reload will be used for targets that have polynomial-sized modes,
but it seemed easier to convert it anyway.
2017-10-23 Richard Sandiford
1 - 100 of 224 matches
Mail list logo