Commit Graph

155086 Commits

Author SHA1 Message Date
Daniel Santos 9cbc07ccff PR testsuite/80759 Fix -mcall-ms2sysv-xlogues on Darwin and Solaris
2017-07-24  Daniel Santos  <daniel.santos@pobox.com>

	PR testsuite/80759
	* config.host: include i386/t-msabi for darwin and solaris.
	* config/i386/i386-asm.h
	(ELFFN): Rename to FN_TYPE.
	(FN_SIZE): New macro.
	(FN_HIDDEN): Likewise.
	(ASMNAME): Likewise.
	(FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
	.globl.
	(HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
	(SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
	* config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
	.macro.
	* config/i386/resms64f.S: Likewise.
	* config/i386/resms64fx.S: Likewise.
	* config/i386/resms64x.S: Likewise.
	* config/i386/savms64.S: Likewise.
	* config/i386/savms64f.S: Likewise.

From-SVN: r250488
2017-07-24 21:59:57 +00:00
Michael Meissner 1993098939 rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete upper-regs options.
[gcc]
2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete
	upper-regs options.
	(ISA_2_7_MASKS_SERVER): Likewise.
	(ISA_3_0_MASKS_IEEE): Likewise.
	(OTHER_P8_VECTOR_MASKS): Likewise.
	(OTHER_VSX_VECTOR_MASKS): Likewise.
	(POWERPC_MASKS): Likewise.
	(power7 cpu): Use ISA_2_6_MASKS_SERVER instead of using a
	duplicate list of options.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Remove
	explicit -mupper-regs options.
	* config/rs6000/rs6000.opt (-mvsx-scalar-memory): Delete
	-mupper-regs* options.  Delete -mvsx-scalar-memory, which was an
	alias for -mupper-regs-df.
	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_option_override_internal): Likewise.
	(rs6000_opt_masks): Likewise.
	* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Define upper regs
	options in terms of whether -mvsx or -mpower8-vector was used.
	(TARGET_UPPER_REGS_DI): Likewise.
	(TARGET_UPPER_REGS_SF): Likewise.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete the
	-mupper-regs-* options.

[gcc/testsuite]
2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/pr65849-1.c: Delete, test no longer valid
	since the upper-regs options have been deleted.
	* gcc.target/powerpc/pr65849-2.c: Likewise.
	* gcc.target/powerpc/pr80099-1.c: Likewise.
	* gcc.target/powerpc/pr80099-2.c: Likewise.
	* gcc.target/powerpc/pr80099-3.c: Likewise.
	* gcc.target/powerpc/pr80099-4.c: Likewise.
	* gcc.target/powerpc/pr80099-5.c: Likewise.
	* gcc.target/powerpc/builtins-2-p9-runnable.c: Update test to
	support removal of the upper-regs options.
	* gcc.target/powerpc/p8vector-fp.c: Likewise.
	* gcc.target/powerpc/p8vector-ldst.c: Likewise.
	* gcc.target/powerpc/p9-dimode1.c: Likewise.
	* gcc.target/powerpc/p9-dimode2.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-1.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
	* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
	* gcc.target/powerpc/ppc-round.c: Likewise.
	* gcc.target/powerpc/pr71720.c: Likewise.
	* gcc.target/powerpc/pr72853.c: Likewise.
	* gcc.target/powerpc/pr79907.c: Likewise.
	* gcc.target/powerpc/pr78953.c: Likewise.
	* gcc.target/powerpc/upper-regs-df.c: Likewise.
	* gcc.target/powerpc/upper-regs-sf.c: Likewise.
	* gcc.target/powerpc/vec-extract-1.c: Likewise.
	* gcc.target/powerpc/vec-init-3.c: Likewise.
	* gcc.target/powerpc/vec-init-6.c: Likewise.
	* gcc.target/powerpc/vec-init-7.c: Likewise.
	* gcc.target/powerpc/vec-set-char.c: Likewise.
	* gcc.target/powerpc/vec-set-int.c: Likewise.
	* gcc.target/powerpc/vec-set-short.c: Likewise.

From-SVN: r250482
2017-07-24 20:02:33 +00:00
Segher Boessenkool 0281547a1d passes: Print a header in emergency_dump_function
Currently the emergency dump has no separation whatsoever from any
previous output in the dump file, making it harder than necessary
to find.


	* passes.c (emergency_dump_function): Print some empty lines and a
	header before the RTL dump.

From-SVN: r250481
2017-07-24 21:48:57 +02:00
Segher Boessenkool 9fcaf05991 cfgrtl: Don't crash in rtl_dump_bb if BB_END(bb) is NULL
Currently rtl_dump_bb crashes if BB_END(bb) is NULL, like it can be
during expand (rtl_dump_bb can be called at any time, by the emergency
dump added recently for example).

This fixes it.


	* cfgrtl.c (rtl_dump_bb): Don't call NEXT_INSN on NULL.

From-SVN: r250480
2017-07-24 21:47:15 +02:00
Wilco Dijkstra d47d34bb22 re PR target/79041 (aarch64 backend emits R_AARCH64_ADR_PREL_PG_HI21 relocation despite -mpc-relative-literal-loads option being used)
Fix PR79041

As described in PR79041, -mcmodel=large -mpc-relative-literal-loads
may be used to avoid generating ADRP/ADD or ADRP/LDR.  However both
trunk and GCC7 may still emit ADRP for some constant pool literals.
Fix this by adding a aarch64_pcrelative_literal_loads check.

gcc/
	PR target/79041
	* config/aarch64/aarch64.c (aarch64_classify_symbol):
	Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals
gcc/testsuite/
	* gcc.target/aarch64/pr79041-2.c: New test.

From-SVN: r250478
2017-07-24 18:06:37 +00:00
Carl Love 26bca0ed48 rs6000-c.c: Add support for built-in functions vector float vec_extract_fp32_from_shorth...
gcc/ChangeLog:

2017-07-24  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-c.c: Add support for built-in functions
	vector float vec_extract_fp32_from_shorth (vector unsigned short);
	vector float vec_extract_fp32_from_shortl (vector unsigned short);
	* config/rs6000/altivec.h (vec_extract_fp_from_shorth,
	vec_extract_fp_from_shortl): Add defines for the two builtins.
	* config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH,
	VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1
	new builtins.
	* config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn.
	(vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands.
	* doc/extend.texi: Update the built-in documentation file for the
	new built-in function.

gcc/testsuite/ChangeLog:

2017-07-24  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-3-p9-runnable.c: Add new test file for
	the new built-ins.

From-SVN: r250477
2017-07-24 16:50:22 +00:00
Jakub Jelinek 570e228b5e re PR target/81521 (After [r250413] GCC 8.0 doesn't compile for Windows)
PR bootstrap/81521
	* tree.def: Remove TYPE_METHODS documentation, adjust TYPE_FIELDS
	documentation.
	* doc/generic.texi: Likewise.
	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
	for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.

From-SVN: r250476
2017-07-24 15:02:06 +02:00
Jackson Woodruff 4b40986c04 [AArch64, Patch] Generate MLA when multiply + add vector by scalar
(On behalf of jackson.woodruff@arm.com)

This merges vector multiplies and adds into a single mla instruction
when the multiplication is done by a scalar.

    typedef int __attribute__((vector_size(16))) vec;

    vec
    mla1(vec v0, vec v1, int v2)
    {
      return v0 + v1 * c;
    }

Now generates:

    mla1:
        fmov   s2, w0
        mla    v0.4s, v1.4s, v2.s[0]

This is also done for the identical case for a multiply followed by a
subtract of vectors with an integer operand on the multiply.

gcc/

2017-07-24  Jackson Woodruff  <jackson.woodruff@arm.com>

        * config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): New.
        (aarch64_mls_elt_merge<mode>): Likewise.

gcc/testsuite/

2017-07-24  Jackson Woodruff  <jackson.woodruff@arm.com>

	* gcc.target/aarch64/simd/vmla_elem_1.c: New.

From-SVN: r250475
2017-07-24 11:37:09 +00:00
Thomas Koenig e678ce869e ChangeLog: Fix typo in date and ommitted PR number.
2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* ChangeLog: Fix typo in date and ommitted PR number.

From-SVN: r250474
2017-07-24 10:48:57 +00:00
Thomas Koenig ff9a87509d unix.c (buf_write): Return early if there is nothing to write.
2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* io/unix.c (buf_write):  Return early if there is
	nothing to write.

From-SVN: r250473
2017-07-24 10:42:23 +00:00
Thomas Koenig cedc228d1c dump-parse-tree.c (show_symbol): Show binding label if present.
2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_symbol):  Show binding label if present.

From-SVN: r250472
2017-07-24 10:36:30 +00:00
Thomas Koenig 213c3b7b7c re PR fortran/66102 (dependency mishandling with reallocation on assignment)
2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Mikael Morin <mikael@gcc.gnu.org>

	PR fortran/66102
	* fortran/trans-array.c (gfc_conv_resolve_dependencies):
	Break if dependency has been found.

2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Mikael Morin <mikael@gcc.gnu.org>

	PR fortran/66102
	* gfortran.dg/realloc_on_assign_28.f90:  New test.


Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>

From-SVN: r250471
2017-07-24 09:50:28 +00:00
GCC Administrator ffe64f24cc Daily bump.
From-SVN: r250470
2017-07-24 00:17:01 +00:00
Krister Walfridsson b74103ef6b config.gcc (*-*-netbsd*): Remove check for NetBSD versions not having __cxa_atexit.
2017-07-23  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
	having __cxa_atexit.

From-SVN: r250466
2017-07-23 23:43:08 +00:00
Michael Collison 33cd5f8f42 arm.c (arm_option_override): Deprecate use of -mstructure-size-boundary.
2017-07-23  Michael Collison  <michael.collison@arm.com>

	* config/arm/arm.c (arm_option_override): Deprecate
	use of -mstructure-size-boundary.
	* config/arm/arm.opt: Deprecate -mstructure-size-boundary.
	* doc/invoke.texi: Deprecate -mstructure-size-boundary.

From-SVN: r250465
2017-07-23 23:07:12 +00:00
Michael Collison 5bbf7664c3 Add optimized implementation of mersenne twister for aarch64
2017-07-23  Michael Collison  <michael.collison@arm.com>

	Add optimized implementation of mersenne twister for aarch64
	* config/cpu/aarch64/opt/ext/opt_random.h: New file.
	(__arch64_recursion): New function.
	(__aarch64_lsr_128): New function.
	(__aarch64_lsl_128): New function.
	(operator==): New function.
	(simd_fast_mersenne_twister_engine): Implement
	method _M_gen_rand.
	* config/cpu/aarch64/opt/bits/opt_random.h: New file.
	* include/ext/random: (simd_fast_mersenne_twister_engine):
	add _M_state private array.

From-SVN: r250464
2017-07-23 22:46:34 +00:00
Alexander Monakov c5014982ba fortran: fix pair_cmp qsort comparator
* interface.c (pair_cmp): Fix gfc_symbol comparison.  Adjust comment.

From-SVN: r250463
2017-07-23 21:40:24 +03:00
David Edelsohn e2b71b5ac0 pr56727-2.c: Limit to powerpc-linux.
* gcc.dg/pr56727-2.c: Limit to powerpc-linux.
        * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: Remove AIX XFAIL.

From-SVN: r250462
2017-07-23 13:55:19 -04:00
Bill Schmidt 3597188b4b re PR target/80695 (gratuitous use of stxvx to store multiple pointers)
2017-07-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/80695
	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
	Reduce cost estimate for direct moves.

From-SVN: r250461
2017-07-23 15:32:37 +00:00
Uros Bizjak f36dda3b64 re PR target/80569 (i686: "shrx" instruction generated in 16-bit mode)
PR target/80569
	* config/i386/i386.c (ix86_option_override_internal): Disable
	BMI, BMI2 and TBM instructions for -m16.

testsuite/ChangeLog:

	PR target/80569
	* gcc.target/i386/pr80569.c: New test.

From-SVN: r250459
2017-07-23 12:28:26 +02:00
François Dumont 4a15d84228 re PR libstdc++/81064 (Inline namespace regression)
2017-07-23  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/81064
	* include/bits/algorithmfwd.h: Reorganize versioned namespace.
	* include/bits/basic_string.h: Likewise.
	* include/bits/c++config: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/quoted_string.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/bits/random.tcc: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/regex.tcc: Likewise.
	* include/bits/regex_automaton.h: Likewise.
	* include/bits/regex_automaton.tcc: Likewise.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_compiler.tcc: Likewise.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_executor.h: Likewise.
	* include/bits/regex_executor.tcc: Likewise.
	* include/bits/regex_scanner.h: Likewise.
	* include/bits/regex_scanner.tcc: Likewise.
	* include/bits/specfun.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_relops.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/uniform_int_dist.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_std/cmath: Likewise.
	* include/decimal/decimal: Likewise.
	* include/decimal/decimal.h: Likewise.
	* include/experimental/algorithm: Likewise.
	* include/experimental/any: Likewise.
	* include/experimental/array: Likewise.
	* include/experimental/bits/erase_if.h: Likewise.
	* include/experimental/bits/fs_dir.h: Likewise.
	* include/experimental/bits/fs_fwd.h: Likewise.
	* include/experimental/bits/fs_ops.h: Likewise.
	* include/experimental/bits/fs_path.h: Likewise.
	* include/experimental/bits/lfts_config.h: Likewise.
	* include/experimental/bits/shared_ptr.h: Likewise.
	* include/experimental/bits/string_view.tcc: Likewise.
	* include/experimental/chrono: Likewise.
	* include/experimental/deque: Likewise.
	* include/experimental/filesystem: Likewise.
	* include/experimental/forward_list: Likewise.
	* include/experimental/functional: Likewise.
	* include/experimental/iterator: Likewise.
	* include/experimental/list: Likewise.
	* include/experimental/map: Likewise.
	* include/experimental/memory: Likewise.
	* include/experimental/memory_resource: Likewise.
	* include/experimental/numeric: Likewise.
	* include/experimental/optional: Likewise.
	* include/experimental/propagate_const: Likewise.
	* include/experimental/random: Likewise.
	* include/experimental/ratio: Likewise.
	* include/experimental/regex: Likewise.
	* include/experimental/set: Likewise.
	* include/experimental/source_location: Likewise.
	* include/experimental/string: Likewise.
	* include/experimental/string_view: Likewise.
	* include/experimental/system_error: Likewise.
	* include/experimental/tuple: Likewise.
	* include/experimental/type_traits: Likewise.
	* include/experimental/unordered_map: Likewise.
	* include/experimental/unordered_set: Likewise.
	* include/experimental/utility: Likewise.
	* include/experimental/vector: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/typelist.h: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/functional: Likewise.
	* include/std/numeric: Likewise.
	* include/std/string_view: Likewise.
	* include/std/thread: Likewise.
	* include/std/variant: Likewise.
	* include/tr1/array: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/beta_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/complex: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/exp_integral.tcc: Likewise.
	* include/tr1/functional: Likewise.
	* include/tr1/functional_hash.h: Likewise.
	* include/tr1/gamma.tcc: Likewise.
	* include/tr1/hashtable.h: Likewise.
	* include/tr1/hashtable_policy.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1/modified_bessel_func.tcc: Likewise.
	* include/tr1/poly_hermite.tcc: Likewise.
	* include/tr1/poly_laguerre.tcc: Likewise.
	* include/tr1/random.h: Likewise.
	* include/tr1/random.tcc: Likewise.
	* include/tr1/regex: Likewise.
	* include/tr1/riemann_zeta.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/special_function_util.h: Likewise.
	* include/tr1/tuple: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/unordered_map.h: Likewise.
	* include/tr1/unordered_set.h: Likewise.
	* include/tr1/utility: Likewise.
	* include/tr2/bool_set: Likewise.
	* include/tr2/bool_set.tcc: Likewise.
	* include/tr2/dynamic_bitset: Likewise.
	* include/tr2/dynamic_bitset.tcc: Likewise.
	* include/tr2/ratio: Likewise.
	* include/tr2/type_traits: Likewise.
	* src/c++11/chrono.cc: Likewise.
	* src/c++11/compatibility-c++0x.cc: Likewise.
	* src/c++11/compatibility-chrono.cc: Likewise.
	* src/c++11/cxx11-shim_facets.cc: Likewise.
	* src/c++11/hashtable_c++0x.cc: Likewise.
	* src/c++11/placeholders.cc: Likewise.
	* src/c++11/thread.cc: Likewise.
	* src/c++98/bitmap_allocator.cc: Likewise.
	* src/c++98/hashtable_tr1.cc: Likewise.
	* src/c++98/list.cc: Likewise.
	* src/shared/hashtable-aux.cc: Likewise.
	* testsuite/20_util/duration/literals/range.cc: Adapt line number.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/forward/c_neg.cc: Likewise.
	* testsuite/20_util/forward/f_neg.cc: Likewise.
	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
	* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
	* python/libstdcxx/v6/printers.py: Adapt.

From-SVN: r250458
2017-07-23 08:41:35 +00:00
GCC Administrator ab45a34c44 Daily bump.
From-SVN: r250457
2017-07-23 00:16:26 +00:00
GCC Administrator bd3d1c9f76 Daily bump.
From-SVN: r250451
2017-07-22 00:16:29 +00:00
Carl Love 5ff4baa5b7 rs6000-c.c (altivec_overloaded_builtins): Add ALTIVEC_BUILTIN_VMULESW...
gcc/ChangeLog:

2017-07-21  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
	VMULOSW): New enum "unspec" values.
	(altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
	altivec_vmulosw): New patterns.
	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
	VMULOSW): Add definitions.

