Commit Graph

141990 Commits

Author SHA1 Message Date
Nathan Sidwell 4d49f9642a * gfortran.dg/goacc/reduction-2.f95: Delete.
From-SVN: r229769
2015-11-04 17:00:27 +00:00
Nathan Sidwell f355215826 nvptx.c: Include gimple headers.
* config/nvptx/nvptx.c: Include gimple headers.
	(worker_red_size, worker_red_align, worker_red_name,
	worker_red_sym): New.
	(nvptx_option_override): Initialize worker reduction buffer.
	(nvptx_file_end): Write out worker reduction buffer var.
	(nvptx_expand_shuffle, nvptx_expand_worker_addr,
	nvptx_expand_cmp_swap): New builtin expanders.
	(enum nvptx_builtins): New.
	(nvptx_builtin_decls): New.
	(nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
	(PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
	(nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
	nvptx_lockless_update): New helpers.
	(nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
	nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
	(nvptx_goacc_reduction): New.
	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
	TARGET_BUILTIN_DECL): Override.
	(TARGET_GOACC_REDUCTION): Override.

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

From-SVN: r229768
2015-11-04 16:58:52 +00:00
Nathan Sidwell e50146711b internal-fn.def (GOACC_REDUCTION): New.
* internal-fn.def (GOACC_REDUCTION): New.
	* internal-fn.h (enum ifn_goacc_reduction_kind): New.
	* internal-fn.c (expand_GOACC_REDUCTION): New.
	* target.def (goacc.reduction): New OpenACC hook.
	* targhooks.h (default_goacc_reduction): Declare.
	* doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
	* doc/tm.texi: Rebuilt.
	* omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
	scan_sharing_clauses): Remove oacc reduction handling here.
	(lower_rec_input_clauses): Don't handle OpenACC reductions here.
	(oacc_lower_reduction_var_helper): Delete.
	(lower_oacc_reductions): New.
	(lower_reduction_clauses): Don't handle OpenACC reductions here.
	(lower_oacc_head_tail): Call lower_oacc_reductions.
	(oacc_gimple_assign, oacc_init_reduction_array,
	oacc_initialize_reduction_data, oacc_finalize_reduction_data,
	oacc_process_reduction_data): Delete.
	(lower_omp_target): Remove old OpenACC reduction handling.  Insert
	dummy OpenACC gang reduction for reductions at outer level.
	(oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
	(default_goacc_reduction): New.
	(execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.

From-SVN: r229767
2015-11-04 16:57:36 +00:00
Martin Liska be373510f8 Pass manager: add support for termination of pass list
* cgraphunit.c (cgraph_node::expand_thunk): Call
	allocate_struct_function before init_function_start.
	(cgraph_node::expand): Use push_cfun and pop_cfun.
	* config/i386/i386.c (ix86_code_end): Call
	allocate_struct_function before init_function_start.
	* config/rs6000/rs6000.c (rs6000_code_end): Likewise.
	* function.c (init_function_start): Move preamble to all
	callers.
	* passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
	(execute_one_pass): Handle newly added TODO_discard_function.
	(execute_pass_list_1): Terminate if cfun equals to NULL.
	(execute_pass_list): Do not push and pop cfun, expect that
	cfun is set.
	* tree-pass.h (TODO_discard_function): Define.

From-SVN: r229764
2015-11-04 16:50:45 +00:00
Mikhail Maltsev a6c764d02e ENABLE_CHECKING refactoring: remove remaining occurrences
libcpp/

	* config.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Remove ENABLE_CHECKING.

gcc/

	* cfganal.c (inverted_post_order_compute): Remove conditional
	compilation, use flag_checking.
	* config.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Remove ENABLE_CHECKING.
	* genconditions.c: Do not #undef ENABLE_CHECKING.
	* sese.h (bb_in_region): Comment out broken check.
	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
	conditional compilation, use flag_checking.

From-SVN: r229758
2015-11-04 15:01:46 +00:00
Mikhail Maltsev 595278beb1 ENABLE_CHECKING refactoring: C family front ends
gcc/c-family/

	* c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
	flag_checking.

gcc/cp/

	* call.c (validate_conversion_obstack): Define unconditionally.
	* constexpr.c (maybe_constant_value, fold_non_dependent_expr): Use
	gcc_checking_assert.
	* cp-tree.h: Use CHECKING_P instead of ENABLE_CHECKING.
	* decl2.c (cxx_post_compilation_parsing_cleanups): Use flag_checking.
	* mangle.c (add_substitution): Likewise.
	* method.c (maybe_explain_implicit_delete): Likewise.
	* parser.c (cp_parser_template_argument_list): Remove conditional
	compilation.
	* pt.c (check_unstripped_args): Rename to...
	(verify_unstripped_args): ... this and remove conditional compilation.
	(retrieve_specialization): Guard call of verify_unstripped_args with
	flag_checking.
	(template_parm_to_arg): Remove conditional compilation.
	(template_parms_to_args, coerce_template_parameter_pack,
	coerce_template_parms): Likewise.
	(tsubst_copy): Use flag_checking.
	(type_unification_real): Remove conditional compilation.
	(build_non_dependent_expr): Use flag_checking.
	* tree.c (build_target_expr): Remove conditional compilation, use
	gcc_checking_assert.
	* typeck.c (comptypes): Likewise.
	* typeck2.c (digest_init_r): Likewise.

From-SVN: r229756
2015-11-04 14:32:42 +00:00
Tom de Vries 7da5eaa09b Handle recursive restrict in function parameter
2015-11-04  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/67742
	* tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
	field.
	(push_fields_onto_fieldstack): Handle restrict_pointed_type field.
	(create_variable_info_for_1): Add and handle handle_param parameter.
	Add restrict handling.
	(create_variable_info_for): Call create_variable_info_for_1 with extra
	arg.
	(make_param_constraints): Drop restrict_name parameter.  Ignore
	vi->only_restrict_pointers.
	(intra_create_variable_infos): Call create_variable_info_for_1 with
	extra arg.  Remove restrict handling.  Call make_param_constraints with
	one less arg.

	* gcc.dg/tree-ssa/restrict-7.c: New test.
	* gcc.dg/tree-ssa/restrict-8.c: New test.

From-SVN: r229755
2015-11-04 14:18:43 +00:00
Tom de Vries 7b0a0ee25f Use decl_type in create_variable_info_for_1
2015-11-04  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
	variable.

From-SVN: r229754
2015-11-04 14:18:34 +00:00
Eric Botcazou 78847ba389 * gnat.dg/slice9.adb: New test.
From-SVN: r229735
2015-11-04 08:50:46 +00:00
Ian Lance Taylor aa3ba34fba gotest: fix handling of --goarch option
I managed to add a new --goarch option to gotest without noticing that
    the script already had one.  Worse, they set different variables.
    Remove the old option in favor of the new one.
    
    Reviewed-on: https://go-review.googlesource.com/16613

From-SVN: r229734
2015-11-04 01:52:40 +00:00
GCC Administrator bfd4a4de7d Daily bump.
From-SVN: r229731
2015-11-04 00:16:11 +00:00
Trevor Saunders 4ee6515e83 remove usage of ROUND_TYPE_SIZE from encoding.c
gcc got rid of this target macro in 2003, so it seems safe to assume the
alternate path works fine on all targets.

libobjc/ChangeLog:

2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	PR libobjc/24775
	* encoding.c (objc_layout_finish_structure): Remove usage of
	ROUND_TYPE_SIZE.

From-SVN: r229727
2015-11-03 22:43:22 +00:00
Trevor Saunders d10e1bb512 remove unused config/arm/coff.h
gcc/ChangeLog:

2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/arm/coff.h: Remove.

From-SVN: r229726
2015-11-03 22:43:17 +00:00
Jason Merrill bfb014c3de Handle auto parameter packs.
* pt.c (struct find_parameter_pack_data): Add
	type_pack_expansion_p field.
	(find_parameter_packs_r): Use it to turn 'auto' into a parameter pack.
	(uses_parameter_packs, make_pack_expansion)
	(check_for_bare_parameter_packs, fixed_parameter_pack_p): Set it.

From-SVN: r229722
2015-11-03 15:51:41 -05:00
Nathan Sidwell 5c06742f6f libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
	(GOMP_OFFLOAD_openacc_parallel): Likewise.
	* oacc-host.c (host_openacc_exec): Likewise.
	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.

From-SVN: r229721
2015-11-03 20:18:33 +00:00
Uros Bizjak 49445904cf lex.c (search_line_sse42): Correctly advance the pointer to an aligned address.
* lex.c (search_line_sse42): Correctly advance the pointer to an
	aligned address.

From-SVN: r229718
2015-11-03 20:05:50 +01:00
Martin Sebor c85158dec6 re PR c/67882 (surprising offsetof result on an invalid array member without diagnostic)
PR c++-common/67882

	* c-family/c-common.h (fold_offsetof_1): Add argument.
	* c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
	offsetof expressions that reference elements past the end of
	an array.

        * c-c++-common/builtin-offsetof-2.c: New test.

From-SVN: r229717
2015-11-03 11:53:19 -07:00
Dominique d'Humieres aa3d33850f re PR fortran/67982 (Incorrect -Wunused-function warning)
2015-11-03  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/67982
	* gfortran.dg/warn_unused_function_3.f90: New test.

From-SVN: r229716
2015-11-03 19:03:38 +01:00
Eric Botcazou 26eaa5a5eb Remove superfluous gcc/ prefixes
From-SVN: r229715
2015-11-03 17:25:24 +00:00
Eric Botcazou 5993d1c9a3 gimple-expr.c (useless_type_conversion_p): Reinstate type canonical check for aggregate types and beef up comment for mode...
* gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
	check for aggregate types and beef up comment for mode check.

From-SVN: r229714
2015-11-03 17:19:30 +00:00
Jason Merrill 34148d68c7 * libsupc++/new: Declare sized deletes.
From-SVN: r229713
2015-11-03 11:43:54 -05:00
Richard Biener 428db0baaa tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect data references here.
2015-11-03  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
	data references here.
	* tree-vect-loop.c: Include cgraph.h.
	(vect_analyze_loop_2): Collect data references here.
	* tree-vect-slp.c (find_bb_location): Inline ...
	(vect_slp_bb): ... here.  Renamed from vect_slp_analyze_bb.
	Factor in vect_slp_transform_bb.
	(vect_slp_transform_bb): Removed.
	(vect_slp_analyze_bb_1): Collect data references here.
	* tree-vectorizer.c (pass_slp_vectorize::execute): Call
	vect_slp_bb.
	* tree-vectorizer.h (vect_slp_bb): Declare.
	(vect_slp_analyze_bb): Remove.
	(vect_slp_transform_bb): Remove.
	(find_bb_location): Remove.
	(vect_analyze_data_refs): Remove stmt count reference parameter.

From-SVN: r229712
2015-11-03 15:59:17 +00:00
Ian Lance Taylor 7372dfe4bb mksysinfo.sh: Make sure that CLONE_NEWUSER is defined.
Reviewed-on: https://go-review.googlesource.com/16588

From-SVN: r229711
2015-11-03 15:07:47 +00:00
Paolo Carlini 32fec2c8a2 2015-11-03 Paolo Carlini <paolo.carlini@oracle.com>
* Wrap ChangeLog entries to 80 columns.

From-SVN: r229707
2015-11-03 13:41:23 +00:00
Evgeny Stupachenko f947799989 multiple_target.c (create_dispatcher_calls): Add target check on ifunc.
2015-11-03  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
	* multiple_target.c (create_dispatcher_calls): Add target check
	on ifunc.
	(create_target_clone): Change assembler name for versioned declarations.
gcc/testsuite/
	* g++.dg/ext/mvc4.C: Add dg-require-ifunc condition.
	* gcc.target/i386/mvc5.c: Ditto.
	* gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on
	resolver.

From-SVN: r229706
2015-11-03 12:02:53 +00:00
Thomas Schwinge 4bf9e5a8a2 OpenACC atomic directive
gcc/c-family/
	* c-pragma.c (oacc_pragmas): Add "atomic".
	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
	gcc/c/
	* c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
	gcc/cp/
	* parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle
	PRAGMA_OACC_ATOMIC.
	gcc/fortran/
	* gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
	ST_OACC_END_ATOMIC.
	(gfc_exec_op): Add EXEC_OACC_ATOMIC.
	* match.h (gfc_match_oacc_atomic): New prototype.
	* openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
	wrapper functions around...
	(gfc_match_omp_oacc_atomic): ... this new function.
	(oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
	EXEC_OACC_ATOMIC.
	* parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
	(case_exec_markers): Add ST_OACC_ATOMIC.
	(gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
	(parse_omp_atomic): Rename to...
	(parse_omp_oacc_atomic): ... this new function.  Add omp_p formal
	parameter.  Adjust all users.
	(parse_executable): Handle ST_OACC_ATOMIC.
	(is_oacc): Handle EXEC_OACC_ATOMIC.
	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
	EXEC_OACC_ATOMIC.
	* st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
	* trans-openmp.c (gfc_trans_oacc_directive): Handle
	EXEC_OACC_ATOMIC.
	* trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
	gcc/
	* builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
	* omp-low.c (check_omp_nesting_restrictions): Allow
	GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
	contexts.
	gcc/testsuite/
	* c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests
	from here to...
	* c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them
	to succeed.
	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
	file.
	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.

From-SVN: r229703
2015-11-03 12:28:22 +01:00
Bilyan Borisov 496ea87db6 [AARCH64][PATCH 1/3] Implementing the variants of the vmulx_ NEON intrinsic
gcc/

	* config/aarch64/aarch64-simd-builtins.def (fmulx): New.
	* config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
	* config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
	builtin.
	(vmulxq_f32): Likewise.
	(vmulx_f64): New.
	(vmulxq_f64): Rewrite to call fmulx builtin.
	(vmulxs_f32): Likewise.
	(vmulxd_f64): Likewise.
	(vmulx_lane_f32): Remove.
	* config/aarch64/iterators.md (UNSPEC): Add fmulx.

gcc/testsuite/

	* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New.
	* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New.
	* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New.
	* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New.
	* gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New.
	* gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New.

From-SVN: r229702
2015-11-03 10:58:27 +00:00
Alan Lawrence 04f725b907 [AArch64] Fix ICE on (const_double:HF 0.0)
gcc/:

	* config/aarch64/aarch64.md (*movhf_aarch64): Use
	aarch64_reg_or_fp_zero for second operand.

gcc/testsuite/:

	* gcc.target/aarch64/fp16/set_zero_1.c: New.

From-SVN: r229701
2015-11-03 10:35:31 +00:00
Uros Bizjak c7cf4ff97e ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r229700
2015-11-03 09:45:55 +01:00
Ville Voutilainen f763219373 Make the default constructors of tuple and pair conditionally explicit.
2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Make the default constructors of tuple and pair conditionally explicit.
	* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
	__is_default_constructible_atom, __is_default_constructible_safe,
	__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
	__is_nt_default_constructible_impl, is_nothrow_default_constructible,
	is_nothrow_constructible, is_nothrow_assignable,
	is_trivially_constructible, is_trivially_copy_constructible,
	is_trivially_move_constructible, is_trivially_assignable,
	is_trivially_copy_assignable, is_trivially_move_assignable,
	is_trivially_destructible): Simplify.
	* include/std/type_traits (
	__do_is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_safe,
	__is_implicitly_default_constructible): New.
	* include/bits/stl_pair.h (pair::pair()): Use it.
	* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
	* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
	* include/std/tuple (tuple<_Types...>::tuple()): Use it.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.

From-SVN: r229699
2015-11-03 10:41:40 +02:00
Uros Bizjak bbe741d0e2 mvc1.c: Move to ...
* gcc.dg/mvc1.c: Move to ...
	* gcc.target/i386/mvc1.c: ... here.  Require ifunc.
	* gcc.dg/mvc2.c: Move to ...
	* gcc.target/i386/mvc2.c: ... here.
	* gcc.dg/mvc3.c: Move to ...
	* gcc.target/i386/mvc3.c: ... here.
	* gcc.dg/mvc4.c: Move to ...
	* gcc.target/i386/mvc4.c: ... here.  Require ifunc.
	* gcc.dg/mvc5.c: Move to ...
	* gcc.target/i386/mvc5.c: ... here.
	* gcc.dg/mvc6.c: Move to ...
	* gcc.target/i386/mvc6.c: ... here.
	* gcc.dg/mvc7.c: Move to ...
	* gcc.target/i386/mvc7.c: ... here.

	* g++.dg/ext/mvc1.C: Require ifunc.

From-SVN: r229697
2015-11-03 09:34:42 +01:00
Alexandre Oliva 1b223a9f34 defer mark_addressable calls during expand till the end of expand
for  gcc/ChangeLog

	* gimple-expr.c: Include hash-set.h and rtl.h.
	(mark_addressable_queue): New var.
	(mark_addressable): Factor actual marking into...
	(mark_addressable_1): ... this.  Queue it up during expand.
	(mark_addressable_2): New.
	(flush_mark_addressable_queue): New.
	* gimple-expr.h (flush_mark_addressable_queue): Declare.
	* cfgexpand.c: Include gimple-expr.h.
	(pass_expand::execute): Flush mark_addressable queue.

From-SVN: r229696
2015-11-03 03:57:07 +00:00
Alexandre Oliva ec95cd4792 Remove ChangeLog entry unintentionally duplicated in the top level
From-SVN: r229695
2015-11-03 03:52:56 +00:00
Alexandre Oliva 067339d220 ifcombine: factor out inner block viability test
Bail out early if the inner block has side effects or is otherwise not
eligible for ifcombine.

for  gcc/ChangeLog

	* tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
	bb_no_side_effects_p tests...
	(tree_ssa_ifcombine_bb): ... here.

From-SVN: r229691
2015-11-03 00:31:18 +00:00
Alexandre Oliva 828ca3d835 [PR68083] don't introduce undefined behavior in ifcombine
The ifcombine pass may move a conditional access to an uninitialized
value before the condition that ensures it is always well-defined,
thus introducing undefined behavior.  Stop it from doing so.

for  gcc/ChangeLog

	PR tree-optimization/68083
	* tree-ssa-ifcombine.c: Include tree-ssa.h.
	(bb_no_side_effects_p): Test for undefined uses too.
	* tree-ssa.c (gimple_uses_undefined_value_p): New.
	* tree-ssa.h (gimple_uses_undefined_value_p): Declare.

for  gcc/testsuite/ChangeLog

	PR tree-optimization/68083
	* gcc.dg/torture/pr68083.c: New.  From Zhendong Su.

From-SVN: r229690
2015-11-03 00:30:07 +00:00
GCC Administrator dac7e9b819 Daily bump.
From-SVN: r229689
2015-11-03 00:16:12 +00:00
Ian Lance Taylor 09df499401 libgo: Bump version number.
Reviewed-on: https://go-review.googlesource.com/16583

From-SVN: r229686
2015-11-02 23:30:21 +00:00
Jeff Law b89410efd1 [PATCH] Avoid more irreducible loops in FSM threader
* tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
	cases where the loop latch edge is in the middle of an FSM
	path.

	* gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have
	irreducible loops in the CFG.

From-SVN: r229685
2015-11-02 16:25:06 -07:00
Tom de Vries 58b2d87ea1 Rename make_restrict_var_constraints to make_param_constraints
2015-11-03  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
	(make_param_constraints): ... this.  Add and handle restrict_name
	parameter.  Handle is_full_var case.
	(intra_create_variable_infos): Use make_param_constraints.

From-SVN: r229684
2015-11-02 23:23:28 +00:00
Tom de Vries b9ae50844f Replace make_copy_constraint with make_constraint_from in make_restrict_var_constraints
2015-11-03  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-structalias.c (make_restrict_var_constraints): Replace
	make_copy_constraint call with make_constraint_from call.

From-SVN: r229683
2015-11-02 23:23:19 +00:00
Andreas Tobler 3b963b33ca freebsd64.h (ASM_SPEC32): Adust spec to handle PIE executables.
2015-11-02  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
    PIE executables.

From-SVN: r229680
2015-11-02 22:51:25 +01:00
Ian Lance Taylor c5f6dbf60d mksysinfo.sh: Handle TIOCGPGRP if too complex for -dump-go-spec.
Reviewed-on: https://go-review.googlesource.com/16580

From-SVN: r229676
2015-11-02 20:23:09 +00:00
Ian Lance Taylor ec3838a735 syscall: Change raw_ioctl cmd type to uintptr.
Attempt to fix a build bug report:
    
    ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow
       _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp))
    
    Reviewed-on: https://go-review.googlesource.com/16539

From-SVN: r229674
2015-11-02 19:58:15 +00:00
David Malcolm 525ce91010 libcpp: Improvements to description of source_location in line-map.h
libcpp/ChangeLog:
	* include/line-map.h (source_location): In the table in the
	descriptive comment, show UNKNOWN_LOCATION, BUILTINS_LOCATION,
	LINE_MAP_MAX_LOCATION_WITH_COLS, LINE_MAP_MAX_SOURCE_LOCATION.
	Add notes about ad-hoc values.

From-SVN: r229673
2015-11-02 19:47:03 +00:00
Richard Sandiford 5c1a2e639a Move constant folds for maths functions to new file
The new routines operate on the built-in enum rather than on tree decls.
The idea is to extend this to handle internal functions too, with a
combined enum for both.

The patch also moves fold_fma too, with the same prototype.  The long-term
plan is to replace FMA_EXPR with an internal function, for consistency
with the way that things like SQRT will be handled.

Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.

gcc/
	* builtins.h (fold_fma): Move to fold-const-call.h.
	* builtins.c: Include fold-const-call.h.
	(mathfn_built_in_2): New function, split out from...
	(mathfn_built_in_1): ...here.
	(do_real_to_int_conversion, fold_const_builtin_pow)
	(fold_const_builtin_logb, fold_const_builtin_significand)
	(fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
	(do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
	(fold_builtin_sincos): Use fold_const_call to handle constants.
	(fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
	checks for ERROR_MARK.  Use fold_const_call to handle constant
	folds for math functions.
	(fold_fma): Move to fold-const-call.c.
	* fold-const.c: Include fold-const-call.h.
	* Makefile.in (OBJS): Add fold-const-call.o.
	(PLUGIN_HEADERS): Add fold-const-call.h.
	* realmpfr.h (real_from_mpfr): Allow the format to be specified
	directly.
	* realmpfr.c (real_from_mpfr): Likewise.
	* fold-const-call.h, fold-const-call.c: New files.

From-SVN: r229669
2015-11-02 16:34:16 +00:00
Julian Brown 6aadd15a41 [ARM] neon-testgen.ml typo
* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
	brackets and semicolon.

From-SVN: r229662
2015-11-02 12:43:14 +00:00
Alan Lawrence 35e2be9fc9 Revert: tree-scalar-evolution.c: Handle LSHIFT by constant
gcc/:

		tree-scalar-evolution.c (interpret_rhs_expr): Handle some
		LSHIFT_EXPRs as equivalent MULT_EXPRs.

	gcc/testsuite/:

		gcc.dg/vect/vect-strided-shift.c: New.

From-SVN: r229660
2015-11-02 12:39:31 +00:00
Kyrylo Tkachov f4155d214e Move gcc.target/arm/pr67929_1.c test to execute.exp
PR target/67929
	* gcc.target/arm/pr67929_1.c: Move to...
	* gcc.c-torture/execute/pr67929_1.c: ... Here.
	Remove arm-specific directives.  Add noclone, noinline
	attributes.

From-SVN: r229657
2015-11-02 12:23:36 +00:00
Thomas Schwinge f5ce5ca118 [PR middle-end/68166] Restore build with fold checking enabled
gcc/
	PR middle-end/68166
	* fold-const.c: Include "md5.h".

From-SVN: r229652
2015-11-02 08:42:04 +01:00
Jeff Law f0e5161244 [PATCH] Avoid ssa-thread-11.c on various targets
* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.

From-SVN: r229651
2015-11-01 22:59:19 -07:00