Hi Richard,
Indeed, HSAIL doesn't so far support variable length vectors.
If it ever will, there will be wider changes needed anyways.
So, this patch LGTM.
Pekka,
A HSA/BRIG maintainer
On Mon, Oct 23, 2017 at 7:32 PM, Richard Sandiford
wrote:
> This patch adds a brig-specific wrapper around T
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 df_read_modify_subreg_p to check whether writing
>>>
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
p
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 th
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 that's is wrong.
>
Here is t
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 [mailto:hjl.to...@gmail.c
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, th
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: H.J. Lu [mailto:hjl.to...@gmail.
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 new --no-fortran flag that can
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 ; gcc-patches@gcc.gnu.org
> Subject: Re: [P
>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 Problem:
There is a proble
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 example, tests with setjmp should f
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’, as it has no viable
> dedu
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 a
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 in
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 Biener 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,
the latter for versioned namespace.
With this
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, David!
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
> * config/i386
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 2017-10-20 14:26:07.9454640
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 streambuf
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 wa
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 Sun, Oct 22, 2017 at 08:04:28PM +0200, Uros Bizjak wrote
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 2:56 PM, Richard Sandiford
wrote:
> Richard Biener writes:
>> On September 20, 2017 2:36:03 PM GMT+02:
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 hav
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 rtx code to distinguish
LDP/STP addresses from normal addresses; the code was PARA
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
advic
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
gcc/
* machmode.h (mode_size): Change from unsigned short to
pol
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):
> https://gcc.gnu.org/bugzilla/show_bug.c
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 poly_uint16 rather than an
unsigned short.
(GET_MODE_BITSIZE): R
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 from unsigned short to
poly_uint16_pod.
(mode_to_precision): R
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
David Sherwood
g
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 increa
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 l
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 (emit_call_1, expand_call): Change struct_value_size from
a HOST_WIDE_INT
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 requirement
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
from unsigned int to poly_uint64_pod.
(alter_reg): Treat mode
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 (complex_word_subreg_p): New function.
(reload_inner_reg_of_subreg, push_re
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
gcc/
* lra-constraints.c (process_alt_operands): Rej
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 Sherwood
gcc/
* builtins.c (expand_ifn_atomi
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 (adjust_mems): Treat mode sizes as polynomial.
Use plus_constant instea
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 out-of-l
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 mode sizes as polynomial.
Use plus_constant instead of gen_rtx_PLUS.
I
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 mode size as a poly_int64
rather than an int.
Index: gcc/auto-inc-dec.
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/
* expr.c (expand_expr_real_1): Use tree_to_poly_uint64
instead of int_size_
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.
Index: gcc/rtlanal.c
==
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/
* expr.c (expand_expr_real_2): When handling conversions involving
un
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/
* combine.c (can_change_dest_mode): Handle polynomial
REGMODE_NATURA
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 (expand_vector_ubsan_overflow): Handle polynomial
numbers of elements.
Index: gcc
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/
* match.pd: Cope with polynomial numbers of vector elements.
Index: gcc/match.pd
==
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 poly
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
gcc/
* omp-simd-clone.c (simd_clone_subparts): New fun
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
gcc/brig/
* brigfrontend/brig-util.h (gccbrig_type_vector_s
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
David Sherwood
gcc/
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
gcc/
* tree-vect-data-refs.c (vect_no_alias_p): Replace with...
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/
* tree-vect-slp.c (vect_build_slp_tree_1): Handle polynomial
n
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 w
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 exclud
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
David Sherwood
gcc/
* tree-vect-s
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
David Sherwood
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
David Sherwood
gcc/
* tree-v
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
David Sherwood
gcc/
* tree-vect-lo
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 red
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 (vector_alignment_reachable_p): Treat the
number of units as polynomial.
Index: g
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 si
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
David Sherwood
gcc/
* tar
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
Alan Hayward
D
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/
* tree-vect-slp.c (vect_record_max_nunits, vect_build_slp_tree_1)
(
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
gcc/
* tree-data-ref.h (prune_runtime_alias_test_list): Take th
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 i
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
gcc/
* tree-vect-data-refs.c (vect_compute_da
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 (iv_use::addr_offset): Change from
an unsigned HOST_WIDE_INT to a poly
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
David Sherwood
gcc/
*
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
Alan Haywar
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 (build_ref_for_offset): Take the offset as a poly_int64
rather than a HOST_W
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
Alan Hayward
David
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
David Sherwood
gcc/
* tree-ssa-math-opt
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/
* tree-ssanames.h (adjust_ptr_info_misalignment): Take the increment
as a p
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
gcc/
* varasm.c (addr_const::offset): Change from HOST_WI
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
Alan Haywar
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 (emit_group_load, emit_group_load_into_temps)
(emit_group_store): Take the siz
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
David Sherwood
gcc/
* ira-int.h (ira_spilled_
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 (emit_inc): Change inc_amount from an int
to a poly_int64.
Index: gcc/lr
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
David Sherwood
gcc/
* cfgexpand.c (s
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
- stack_usage::pushed_stack
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, var_offset, dynamic_offset)
(out_arg_offset, cfa_offset): Change from int to po
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 through
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
gcc/
* function.h (frame_space): Change start and length f
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 (push_block, emit_push_insn): Change the "extra" parameter
from HOST_WIDE_INT t
1 - 100 of 225 matches
Mail list logo