gcc/testsuite/ChangeLog:

2017-07-21  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-2.c (vmulosh, vmulouh, vmulesh,
	vmuleuh): Fix scan-assembler-times should check for word not half word
	instructions.

From-SVN: r250450
2017-07-22 00:16:26 +00:00
Jim Wilson 43f84f6c0b Add RDMA support to falkor port.
gcc/
	* config/aarch64/aarch64-cores.def (falkor): Add AARCH64_FL_RDMA.
	(qdf24xx): Likewise.
	* config/aarch64/aarch64-options-extensions.def (rdma); New.
	* config/aarch64/aarch64.h (AARCH64_FL_RDMA): New.
	(AARCH64_FL_V8_1): Renumber.
	(AARCH64_FL_FOR_ARCH8_1): Add AARCH64_FL_RDMA.
	(AARCH64_ISA_RDMA): Use AARCH64_FL_RDMA.
	* config/aarch64/arm_neon.h: Use +rdma instead of arch=armv8.1-a.
	* doc/invoke.texi (AArch64 Options): Mention +rmda in -march docs.  Add
	rdma to feature modifiers list.

	gcc/testsuite/
	* lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Delete
	redundant -march option.
	(check_effective_target_arm_v8_1a_neon_ok_nocache): Try armv8-a+rdma
	in addition to armv8.1-a.

