Commit Graph

61907 Commits

Author SHA1 Message Date
Michael Meissner 006df05d5c Revert 2016-01-13 change.
From-SVN: r232392
2016-01-14 21:54:16 +00:00
Jeff Law cf73ed7b40 Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
	typo.

From-SVN: r232391
2016-01-14 14:43:20 -07:00
Richard Henderson 47c147b03f re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)
PR c/69272
PR tree-opt/68964

  * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
  * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
  instead of builtin_decl_declared_p to test for declaration.

From-SVN: r232390
2016-01-14 13:36:12 -08:00
Nicklas Bo Jensen 4318655262 loop.texi (Loop Analysis and Representation): Document loop_depth function.
* doc/loop.texi (Loop Analysis and Representation): Document
	loop_depth function.

From-SVN: r232389
2016-01-14 14:03:11 -07:00
Tom de Vries e6d6ec9e06 Mark symbols in offload tables with force_output in read_offload_tables
2016-01-14  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/68773
	* c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
	set force_output.

	* parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
	set force_output.

	* omp-low.c (expand_omp_target): Don't set force_output.
	* varpool.c (varpool_node::get_create): Same.
	* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
	offload_funcs with force_output.

From-SVN: r232384
2016-01-14 20:01:39 +00:00
Jakub Jelinek cd65ae9071 re PR debug/69244 (ICE in plus_constant, at explow.c:87 on i686-linux-gnu)
PR debug/69244
	* lra-eliminations.c (move_plus_up): Don't change anything if either
	the outer or inner subreg mode is not MODE_INT.
	* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
	integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.

	* gcc.dg/guality/pr69244.c: New test.

From-SVN: r232382
2016-01-14 20:57:34 +01:00
Alan Lawrence b56ed680d4 Tidy: remove reduc_xxx_optab migration code.
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
	reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
	reduc_uplus_@var{m}): Remove.
	* expr.c (expand_expr_real_2): Remove expansion path for
	reduc_[us](min|max|plus) optabs.
	* optabs-tree.c (scalar_reduc_to_vector): Remove.
	* optabs-tree.h (scalar_reduc_to_vector): Remove.
	* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
	reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
	* tree-vect-loop.c (vectorizable_reduction): Remove test for
	reduc_[us](min|max|plus) optabs.

