1. 01 Dec, 2015 31 commits
    • re PR libffi/65726 (libffi fails to build when not bootstrapping: configure:… · 7eb46bec
      re PR libffi/65726 (libffi fails to build when not bootstrapping: configure: error: C++ preprocessor "/lib/cpp" fails sanity check)
      
      2015-12-01  Andreas Tobler  <andreast@gcc.gnu.org>
      
          PR libffi/65726
          * Makefile.def (lang_env_dependencies): Make libffi depend
          on cxx.
          * Makefile.in: Regenerate.
      
      From-SVN: r231128
      Andreas Tobler committed
    • nvptx-protos.h (nvptx_output_aligned_decl): Declare. · 69823d76
      	gcc/
      	* config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare.
      	* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
      	ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl.
      	* config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New.
      	(write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker.
      	(init_output_initializer): Call write_var_marker.
      	(nvptx_output_aligned_decl): New.
      	(nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/uninit-decl.c: New.
      
      From-SVN: r231127
      Nathan Sidwell committed
    • alias-1.c: New testcase. · 9dc39706
      
      	* gcc.c-torture/execute/alias-1.c: New testcase.
      	* c-common.c: Do not silently ignore -fstrict-aliasing changes.
      
      From-SVN: r231125
      Jan Hubicka committed
    • lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET. · 8c86248e
      	* lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
      	* tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
      	stream TYPE_ALIAS_SET.
      	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not
      	stream TYPE_ALIAS_SET.
      
      	* lto.c (compare_tree_sccs_1): Do not compare TYPE_ALIAS_SET.
      
      From-SVN: r231124
      Jan Hubicka committed
    • nvptx.c (nvptx_function_arg_advance): Don't consider mode. · ac856078
      	* config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
      	consider mode.
      
      From-SVN: r231121
      Nathan Sidwell committed
    • re PR tree-optimization/64769 (ICE: tree check: expected integer_cst, have… · 0b2a1378
      re PR tree-optimization/64769 (ICE: tree check: expected integer_cst, have parm_decl in simd_clone_clauses_extract, at omp-low.c:12503 with -fopenmp-simd)
      
      	PR tree-optimization/64769
      	* c-c++-common/gomp/pr64769.c: New test.
      
      From-SVN: r231120
      Marek Polacek committed
    • rs6000.c (const_load_sequence_p): Handle extra indirection for large and small code models. · 3b47f4cc
      [gcc]
      
      2015-12-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (const_load_sequence_p): Handle extra
      	indirection for large and small code models.
      	(adjust_vperm): Likewise.
      
      [gcc/testsuite]
      
      2015-12-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/swaps-p8-22.c: New.
      
      From-SVN: r231119
      Bill Schmidt committed
    • OpenACC host_data support. · 37d5ad46
      	gcc/
      	* gimple-pretty-print.c (dump_gimple_omp_target): Add host_data
      	support.
      	* gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA.
      	(is_gimple_omp_oacc): Add support for above.
      	* gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA.
      	(omp_notice_variable): Diagnose undefined implicit uses of
      	use_device variables in offloaded regions.
      	(gimplify_scan_omp_clauses): Add host_data, use_device
      	support. Diagnose undefined mapping of use_device variables in
      	OpenACC clauses.
      	(gimplify_omp_workshare): Add host_data support.
      	(gimplify_expr): Likewise.
      	* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New.
      	* omp-low.c (lookup_decl_in_outer_ctx)
      	(maybe_lookup_decl_in_outer_ctx): Add optional argument to skip
      	host_data regions.
      	(scan_sharing_clauses): Support use_device.
      	(check_omp_nesting_restrictions): Support host_data.
      	(expand_omp_target): Support host_data.
      	(lower_omp_target): Skip over outer host_data regions when looking
      	up decls. Support use_device.
      	(make_gimple_omp_edges): Support host_data.
      	* tree-nested.c (convert_nonlocal_omp_clauses): Add use_device
      	clause.
      
      	gcc/c/
      	* c-parser.c (c_parser_omp_clause_name): Add use_device support.
      	(c_parser_oacc_clause_use_device): New function.
      	(c_parser_oacc_all_clauses): Add use_device support.
      	(OACC_HOST_DATA_CLAUSE_MASK): New macro.
      	(c_parser_oacc_host_data): New function.
      	(c_parser_omp_construct): Add host_data support.
      	* c-tree.h (c_finish_oacc_host_data): Add prototype.
      	* c-typeck.c (c_finish_oacc_host_data): New function.
      	(c_finish_omp_clauses): Add use_device support.
      
      	gcc/cp/
      	* cp-tree.h (finish_oacc_host_data): Add prototype.
      	* parser.c (cp_parser_omp_clause_name): Add use_device support.
      	(cp_parser_oacc_all_clauses): Add use_device support.
      	(OACC_HOST_DATA_CLAUSE_MASK): New macro.
      	(cp_parser_oacc_host_data): New function.
      	(cp_parser_omp_construct): Add host_data support.
      	(cp_parser_pragma): Add host_data support.
      	* semantics.c (finish_omp_clauses): Add use_device support.
      	(finish_oacc_host_data): New function.
      
      	gcc/c-family/
      	* c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
      	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
      	(pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
      
      	libgomp/
      	* oacc-parallel.c (GOACC_host_data): New function.
      	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
      
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: James Norris <James_Norris@mentor.com>
      
      From-SVN: r231118
      Julian Brown committed
    • re PR tree-optimization/67916 (wrong code at -O3 on x86_64-linux-gnu) · 4bc84763
      	PR tree-optimization/67916
      	* gcc.dg/torture/pr67916.c: New test.
      
      From-SVN: r231117
      Marek Polacek committed
    • re PR middle-end/68582 (-Wunused-function doesn't warn about unused static… · 8b6ab677
      re PR middle-end/68582 (-Wunused-function doesn't warn about unused static __attribute__((noreturn)) functions)
      
      	PR middle-end/68582
      	* cgraphunit.c (check_global_declaration): Only depend on TREE_THIS_VOLATILE
      	for VAR_DECLs.
      
      	* c-c++-common/pr68582.c: New test.
      
      From-SVN: r231116
      Marek Polacek committed
    • PR68474: Fix tree-call-cdce.c:use_internal_fn · 6c59645f
      We'd call gen_shrink_wrap_conditions for functions that it can't handle
      but edom_only_function can.
      
      Tested on x86_64-linux-gnu.
      
      gcc/
      	PR tree-optimization/68474
      	* tree-call-cdce.c (use_internal_fn): Protect call to
      	gen_shrink_wrap_conditions.
      
      gcc/testsuite/
      	PR tree-optimization/68474
      	* gcc.dg/pr68474.c: New test.
      
      From-SVN: r231115
      Richard Sandiford committed
    • re PR target/68617 (arm ice output_operand: invalid %-code for -march=armv6k + thumb) · 5797378a
      2015-12-01  Christian Bruel  <christian.bruel@st.com>
      
              PR target/68617
              * config/arm/arm.opt (unaligned_access): Save.
              * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define.
              * config/arm/arm.c (arm_option_override): Move unaligned_access setting
              (arm_option_override_internal): ... here.
              * config/arm/arm.h (TARGET_32BIT_P): New macro.
      
      // testsuite
              PR target/68617
              * gcc.target/arm/attr-unaligned-load-ice.c: New test.
      
      From-SVN: r231114
      Christian Bruel committed
    • Move pr46032*.c tests · f6b65a61
      2015-12-01  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/pr46032.c: Move to ...
      	* gcc.dg/vect/pr46032.c: here.  Add dg-require-effective-target
      	vect_int.
      	* gcc.dg/pr46032-2.c: Move to ...
      	* gcc.dg/gomp/pr46032-2.c: ... here.  Drop dg-require-effective-target fopenmp.
      	* gcc.dg/pr46032-3.c: Move to ...
      	* gcc.dg/gomp/pr46032-3.c: ... here.  Drop dg-require-effective-target fopenmp.
      
      From-SVN: r231113
      Tom de Vries committed
    • dump-parse-tree.c (show_omp_clauses): Handle optional num and static arguments for the gang clause. · 2a70708e
      	gcc/fortran/
      	* dump-parse-tree.c (show_omp_clauses): Handle optional num and static
      	arguments for the gang clause.
      	* gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr.
      	Add gang_static_expr.
      	* openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and
      	gang_static_expr.
      	(match_oacc_clause_gang): Update to support both num and static in
      	the same clause.
      	(resolve_omp_clauses): Formatting.  Also handle gang_num_expr and
      	gang_static_expr.
      	(resolve_oacc_params_in_parallel): New const char arg argument.
      	Use it to report more accurate gang, worker and vector clause errors.
      	(resolve_oacc_loop_blocks): Update calls to
      	resolve_oacc_params_in_parallel.
      	* trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of
      	the gang clause.
      	(gfc_trans_oacc_combined_directive): Make use of gang_num_expr and
      	gang_static_expr.  Remove OMP_LIST_REDUCTION from construct_clauses.
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments.
      	* gfortran.dg/goacc/loop-2.f95: Update expected diagnostics.
      	* gfortran.dg/goacc/loop-6.f95: Likewise.
      	* gfortran.dg/goacc/loop-7.f95: New test.
      	* gfortran.dg/goacc/reduction-2.f95: New test.
      
      From-SVN: r231112
      Cesar Philippidis committed
    • re PR tree-optimization/68379 (BB vectorization: definition in block 13 follows… · 4f0a0218
      re PR tree-optimization/68379 (BB vectorization: definition in block 13 follows the use for SSA_NAME)
      
      2015-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68379
      	* tree-vect-stmts.c (vectorizable_load): For BB vectorization
      	always base loads on the first used DR of a group.
      	* tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment):
      	Compute alignment of the first scalar element unconditionally.
      
      	* gcc.dg/torture/pr68379.c: New testcase.
      	* gfortran.dg/pr68379-1.f90: Likewise.
      	* gfortran.dg/pr68379-2.f: Likewise.
      
      From-SVN: r231111
      Richard Biener committed
    • re PR ada/68590 (FAIL: gnat.dg/loop_optimization19.adb scan-tree-dump-not optimized "Index_Check") · 2d3f4bf7
      2015-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/68590
      	* genmatch.c (struct capture_info): Add match_use_count.
      	(capture_info::walk_match): Increment match_use_count.
      	(dt_simplify::gen_1): For GENERIC, only wrap multi-use
      	replacements in a save_expr if they occur more often than
      	in the original expression.
      
      From-SVN: r231110
      Richard Biener committed
    • [testsuite] Fix pr46032* testcases. · bb0d3b5e
      2015-12-01  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp.
      	* gcc.dg/pr46032-2.c: Likewise.
      	* gcc.dg/pr46032-3.c: Likewise.
      
      From-SVN: r231109
      Christophe Lyon committed
    • re PR ipa/68470 (Internal Compiler Error observed by g++-4.9.2 and a few other… · ece95567
      re PR ipa/68470 (Internal Compiler Error observed by g++-4.9.2 and a few other versions (reported to Debian))
      
      2015-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/68470
      	* ipa-split.c (split_function): Handle main part not returning.
      
      	* g++.dg/torture/pr68470.C: New testcase.
      
      From-SVN: r231108
      Richard Biener committed
    • Define path::_Cmpt after specializing path::__is_encoded_char · 22f5095f
      	* include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
      	after path::__is_encoded_char explicit specializations.
      
      From-SVN: r231107
      Jonathan Wakely committed
    • re PR middle-end/68595 (ice in const_vector_mask_from_tree at expr.c:11455) · 5a308cf1
      gcc/
      
      	PR middle-end/68595
      	* tree-vect-stmts.c (vect_init_vector): Cast boolean
      	scalars to a proper value before building a vector.
      
      gcc/testsuite/
      
      	PR middle-end/68595
      	* gcc.dg/pr68595.c: New test.
      
      From-SVN: r231106
      Ilya Enkovich committed
    • Fix armv6+thumb1 unaligned tests · 4265bac7
      From-SVN: r231105
      Christian Bruel committed
    • * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Reorder. · 5b1ab307
      From-SVN: r231104
      Eric Botcazou committed
    • Improve error reporting from genattrtab.c · 48144522
      The errors reported by check_attr_value weren't very helpful because
      they always used the location of the define(_enum)_attr, even if the
      error was in a define_insn.  Also, the errors reported by
      check_attr_test didn't say which attribute was faulty.
      
      Although not technically a bug fix, it was really useful in writing
      the patch for PR68432.
      
      Tested on a variety of targets.
      
      gcc/
      	* genattrtab.c (check_attr_test): Take an attr_desc instead of
      	an is_const flag.  Put the file_location argument first.
      	Update recursive calls.  Improve error messages.
      	(check_attr_value): Take a file location and use it instead
      	of attr->loc.  Improve error messages.  Update calls to
      	check_attr_test.
      	(check_defs): Update call to check_attr_value.
      	(make_canonical): Likewise.
      	(gen_attr): Likewise.
      	(main): Likewise.
      	(gen_insn_reserv): Update call to check_attr_test.
      
      From-SVN: r231103
      Richard Sandiford committed
    • Fix typo in aarch64.c · c178abcc
      2015-12-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo.
      
      From-SVN: r231101
      Ramana Radhakrishnan committed
    • re PR ada/68590 (FAIL: gnat.dg/loop_optimization19.adb scan-tree-dump-not optimized "Index_Check") · 287f8f17
      2015-12-01  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/68590
      	* match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns.
      
      From-SVN: r231100
      Richard Biener committed
    • ipa-devirt.c (type_with_linkage_p, [...]): Move to ... · a6c5361c
      
      	* ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p,
      	odr_type_p): Move to ...
      	* ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p,
      	odr_type_p): here; miscro-optimize.
      
      From-SVN: r231098
      Jan Hubicka committed
    • re PR tree-optimization/68529 (scev failed for while(i--)) · cdf66caf
      
      	PR tree-optimization/68529
      	* tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param.
      	Compute no-overflow information for control iv.
      	(number_of_iterations_lt, number_of_iterations_le): Add new param.
      	(number_of_iterations_cond): Pass new argument to above functions.
      
      	PR tree-optimization/68529
      	* gcc.dg/tree-ssa/pr68529-1.c: New test.
      	* gcc.dg/tree-ssa/pr68529-2.c: New test.
      	* gcc.dg/tree-ssa/pr68529-3.c: New test.
      
      From-SVN: r231097
      Bin Cheng committed
    • re PR go/68477 (error: type variant differs by TYPE_STRING_FLAG.) · 6ea98dee
      	PR go/68477
      	* go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
      	TYPE_STRING_FLAG on a variant type.
      
      From-SVN: r231096
      Ian Lance Taylor committed
    • ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining… · 45285060
      ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining -fno-strict-aliasing into...
      
      
      	* ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
      	inlining -fno-strict-aliasing into -fstrict-aliasing body.
      
      From-SVN: r231095
      Jan Hubicka committed
    • ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining… · 6fa04359
      ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when inlining -fno-strict-aliasing into...
      
      
      	* ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
      	inlining -fno-strict-aliasing into -fstrict-aliasing body.
      	* gcc.dg/lto/alias-1_0.c: New testcase.
      	* gcc.dg/lto/alias-1_1.c: New testcase.
      
      From-SVN: r231094
      Jan Hubicka committed
    • Daily bump. · 341946d8
      From-SVN: r231093
      GCC Administrator committed
  2. 30 Nov, 2015 9 commits
    • check for ISL generated code that leads to division by zero · 610a61a7
      we used to generate modulo and division by zero because ISL uses big numbers
      which translate to zero in modulo arithmetic.  The patch also improves error handling
      and bails out early in case of wrong code gen.
      
      	PR tree-optimization/68565
      	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on
      	codegen_error.  Fail when rhs of division operations is integer_zerop.
      	(ternary_op_to_tree): Early return on codegen_error.
      	(unary_op_to_tree): Same.
      	(nary_op_to_tree): Same.
      	(gcc_expression_from_isl_expr_op): Same.
      	(gcc_expression_from_isl_expression): Same.
      	(graphite_create_new_loop): On codegen_error continue generating
      	wrong code.
      	(graphite_create_new_loop_guard): Same.
      	(build_iv_mapping): Same.
      	(graphite_create_new_guard): Same.
      
      	* gfortran.dg/graphite/pr68565.f90: New.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r231086
      Aditya Kumar committed
    • always print parameter names as P_{SSA_NAME_VERSION} · 49385686
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r231085
      Aditya Kumar committed
    • tree-nested.c (convert_nonlocal_omp_clauses): Add support for… · db941d7e
      tree-nested.c (convert_nonlocal_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
      
      	gcc/
      	* tree-nested.c (convert_nonlocal_omp_clauses): Add support for
      	OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
      	(convert_local_omp_clauses): Likewise.
      
      	gcc/fortran/
      	* f95-lang.c (gfc_attribute_table): Add an "oacc function"
      	attribute.
      	* gfortran.h (symbol_attribute): Add an oacc_function bit-field.
      	(gfc_oacc_routine_name): New struct;
      	(gfc_get_oacc_routine_name): New macro.
      	(gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
      	oacc_routine fields.
      	(gfc_exec_op): Add EXEC_OACC_ROUTINE.
      	* openmp.c (OACC_ROUTINE_CLAUSES): New mask.
      	(gfc_oacc_routine_dims): New function.
      	(gfc_match_oacc_routine): Add support for named routines and the
      	gang, worker vector and seq clauses.
      	* parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
      	* resolve.c (gfc_resolve_blocks): Likewise.
      	* st.c (gfc_free_statement): Likewise.
      	* trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
      	attribute and shape geometry for acc routine.
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/routine-3.f90: New test.
      	* gfortran.dg/goacc/routine-4.f90: New test.
      	* gfortran.dg/goacc/routine-5.f90: New test.
      	* gfortran.dg/goacc/routine-6.f90: New test.
      	* gfortran.dg/goacc/subroutines: New test.
      
      	libgomp/
      	* libgomp.oacc-fortran/routine-5.f90: New test.
      	* libgomp.oacc-fortran/routine-7.f90: New test.
      	* libgomp.oacc-fortran/routine-9.f90: New test.
      
      From-SVN: r231081
      Cesar Philippidis committed
    • Add gcc.dg/pr46032-{2,3}.c test-cases · 522cdabd
      2015-11-30  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/pr46032-2.c: New test.
      	* gcc.dg/pr46032-3.c: New test.
      
      From-SVN: r231079
      Tom de Vries committed
    • re PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly) · 34ea150c
      gcc/testsuite/ChangeLog:
      
      2015-11-30  Charles Baylis  <charles.baylis@linaro.org>
      
      	PR target/63870
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c (f_vld2_lane_f16): Remove xfails for arm targets.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c (f_vld2_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c (f_vld2_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c (f_vld2_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c (f_vld2_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c (f_vld2_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c (f_vld2_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c (f_vld2_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c (f_vld2_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c (f_vld2_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c (f_vld2_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c (f_vld2_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c (f_vld2q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c (f_vld2q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c (f_vld2q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c (f_vld2q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c (f_vld2q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c (f_vld2q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c (f_vld2q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c (f_vld2q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c (f_vld2q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c (f_vld2q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c (f_vld2q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c (f_vld2q_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c (f_vld3_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c (f_vld3_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c (f_vld3_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c (f_vld3_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c (f_vld3_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c (f_vld3_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c (f_vld3_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c (f_vld3_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c (f_vld3_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c (f_vld3_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c (f_vld3_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c (f_vld3_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c (f_vld3q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c (f_vld3q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c (f_vld3q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c (f_vld3q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c (f_vld3q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c (f_vld3q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c (f_vld3q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c (f_vld3q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c (f_vld3q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c (f_vld3q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c (f_vld3q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c (f_vld3q_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c (f_vld4_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c (f_vld4_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c (f_vld4_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c (f_vld4_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c (f_vld4_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c (f_vld4_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c (f_vld4_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c (f_vld4_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c (f_vld4_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c (f_vld4_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c (f_vld4_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c (f_vld4_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c (f_vld4q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c (f_vld4q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c (f_vld4q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c (f_vld4q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c (f_vld4q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c (f_vld4q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c (f_vld4q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c (f_vld4q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c (f_vld4q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c (f_vld4q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c (f_vld4q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c (f_vld4q_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c (f_vst2_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c (f_vst2_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c (f_vst2_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c (f_vst2_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c (f_vst2_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c (f_vst2_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c (f_vst2_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c (f_vst2_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c (f_vst2_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c (f_vst2_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c (f_vst2_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c (f_vst2_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c (f_vst2q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c (f_vst2q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c (f_vst2q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c (f_vst2q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c (f_vst2q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c (f_vst2q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c (f_vst2q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c (f_vst2q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c (f_vst2q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c (f_vst2q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c (f_vst2q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c (f_vst2q_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c (f_vst3_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c (f_vst3_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c (f_vst3_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c (f_vst3_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c (f_vst3_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c (f_vst3_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c (f_vst3_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c (f_vst3_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c (f_vst3_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c (f_vst3_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c (f_vst3_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c (f_vst3_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c (f_vst3q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c (f_vst3q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c (f_vst3q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c (f_vst3q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c (f_vst3q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c (f_vst3q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c (f_vst3q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c (f_vst3q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c (f_vst3q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c (f_vst3q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c (f_vst3q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c (f_vst3q_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c (f_vst4_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c (f_vst4_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c (f_vst4_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c (f_vst4_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c (f_vst4_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c (f_vst4_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c (f_vst4_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c (f_vst4_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c (f_vst4_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c (f_vst4_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c (f_vst4_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c (f_vst4_lane_u8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c (f_vst4q_lane_f16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c (f_vst4q_lane_f32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c (f_vst4q_lane_f64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c (f_vst4q_lane_p8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c (f_vst4q_lane_s16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c (f_vst4q_lane_s32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c (f_vst4q_lane_s64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c (f_vst4q_lane_s8): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c (f_vst4q_lane_u16): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c (f_vst4q_lane_u32): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c (f_vst4q_lane_u64): Ditto.
      	* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c (f_vst4q_lane_u8): Ditto.
      
      From-SVN: r231077
      Charles Baylis committed
    • Handle BUILT_IN_GOMP_PARALLEL in ipa-pta · e0ca27c5
      2015-11-30  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/46032
      	* tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function,
      	factored out of ...
      	(find_func_aliases_for_call): ... here.
      	(find_func_aliases_for_builtin_call, find_func_clobbers): Handle
      	BUILT_IN_GOMP_PARALLEL.
      	(ipa_pta_execute): Same.  Handle node->parallelized_function as a local
      	function.
      
      	* gcc.dg/pr46032.c: New test.
      
      	* testsuite/libgomp.c/pr46032.c: New test.
      
      From-SVN: r231076
      Tom de Vries committed
    • re PR tree-optimization/68501 (sqrt builtin is not used anymore) · 7b90c63a
      	PR tree-optimization/68501
      	* target.def (builtin_reciprocal): Replace the 3 arguments with
      	a gcall * one, adjust description.
      	* targhooks.h (default_builtin_reciprocal): Replace the 3 arguments
      	with a gcall * one.
      	* targhooks.c (default_builtin_reciprocal): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use
      	targetm.builtin_reciprocal even on internal functions, adjust
      	the arguments and allow replacing an internal function with normal
      	built-in.
      	* config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments
      	with a gcall * one.  Handle internal fns too.
      	* config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise.
      	* config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise.
      	* doc/tm.texi (builtin_reciprocal): Document.
      
      From-SVN: r231075
      Jakub Jelinek committed
    • re PR tree-optimization/68592 (ICE in vect_get_vec_def_for_operand, at… · 7a5a0dec
      re PR tree-optimization/68592 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1403 with -fprofile-generate)
      
      2015-11-30  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68592
      	* tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also
      	on the pattern def sequence.
      
      	* gfortran.dg/pr68592.f: New testcase.
      
      From-SVN: r231074
      Richard Biener committed
    • nvptx.c (nvptx_name_replacement): Move earlier. · b699adcc
      	* config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier.
      	(write_one_arg): Reorder parms, add 'sep' param.
      	(nvptx_write_function_decl): Rename to ...
      	(write_fn_proto): ... here.  Do name replacement. Emit linaer
      	comment marker. Deal with both decls and defns. Simplify argument
      	formatting.
      	(write_function_decl_and_comment): Delete.
      	(write_func_decl_from_insn): Rename to ...
      	(write_fn_proto_from_insn): ... here.  Don't do name replacement.
      	(nvptx_record_fndecl): Call write_fn_proto.
      	(nvptx_record_libfunc): Call write_fn_proto_from_insn.
      	(nvptx_declare_function_name): Adjust for write_fn_proto changes.
      	(nvotx_output_call_insn): Call write_fn_prot_from_insn.
      
      From-SVN: r231073
      Nathan Sidwell committed