From-SVN: r250444
2017-07-21 14:56:57 -07:00
Ian Lance Taylor 0901429d47 syscall: call f?statfs64 on GNU/Linux
We unconditionally set _FILE_OFFSET_BITS to 64 in configure.ac, so we
    should unconditionally call the statfs64 and fstatfs64 functions.
    These functions should be available on all versions of GNU/Linux since 2.6.
    On 64-bit systems they are aliased to statfs/fstatfs, and on 32-bit
    systems they use the 64-bit data structures.
    
    Fixes golang/go#20922
    
    Reviewed-on: https://go-review.googlesource.com/50635

From-SVN: r250443
2017-07-21 20:25:13 +00:00
Yury Gribov 325fe81618 re PR middle-end/56727 (Recursive call goes through the PLT unnecessarily)
2017-07-21  Yury Gribov  <tetra2005@gmail.com>

	PR middle-end/56727
	* ipa-visibility (function_and_variable_visibility): Convert
	recursive PLT call to direct call if appropriate.

	* gcc.dg/pr56727-1.c: New test.
	* gcc.dg/pr56727-2.c: New test.

From-SVN: r250442
2017-07-21 19:48:51 +00:00
Nathan Sidwell d5c125ca0c search.c (lookup_conversion_operator): Return overloads.
* search.c (lookup_conversion_operator): Return overloads.
	(lookup_fnfields_idx_nolazy): Absorb into ...
	(lookup_fnfields_slot_nolaxy): ... here.
	(lookup_fnfields_1): Absorb into ...
	(lookup_fnfields_slot): ... here.