From-SVN: r232373
2016-01-14 16:30:56 +00:00
Alan Lawrence 59a2f0fa2a [MIPS] Migrate reduction optabs in mips-ps-3d.md
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
	(reduc_plus_scal_v2sf): New.
	(reduc_smax_v2sf): Rename to...
	(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
	(reduc_smin_v2sf): Rename to...
	(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.

From-SVN: r232371
2016-01-14 16:19:59 +00:00
Jan Hubicka 73e48cb322 alias.c (compare_base_symbol_refs): New function.
* alias.c (compare_base_symbol_refs): New function.
	(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
	it.

From-SVN: r232369
2016-01-14 15:30:12 +00:00
Jakub Jelinek 0c9b32949e re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)
PR middle-end/68146
	PR tree-optimization/69155
	* tree-complex.c: Include cfganal.h.
	(phis_to_revisit): New variable.
	(extract_component): Add phiarg_p argument.  Assert that returned
	SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
	(update_phi_components): Partly rewrite to use loop over real/imag
	components instead of code duplication.  If extract_component returns
	SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
	create_tmp_reg into the PHI node instead, and mention the phi triplet
	in phis_to_revisit.
	(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
	in phis_to_revisit at the end.

	* gfortran.dg/pr68146.f: New test.
	* gfortran.dg/pr69155.f90: New test.

From-SVN: r232368
2016-01-14 16:25:22 +01:00
Richard Biener 3688e13db3 re PR tree-optimization/68060 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1413)
2016-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68060
	* tree-vect-loop.c (vect_is_simple_reduction): Check the
	outer loop reduction is only used in the inner loop before
	detecting a double reduction.

	* gcc.dg/torture/pr68060-1.c: New testcase.
	* gcc.dg/torture/pr68060-2.c: Likewise.

From-SVN: r232367
2016-01-14 15:13:19 +00:00
Jakub Jelinek a2ae4661ab re PR target/68269 (FAIL: gcc.dg/pr68129_1.c (internal compiler error))
PR target/68269
	* combine.c (expand_field_assignment): Punt if compute_mode is
	unsupported scalar mode.

From-SVN: r232366
2016-01-14 16:10:41 +01:00
Richard Biener e403d17e3d re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)
2016-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66856
	* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
	SLP node only if it built successfully.
	(vect_analyze_slp_instance): Adjust.

From-SVN: r232364
2016-01-14 14:51:35 +00:00
Jeff Law 947c2ce56c [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
PR tree-optimization/69270
	* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
	(record_edge_info): Use it.  Convert boolean_{true,false}_node
	to the type of op0.

	PR tree-optimization/69270
	* gcc.dg/tree-ssa/pr69270.c: New test.

From-SVN: r232361
2016-01-14 00:38:18 -07:00
Jan Hubicka 92763e9ac7 re PR c++/66487 (sanitizer/warnings for lifetime DSE)
PR ipa/66487
	* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
	use block_ultimate_origin
	(noncall-stmt_may_be_vtbl_ptr_store): Likewise.

From-SVN: r232356
2016-01-13 23:47:45 +00:00
Sandra Loosemore 13431f304a invoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to better reflect its content.
2016-01-13  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Submodel Options): Rename section to
	"Machine-Dependent Options" to better reflect its content.
	Rewrite introductory text to remove archaic CPU names.
	Update references.

From-SVN: r232355
2016-01-13 18:27:48 -05:00
Sandra Loosemore d6683aec5e invoke.texi (Code Gen Options): Move section up in file, before target-specific options.
2016-01-13  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Code Gen Options): Move section up in file,
	before target-specific options.  Update menu and option summary
	to reflect the new section ordering.

From-SVN: r232352
2016-01-13 16:03:45 -05:00
Jonathan Wakely 36d421ec4e Improve documentation of -std option for C++
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
	(C++ Dialect Options): Add cross-reference to -std option.
	* doc/standards.texi (C++ Language): Document C++14 support.

