Go to file
Richard Sandiford 5284e55987 Use poly_int rtx accessors instead of hwi accessors
This patch generalises various places that used hwi rtx accessors so
that they can handle poly_ints instead.  In many cases these changes
are by inspection rather than because something had shown them to be
necessary.

2018-06-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* poly-int.h (can_div_trunc_p): Add new overload in which all values
	are poly_ints.
	* alias.c (get_addr): Extend CONST_INT handling to poly_int_rtx_p.
	(memrefs_conflict_p): Likewise.
	(init_alias_analysis): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* combine.c (combine_simplify_rtx, force_int_to_mode): Likewise.
	* cse.c (fold_rtx): Likewise.
	* explow.c (adjust_stack, anti_adjust_stack): Likewise.
	* expr.c (emit_block_move_hints): Likewise.
	(clear_storage_hints, push_block, emit_push_insn): Likewise.
	(store_expr_with_bounds, reduce_to_bit_field_precision): Likewise.
	(emit_group_load_1): Use rtx_to_poly_int64 for group offsets.
	(emit_group_store): Likewise.
	(find_args_size_adjust): Use strip_offset.  Use rtx_to_poly_int64
	to read the PRE/POST_MODIFY increment.
	* calls.c (store_one_arg): Use strip_offset.
	* rtlanal.c (rtx_addr_can_trap_p_1): Extend CONST_INT handling to
	poly_int_rtx_p.
	(set_noop_p): Use rtx_to_poly_int64 for the elements selected
	by a VEC_SELECT.
	* simplify-rtx.c (avoid_constant_pool_reference): Use strip_offset.
	(simplify_binary_operation_1): Extend CONST_INT handling to
	poly_int_rtx_p.
	* var-tracking.c (compute_cfa_pointer): Take a poly_int64 rather
	than a HOST_WIDE_INT.
	(hard_frame_pointer_adjustment): Change from HOST_WIDE_INT to
	poly_int64.
	(adjust_mems, add_stores): Update accodingly.
	(vt_canonicalize_addr): Track polynomial offsets.
	(emit_note_insn_var_location): Likewise.
	(vt_add_function_parameter): Likewise.
	(vt_initialize): Likewise.

From-SVN: r261530
2018-06-12 22:31:14 +00:00
INSTALL
config Remove MPX 2018-06-08 07:53:31 +00:00
contrib config.gcc (alpha*-*-freebsd*): Remove. 2018-06-12 15:58:49 -06:00
fixincludes genfixes: exit 1 when autogen not found. 2018-06-12 09:00:43 -06:00
gcc Use poly_int rtx accessors instead of hwi accessors 2018-06-12 22:31:14 +00:00
gnattools
gotools go/build, cmd/go: update to match recent changes to gc 2018-05-09 21:49:47 +00:00
include simple-object.h (simple_object_copy_lto_debug_sections): Add rename parameter. 2018-05-30 19:57:50 +02:00
intl
libada
libatomic x86: libatomic: Do not assume ELF constructors run before IFUNC resolvers 2018-05-23 13:13:05 +02:00
libbacktrace Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
libcc1 PR c++/69560 - wrong alignof(double) on x86. 2018-04-23 16:49:38 -04:00
libcpp * fr.po: Update. 2018-06-11 18:07:56 +01:00
libdecnumber
libffi Backport of RISC-V support for libffi 2018-05-08 10:29:16 +00:00
libgcc t-vxworks (LIBGCC_INCLUDES): Add -I$(MULTIBUILDTOP)../../gcc/include. 2018-06-07 13:31:24 +00:00
libgfortran re PR libfortran/86070 (gfortran.dg/fmt_zero_digits.f90 segmentation fault starting with r261077) 2018-06-10 01:49:02 +00:00
libgo libgo: add riscv and js/wasm as known targets 2018-06-11 19:16:34 +00:00
libgomp re PR fortran/85841 ([F2018] reject deleted features) 2018-05-21 22:48:59 +02:00
libhsail-rt [BRIGFE] phsa-specific optimizations 2018-05-04 19:43:57 +00:00
libiberty simple-object.h (simple_object_copy_lto_debug_sections): Add rename parameter. 2018-05-30 19:57:50 +02:00
libitm libitm/x86: Correct offsets of __private_tm and pointer_guard 2018-06-12 04:08:52 -07:00
libobjc Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
liboffloadmic
libquadmath Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
libsanitizer re PR sanitizer/86012 (libsanitizer build failure on sparc64-linux-gnu) 2018-05-31 09:57:33 +00:00
libssp Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
libstdc++-v3 macros.h (__glibcxx_check_can_increment_range): New. 2018-06-12 20:18:35 +00:00
libvtv [testsuite] Add scan-ltrans-tree-dump 2018-05-02 12:16:32 +00:00
lto-plugin lto-plugin.c: (non_claimed_files): New static var. 2018-05-30 16:34:54 +00:00
maintainer-scripts re PR other/85622 (gcc-8.1.0/NEWS says it's not released yet) 2018-05-03 11:29:39 +02:00
zlib
.dir-locals.el
.gitattributes
.gitignore
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog Remove MPX 2018-06-08 07:53:31 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
MAINTAINERS Remove me from Write After Approval. 2018-06-12 08:27:13 +00:00
Makefile.def Remove MPX 2018-06-08 07:53:31 +00:00
Makefile.in Remove MPX 2018-06-08 07:53:31 +00:00
Makefile.tpl re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk) 2018-04-30 08:18:03 +00:00
README
compile
config-ml.in
config.guess
config.rpath
config.sub
configure Remove MPX 2018-06-08 07:53:31 +00:00
configure.ac Remove MPX 2018-06-08 07:53:31 +00:00
depcomp
install-sh
libtool-ldflags
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing
mkdep
mkinstalldirs
move-if-change
symlink-tree
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.