From-SVN: r250440
2017-07-21 19:23:40 +00:00
Ian Lance Taylor df206c6e77 runtime: don't use runtime_lock in __go_get_backtrace_state
If getSiginfo does not know how to determine the PC, it will call
    runtime_callers. That can happen in a thread that was started by
    non-Go code, in which case the TLS variable g will not be set, in
    which case runtime_lock will crash.
    
    Avoid the problem by using atomic operations for the lock. This is OK
    since creating a backtrace state is fast and never blocks.
    
    The test case is TestCgoExternalThreadSIGPROF in the runtime package
    on a system that getSiginfo doesn't handle specially.
    
    Updates golang/go#20931
    
    Reviewed-on: https://go-review.googlesource.com/50650

From-SVN: r250439
2017-07-21 18:27:35 +00:00
Nathan Sidwell 2401ffc3fe Remove special CDtor METHOD_VEC slots.
* cp-tree.h (CLASSTYPE_CONSTRUCTOR_SLOT,
	CLASSTYPE_DESTRUCTOR_SLOT): Delete.
	(CLASSTYPE_CONSTRUCTORS): Use lookup_fnfields_slot_nolazy.
	(CLASSTYPE_DESTRUCTOR): Likewise.
	* class (add_method): Don't use special cdtor slots.
	* search.c (lookup_fnfields_idx_nolazy): Likewise.
	(look_for_overrides_here): Use lookup_fnfields_slot.
	* semantics (classtype_has_nothrow_assign_or_copy_p): Likewise.