From-SVN: r232349
2016-01-13 20:30:34 +00:00
Michael Meissner 29176d57e6 rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.
[gcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
	for pack/unpack functions for __ibm128.
	(PACK_IF): Likewise.
	(UNPACK_IF): Likewise.

	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
	support for __ibm128 pack/unpack functions.
	(rs6000_invalid_builtin): Likewise.
	(rs6000_init_builtins): Likewise.
	(rs6000_opt_masks): Likewise.

	* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
	(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
	functions
	(RS6000_BTM_COMMON): Likewise.

	* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
	(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
	disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
	128-bit floating point.  Add support for the double values to be
	in Altivec registers for TF/IF packing and unpacking, but restrict
	TD packing sub-fields to be FPR registers.  Don't allow overlapped
	register support for packing.  Allow pack inputs to be memory
	locations.  Don't build generator functions for unpack<mode>_dm
	and unpack<mode>_nodm.
	(unpack<mode>_dm): Likewise.
	(unpack<mode>_nodm): Likewise.
	(pack<mode>): Likewise.

	* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
	built-in functions to pack/unpack explicit __ibm128 values.
	(__builtin_unpack_ibm128): Likewise.

	* doc/extend.texi (PowerPC Built-in Functions): Document
	__builtin_pack_ibm128 and __builtin_unpack_ibm128.

[libgcc]
2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Steven Munroe <munroesj@linux.vnet.ibm.com>
	    Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>

	* config/rs6000/sfp-exceptions.c: New file to provide exception
	support for IEEE 128-bit floating point.

	* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
	floating point hardware support.

	* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
	point conversions.
	* config/rs6000/fixunskfti.c: Likewise.
	* config/rs6000/fixkfti.c: Likewise.
	* config/rs6000/floatuntikf.c: Likewise.
	* config/rs6000/extendkftf2-sw.c: Likewise.
	* config/rs6000/trunctfkf2-sw.c: Likewise.

	* config/rs6000/float128-ifunc.c: New file to pick either IEEE
	128-bit floating point software emulation or use ISA 3.0 hardware
	support if it is available.

	* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
	floating point.

	* config/rs6000/t-float128: New Makefile fragments to enable
	building __float128 emulation support.
	* config/rs6000/t-float128-hw: Likewise.

	* config/rs6000/float128-sed: New file to convert TF names to KF
	names for PowerPC IEEE 128-bit floating point support.

	* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
	when building on 64-bit systems, or when VSX is enabled.
	(_FP_W_TYPE): Likewise.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.
	(TItype): Define on 64-bit systems.
	(UTItype): Likewise.
	(TI_BITS): Likewise.
	(_FP_MUL_MEAT_D): Add support for using 64-bit types.
	(_FP_MUL_MEAT_Q): Likewise.
	(_FP_DIV_MEAT_D): Likewise.
	(_FP_DIV_MEAT_Q): Likewise.
	(_FP_NANFRAC_D): Likewise.
	(_FP_NANFRAC_Q): Likewise.
	(ISA_BIT): Add exception support if we are being compiled on a
	machine with hardware floating point support to build the IEEE
	128-bit emulation functions.
	(FP_EX_INVALID): Likewise.
	(FP_EX_OVERFLOW): Likewise.
	(FP_EX_UNDERFLOW): Likewise.
	(FP_EX_DIVZERO): Likewise.
	(FP_EX_INEXACT): Likewise.
	(FP_EX_ALL): Likewise.
	(__sfp_handle_exceptions): Likewise.
	(FP_HANDLE_EXCEPTIONS): Likewise.
	(FP_RND_NEAREST): Likewise.
	(FP_RND_ZERO): Likewise.
	(FP_RND_PINF): Likewise.
	(FP_RND_MINF): Likewise.
	(FP_RND_MASK): Likewise.
	(_FP_DECL_EX): Likewise.
	(FP_INIT_ROUNDMODE): Likewise.
	(FP_ROUNDMODE): Likewise.

	* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
	compiler can do __float128.
	* configure: Regenerate.

	* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
	VSX code, enable IEEE 128-bit floating point.

From-SVN: r232346
2016-01-13 20:07:12 +00:00
Bernd Schmidt 3342fd71e0 Improve warning locations (PR66208)
PR c/66208
	* c-common.c (check_function_nonnull): Remove unnecessary declaration.
	Add new arg loc and pass it down as context.
	(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
	to the location to use for the warning.
	(check_function_arguments): New arg loc.  All callers changed.  Pass
	it to check_function_nonnull.
	* c-common.h (check_function_arguments): Adjust declaration.

testsuite/
	PR c/66208
	* c-c++-common/pr66208.c: New file.

From-SVN: r232345
2016-01-13 20:03:26 +00:00
Jakub Jelinek 2ad3adf102 re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial conversion at assignment with -fno-tree-ccp)
PR tree-optimization/69156
	* gimple.c (validate_type): Removed.
	(gimple_builtin_call_types_compatible_p): Use
	useless_type_conversion_p instead of validate_type.
	* value-prof.c (gimple_stringop_fixed_value): Fold
	icall_size to correct type.

	* gcc.dg/pr69156.c: New test.

From-SVN: r232342
2016-01-13 20:21:59 +01:00
Jonathan Wakely 260936f29d Clarify __atomic_compare_exchange effects
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
	effects.

From-SVN: r232341
2016-01-13 19:07:21 +00:00
Richard Henderson 4c868789e4 re PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since r231674)
PR 68964

gcc/
 PR tree-opt/68964
 * target.def (builtin_tm_load, builtin_tm_store): Remove.
 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
 (ix86_builtin_tm_store): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi: Rebuild.
 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
 (BUILT_IN_TM_MEMCPY_RTWN): New.
 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
 fallback from vector to integer helpers.
 (build_tm_load): Handle vector types directly, instead of
 via target hook.
 (build_tm_store): Likewise.
 (expand_assign_tm): Prepare for register types not handled by
 the above.  Copy them to memory and use memcpy.
 * tree.c (tm_define_builtin): New.
 (find_tm_vector_type): New.
 (build_tm_vector_builtins): New.
 (build_common_builtin_nodes): Call it.

libitm/
 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
 * configure.ac (ARCH_AARCH64): New conditional.
 (ARCH_PPC, ARCH_S390): Likewise.
 * Makefile.in, configure: Rebuild.
 * libitm.h (_ITM_TYPE_M128): Always define.
 * vect64.cc: Split ...
 * vect128.cc: ... out of...
 * config/x86/x86_sse.cc: ... here.
 * config/arm/neon.cc: New file.

From-SVN: r232330
2016-01-13 09:03:42 -08:00
Uros Bizjak ef6d177268 pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
	* gcc.target/i386/pr68432-1.c (dg-options): Ditto.
	* gcc.target/i386/pr68432-2.c (dg-options): Ditto.
	* gcc.target/i386/pr68432-3.c (dg-options): Ditto.

From-SVN: r232329
2016-01-13 17:50:17 +01:00
Uros Bizjak 6235f59c57 i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for TARGET_SSE_MATH without TARGET_SSE2.
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
	TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.

From-SVN: r232328
2016-01-13 17:41:46 +01:00
Yvan Roux 4e3999a75b arm-arches.def: Remove spurious whitespace in "armv8.1-a" and "armv8.1-a+crc" entries.
2016-01-13  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
	and "armv8.1-a+crc" entries.

From-SVN: r232325
2016-01-13 15:28:28 +00:00
Alexander Fomin 8866d62c0a AVX512: Restrict default masks for prefetch gather/scatter
instructions.

gcc/

	PR target/69228
	* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
	Change first operand predicate from register_or_constm1_operand
	to register_operand.
	(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
	(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
	(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
	(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
	(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
	(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
	(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
	* config/i386/i386.c (ix86_expand_builtin): Remove first operand
	comparison with constm1_rtx from vec_prefetch_gen part.

gcc/testsuite

	PR target/69228
	* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Adjust.
	* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Likewise.
	* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Likewise.

From-SVN: r232324
2016-01-13 09:31:13 -05:00
Richard Biener 8bc47ae2a7 re PR tree-optimization/69013 (gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unrealizable_paths, at tree-ssa-uninit.c:1121)
2016-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69013
	* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
	Exchange assert for a test.

From-SVN: r232320
2016-01-13 12:15:01 +00:00
Andreas Krebbel 9060e33505 S/390: PR69247: Fix bswap hi splitter.
gcc/ChangeLog:

2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/69247
	* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.

gcc/testsuite/ChangeLog:

2016-01-13  Jakub Jelinek  <jakub@redhat.com>

	PR target/69247
	* gcc.dg/pr69247.c: New test.

From-SVN: r232318
2016-01-13 11:59:29 +00:00
Richard Biener 40311329e5 re PR tree-optimization/69242 (ICE in visit_reference_op_load, at tree-ssa-sccvn.c:3224)
2016-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69242
	* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
	assert with a check.

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

From-SVN: r232315
2016-01-13 08:27:42 +00:00
Richard Biener ccbd710399 re PR tree-optimization/69186 (ICE at -O3 on x86_64-linux-gnu in vect_update_misalignment_for_peel, at tree-vect-data-refs.c:889)
2016-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69186
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Properly guard vect_update_misalignment_for_peel call.

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

From-SVN: r232314
2016-01-13 08:26:45 +00:00
Jeff Law c6f72a4614 [PATCH][PR tree-optimization/pr67755] Fix profile insanity adjustments
PR tree-optimization/pr67755
	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
	"need_profile_correction".
	(thread_block_1): Initialize new field to false by default.  If we
	have multiple thread paths through a common joiner to different
	final targets, then set new field to true.
	(compute_path_counts): Only do count adjustment when it's really
	needed.

	PR tree-optimization/67755
	* gcc.dg/tree-ssa/pr67755.c: New test.

From-SVN: r232313
2016-01-12 21:17:36 -07:00
Sandra Loosemore 5ee4820a1f invoke.texi (Spec Files): Move section down in file, past all command-line option descriptions.
2016-01-12  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Spec Files): Move section down in file, past
	all command-line option descriptions.

From-SVN: r232311
2016-01-12 22:27:24 -05:00
Trevor Saunders 36365906b7 remove mark_hook gty attribute
gcc/ChangeLog:

2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	PR middle-end/54809
	* doc/gty.texi: Remove documentation of mark_hook.
	* gengtype.c (struct write_types_data): Remove code to support
	mark_hook attribute.
	(walk_type): Likewise.
	(write_func_for_structure): Likewise.

From-SVN: r232309
2016-01-13 02:51:11 +00:00
Sandra Loosemore ad9c3d9d46 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
gcc/
	* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
	Directory Options, and -specs= to Overall Options.
	(Overall Options): Adjust similarly.  Reorder to group related
	options together.  Make -specs= cross-reference the spec file details.
	(Directory Options): Adjust similarly.

From-SVN: r232306
2016-01-12 19:40:41 -05:00
Jeff Law bd4b6b0d78 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
From-SVN: r232297
2016-01-12 15:38:06 -07:00
Olivier Hainque ba85c5fd8f Prevent "undef var" errors on gcc --help or --version with self-specs
* gcc.c (spec_undefvar_allowed): New global.
        (process_command): Set to true when running for --version or --help,
        alone or together.
        (getenv_spec_function): When the variable is not defined, use the
        variable name as the variable value if we're allowed not to issue
        a fatal error.

From-SVN: r232287
2016-01-12 17:53:14 +00:00
Bin Cheng c446cf07e9 re PR tree-optimization/68911 (wrong code with -O1 -ftree-vrp)
PR tree-optimization/68911
	* tree-vrp.c (adjust_range_with_scev): Check overflow in range
	information computed for expression "init + nit * step".

	gcc/testsuite/ChangeLog
	PR tree-optimization/68911
	* gcc.c-torture/execute/pr68911.c: New test.

From-SVN: r232286
2016-01-12 17:49:51 +00:00
Sandra Loosemore ee30410c37 invoke.texi (Invoking GCC): Copy-edit.
2016-01-12  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
	about name of GCC executable.  Remove deleted node from menu.
	(Directory Options) <-B>: Remove cross-reference to deleted node.
	(Target Options): Delete section.

From-SVN: r232285
2016-01-12 12:34:37 -05:00
Christian Bruel 81b9a3d9f5 re PR target/69180 ([ARM] #pragma GCC target should not warn about redefined macros)
PR target/69180
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.

From-SVN: r232276
2016-01-12 16:01:12 +01:00
Jakub Jelinek 8b1bbf9cd7 re PR target/69198 (FAIL: gcc.target/i386/avx512vl-vmovaps-1.c scan-assembler-times vmovaps[ \\t]+[^{\n]*%xmm[0-9]+[^\n]*\\){%k[1-7]}(?:\n|[ \\t]+#) 1)
PR target/69198
	* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
	aligned_mem is properly set for AVX512-VL floating point masked
	stores.

From-SVN: r232268
2016-01-12 14:20:33 +01:00
Jakub Jelinek 5664cea1cd re PR target/69175 (ICE in haifa_luid_for_non_insn, at haifa-sched.c:7895)
PR target/69175
	* ifcvt.c (cond_exec_process_if_block): When removing the last
	insn from then_bb, remove also any possible barriers that follow it.

	* g++.dg/opt/pr69175.C: New test.

From-SVN: r232267
2016-01-12 14:19:49 +01:00
H.J. Lu 5cc2af593f Define STDINT_LONG32 and add predefined integer types for IAMCU
Define STDINT_LONG32 to 0, add SIZE_TYPE, PTRDIFF_TYPE and WCHAR_TYPE
for IAMCU to make integer types compatible with i386 Linux.

	PR target/68456
	PR target/69226
	* config/i386/iamcu.h (SIZE_TYPE): New macro.
	(PTRDIFF_TYPE): Likewise.
	(WCHAR_TYPE): Likewise.
	(WCHAR_TYPE_SIZE): Likewise.
	(STDINT_LONG32): Likewise.

From-SVN: r232266
2016-01-12 05:16:53 -08:00
Richard Biener 8eac49b1b6 re PR target/69053 (ICE in build_vector_from_val)
2016-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69053
	* tree-vect-loop.c (get_initial_def_for_reduction): Properly
	convert initial value for cond reductions.

	* g++.dg/torture/pr69053.C: New testcase.

From-SVN: r232263
2016-01-12 11:41:16 +00:00
Richard Biener 5b723b6806 re PR testsuite/69007 (test cases gcc.dg/vect/vect-reduc-dot-s8a.c fails starting with r231815)
2016-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69007
	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
	widen_sum after dot_prod and sad.

From-SVN: r232262
2016-01-12 11:39:54 +00:00
Richard Biener 2935d99414 re PR tree-optimization/69168 (ICE in vect_analyze_loop_2, at tree-vect-loop.c:2182)
2016-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69168
	* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
	pattern stmt SLP type.
	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
	end up unused so cope with that case.

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

From-SVN: r232261
2016-01-12 08:36:24 +00:00
Richard Biener 66c16fd94f re PR tree-optimization/69157 (ICE in vect_transform_stmt, at tree-vect-stmts.c:8176)
2016-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69157
	* tree-vect-stmts.c (vectorizable_mask_load_store): Check
	stmts def type only during analyze phase.
	(vectorizable_call): Likewise.
	(vectorizable_simd_clone_call): Likewise.
	(vectorizable_conversion): Likewise.
	(vectorizable_assignment): Likewise.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.

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

2016-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69174
	* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
	space.
	(vectorizable_load): Properly compute the number of loads needed
	for permuted strided SLP loads and do not spuriously assign
	to SLP_TREE_VEC_STMTS.

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

From-SVN: r232260
2016-01-12 08:30:44 +00:00
Andris Pavenis 3df6ff355f [PATCH 5/6] [DJGPP] Update DJGPP configuration related files
* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
       (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
       (MD_EXEC_PREFIX): Remove.
       (MD_STARTFILE_PREFIX) Removee.
       (FILE_NAME_ABSOLUTE_P): Remove.
       (CPP_SPEC): Do not read macros from sys/version.h.
       (LINK_COMMAND_SPEC): Remove.
       (LOCAL_INCLUDE_DIR): Remove.
       (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
       (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
       (POST_LINK_SPEC): Define to invoke stubify after linker
       (LIBSTDCXX): Remove define
       (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
       (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
       (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
       (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
       (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
       (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
       (i386_djgpp_asm_named_section): Add propotype of new procedure

       * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
       (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
       (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
       (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
       (MAX_OFILE_ALIGNMENT): Define to 128.
       (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.

       * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.

       * config/i386/djgpp.opt: Remove obsolete option -mbnu210.

       * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
       Add rule for building djgpp.o.

From-SVN: r232258
2016-01-12 06:57:10 +02:00
Bill Schmidt 3574cf47fa rs6000.c (v2df_reduction_p): New function.
[gcc]

2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (v2df_reduction_p): New function.
	(rtx_is_swappable_p): Reductions are swappable.
	(insn_is_swappable_p): V2DF reductions are swappable.

[gcc/testsuite]

2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-23.c: New test.
	* gcc.target/powerpc/swaps-p8-24.c: Likewise.

From-SVN: r232257
2016-01-12 04:49:55 +00:00
John David Anglin 668c901b80 pa.c (pa_emit_move_sequence): Handle floating point reloads for other unsupported memory operands.
* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
	reloads for other unsupported memory operands.

From-SVN: r232253
2016-01-12 01:35:23 +00:00