From-SVN: r250437
2017-07-21 18:11:23 +00:00
Ian Lance Taylor 0ab7176094 runtime: handle PPC/PPC64 GNU/Linux in getSiginfo
Updates golang/go#20931
    
    Reviewed-on: https://go-review.googlesource.com/50631

From-SVN: r250436
2017-07-21 18:08:01 +00:00
Tony Reix b3530b946f filetype.awk: Add AIX XCOFF type detection.
* filetype.awk: Add AIX XCOFF type detection.
	* configure.ac: Recognize xcoff format.
	* Makefile.am (FORMAT_FILES): Add xcoff.c.
	* fileline.c: Include <unistd.h>.
	(fileline_initialize): Add case for AIX procfs.
	* xcoff.c: New file.
	* configure, Makefile.in: Rebuild.

From-SVN: r250435
2017-07-21 18:05:08 +00:00
Nathan Sidwell 60f80e6541 call.c (add_candidates): Move decls to initialization.
* call.c (add_candidates): Move decls to initialization.  Don't
	use !!.

From-SVN: r250434
2017-07-21 17:58:48 +00:00
Ian Lance Taylor 048f0471d2 runtime: allocate more stack space in CgoCallbackGC test
Allocate enough stack space so that the test will work on a system
    that does not support split stacks.
    
    This test is actually not very meaningful for gccgo at present, but it
    doesn't hurt to keep running it.
    
    Updates golang/go#20931
    
    Reviewed-on: https://go-review.googlesource.com/50630

From-SVN: r250433
2017-07-21 17:50:14 +00:00
Steven Munroe 5a5838e09e Now completeting the mmintrin.h intrinsic headers for PowerPC by
adding the DG tests.

2017-07-21  Steven Munroe  <munroesj@gcc.gnu.org>

	* gcc.target/powerpc/mmx-check.h: New file.
	* gcc.target/powerpc/mmx-packs.c: New file.
	* gcc.target/powerpc/mmx-packssdw-1.c: New file.
	* gcc.target/powerpc/mmx-packsswb-1.c: New file.
	* gcc.target/powerpc/mmx-packuswb-1.c: New file.
	* gcc.target/powerpc/mmx-paddb-1.c: New file.
	* gcc.target/powerpc/mmx-paddd-1.c: New file.
	* gcc.target/powerpc/mmx-paddsb-1.c: New file.
	* gcc.target/powerpc/mmx-paddsw-1.c: New file.
	* gcc.target/powerpc/mmx-paddusb-1.c: New file.
	* gcc.target/powerpc/mmx-paddusw-1.c: New file.
	* gcc.target/powerpc/mmx-paddw-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpeqb-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpeqd-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpeqw-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpgtb-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpgtd-1.c: New file.
	* gcc.target/powerpc/mmx-pcmpgtw-1.c: New file.
	* gcc.target/powerpc/mmx-pmaddwd-1.c: New file.
	* gcc.target/powerpc/mmx-pmulhw-1.c: New file.
	* gcc.target/powerpc/mmx-pmullw-1.c: New file.
	* gcc.target/powerpc/mmx-pslld-1.c: New file.
	* gcc.target/powerpc/mmx-psllw-1.c: New file.
	* gcc.target/powerpc/mmx-psrad-1.c: New file.
	* gcc.target/powerpc/mmx-psraw-1.c: New file.
	* gcc.target/powerpc/mmx-psrld-1.c: New file.
	* gcc.target/powerpc/mmx-psrlw-1.c: New file.
	* gcc.target/powerpc/mmx-psubb-2.c: New file.
	* gcc.target/powerpc/mmx-psubd-2.c: New file.
	* gcc.target/powerpc/mmx-psubsb-1.c: New file.
	* gcc.target/powerpc/mmx-psubsw-1.c: New file.
	* gcc.target/powerpc/mmx-psubusb-1.c: New file.
	* gcc.target/powerpc/mmx-psubusw-1.c: New file.
	* gcc.target/powerpc/mmx-psubw-2.c: New file.
	* gcc.target/powerpc/mmx-punpckhbw-1.c: New file.
	* gcc.target/powerpc/mmx-punpckhdq-1.c: New file.
	* gcc.target/powerpc/mmx-punpckhwd-1.c: New file.
	* gcc.target/powerpc/mmx-punpcklbw-1.c: New file.
	* gcc.target/powerpc/mmx-punpckldq-1.c: New file.
	* gcc.target/powerpc/mmx-punpcklwd-1.c: New file.

From-SVN: r250432
2017-07-21 17:44:22 +00:00
Andrew Pinski 27ecd5c2b0 tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's operand 1 to see if the types precision matches.
2017-07-21  Andrew Pinski  <apinski@cavium.com>

        * tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's
        operand 1 to see if the types precision matches.
        * fold-const.c (operand_equal_p): Likewise.

From-SVN: r250431
2017-07-21 10:16:51 -07:00
Jonathan Wakely 8c7331c556 Add AddressSanitizer annotations to std::vector
* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__]
	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
	* config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__]
	(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
	* doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro.
	* include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR]
	(_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit)
	(_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT)
	(_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW)
	(_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC):
	Define annotation helper types and macros.
	(vector::~vector, vector::push_back, vector::pop_back)
	(vector::_M_erase_at_end): Add annotations.
	* include/bits/vector.tcc (vector::reserve, vector::emplace_back)
	(vector::insert, vector::_M_erase, vector::operator=)
	(vector::_M_fill_assign, vector::_M_assign_aux)
	(vector::_M_insert_rval, vector::_M_emplace_aux)
	(vector::_M_insert_aux, vector::_M_realloc_insert)
	(vector::_M_fill_insert, vector::_M_default_append)
	(vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate.

From-SVN: r250430
2017-07-21 17:05:10 +01:00
Georg-Johann Lay 5c2dee6fc9 re PR lto/81487 ([mingw32] ld.exe: error: asprintf failed)
lto-plugin/
	PR lto/81487
	* lto-plugin.c (claim_file_handler): Use xasprintf instead of
	asprintf.
	[hi!=0]: Swap hi and lo arguments supplied to xasprintf.

From-SVN: r250428
2017-07-21 15:58:14 +00:00
Richard Biener d629ab4496 re PR tree-optimization/81303 (410.bwaves regression caused by r249919)
2017-07-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81303
	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Pass
	in datarefs vector.  Allow NULL dr0 for no peeling cost estimate.
	(vect_peeling_hash_get_lowest_cost): Adjust.
	(vect_enhance_data_refs_alignment): Likewise.  Use
	vect_get_peeling_costs_all_drs to compute the penalty for no
	peeling to match up costs.

From-SVN: r250424
2017-07-21 11:32:39 +00:00
Richard Biener 9af7f3731b re PR tree-optimization/81500 (ICE with -O3 in process_use, at tree-vect-stmts.c:506)
2017-06-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81500
	* tree-vect-loop.c (vect_is_simple_reduction): Properly fail if
	we didn't identify a reduction path.

	* gcc.dg/torture/pr81500.c: New testcase.

From-SVN: r250423
2017-07-21 11:32:01 +00:00
Tom de Vries 8c38aed722 Add missing edge probabilities in nvptx_goacc_reduction_init
2017-07-21  Tom de Vries  <tom@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>

	PR gcov-profile/81442
	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Add missing edge
	probabilities.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r250422
2017-07-21 09:46:22 +00:00
Tom de Vries 967a353a72 Add nvptx_override_options_after_change
2017-07-21  Tom de Vries  <tom@codesourcery.com>

	PR lto/81430
	* config/nvptx/nvptx.c (nvptx_override_options_after_change): New
	function.
	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define to
	nvptx_override_options_after_change.

From-SVN: r250421
2017-07-21 09:46:05 +00:00
Ulrich Drepper 4bb3f8b53f dwarf2out.c (output_file_names): Avoid double testing for dwarf_version >= 5.
gcc/
	* dwarf2out.c (output_file_names): Avoid double testing for
	dwarf_version >= 5.

From-SVN: r250420
2017-07-21 08:57:04 +00:00
Georg-Johann Lay 74360f142c invoke.texi (AVR Built-in Functions): Re-layout section.
gcc/
	* doc/invoke.texi (AVR Built-in Functions): Re-layout section.

From-SVN: r250419
2017-07-21 08:20:51 +00:00
Jan Hubicka ba61fc5308 cfgcleanup.c (flow_find_cross_jump): Do not crossjump across hot/cold regions.
* cfgcleanup.c (flow_find_cross_jump): Do not crossjump across
	hot/cold regions.
	(try_crossjump_to_edge): Do not punt on partitioned functions.

From-SVN: r250418
2017-07-21 07:17:57 +00:00
Jan Hubicka d9af4feaf0 bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): Put all BBs reachable only via paths crossing cold region to cold region.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
	Put all BBs reachable only via paths crossing cold region to cold
	region.
	* cfgrtl.c (find_bbs_reachable_by_hot_paths): New function.

From-SVN: r250417
2017-07-21 07:17:22 +00:00
Richard Biener 1dae21ad97 re PR tree-optimization/81303 (410.bwaves regression caused by r249919)
2016-07-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81303
	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Take
	into account prologue and epilogue iterations when raising
	min_profitable_iters to sth at least covering one vector iteration.

From-SVN: r250416
2017-07-21 07:13:57 +00:00
Tamar Christina ac48cd5e89 arm.c (arm_test_cpu_arch_dat): Check for overlap.
2017-07-21  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm.c (arm_test_cpu_arch_dat):
	Check for overlap.

From-SVN: r250415
2017-07-21 06:46:05 +00:00
Nathan Sidwell 5aaa8fb406 Remove TYPE_METHODS.
gcc/
	Remove TYPE_METHODS.
	* tree.h (TYPE_METHODS): Delete.
	* dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS.
	* dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs.
	(dbxout_type_methods): Scan TYPE_FIELDS.
	(dbxout_type): Don't check TYPE_METHODS here.
	* function.c (use_register_for_decl): Always ignore register for
	class types when not optimizing.
	* ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan.
	* tree.c (free_lang_data_in_type): Stitch out member functions and
	templates from TYPE_FIELDS.
	(build_distinct_type_copy, verify_type_variant,
	verify_type): Member fns are on TYPE_FIELDS.
	* tree-dump.c (dequeue_and_dump): No TYPE_METHODS.
	* tree-pretty-print.c (dump_generic_node): Likewise.

	gcc/cp/
	Remove TYPE_METHODS.
	* class.c (maybe_warn_about_overly_private_class,
	finish_struct_methods, one_inheriting_sig, count_fields,
	add_fields_to_record_type, check_field_decls, check_methods,
	clone_function_decl, set_method_tm_attributes,
	finalize_literal_type_property, check_bases_and_members,
	create_vtable_ptr, determine_key_method,
	unreverse_member_declarations, finish_struct,
	add_vcall_offset_vtbl_entries_1): Member fns are on TYPE_FIELDS.
	* decl.c (fixup_anonymous_aggr): Likewise.
	* decl2.c (reset_type_linkage_2): Likewise.
	* method.c (after_nsdmi_defaulted_late_checks,
	lazily_declare_fn): Likewise.
	* optimize.c (maybe_thunk_body, maybe_clone_body): Likewise.
	* pt.c (instantiate_class_template_1, tsubst_expr,
	do_type_instantiation, instantiate_pending_templates): Likewise.
	* search.c (lookup_field_1): Likewise.
	* semantics.c (finish_member_declaration,
	finish_omp_declare_simd_methods): Likewise.

	gcc/c-family/
	Remove TYPE_METHODS.
	* c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
	dump_ada_template, print_ada_methods,
	print_ada_declaration): Member fns are on TYPE_FIELDS.

	gcc/objc/
	Remove TYPE_METHODS.
	* objc-runtime-shared-support.c (build_ivar_list_initializer):
	Don't presume first item is a FIELD_DECL.

	gcc/testsuite/
	* g++.dg/ext/anon-struct6.C: Adjust diag.
	* g++.old-deja/g++.other/anon4.C: Adjust diag.

	libcc1/
	Remove TYPE_METHODS.
	* libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS.

From-SVN: r250413
2017-07-21 00:27:51 +00:00
GCC Administrator 61612fa5da Daily bump.
From-SVN: r250412
2017-07-21 00:16:34 +00:00