1. 01 Dec, 2015 22 commits
  2. 30 Nov, 2015 18 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
    • re PR fortran/68534 (No error on mismatch in number of arguments between… · 0ef5fbc1
      re PR fortran/68534 (No error on mismatch in number of arguments between submodule and module interface)
      
      2015-11-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68534
      	* decl.c (gfc_match_formal_arglist): Cope with zero formal args
      	either in interface declaration or in procedure declaration in
      	submodule.
      
      2015-11-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68534
      	* gfortran.dg/submodule_13.f08: New test.
      
      From-SVN: r231072
      Paul Thomas committed
    • S/390: Testsuite: Add asm scan patterns for -m31. · 02718b32
      gcc/testsuite/ChangeLog:
      
      2015-11-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/load-relative-check.c: Add scan patterns for
      	-m31.
      
      From-SVN: r231071
      Andreas Krebbel committed
    • S/390: Testsuite: Add -mzarch to load-relative-check.c. · 804101ae
      2015-11-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/load-relative-check.c: Add -mzarch.
      
      From-SVN: r231070
      Andreas Krebbel committed
    • c-ada-spec.c (print_ada_macros): Remove redundant blank line. · f07862c7
      	* c-ada-spec.c (print_ada_macros): Remove redundant blank line.
      	(decl_sloc_common): Delete and move bulk of processing to...
      	(decl_sloc): ...here.
      	(pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
      	(dump_ada_double_name): Remove S parameter and compute the suffix.
      	(dump_ada_array_type): Add PARENT parameter.  Simplify computation of
      	element type and deal with an anonymous one.
      	(dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
      	(dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
      	and remove reference to QUAL_UNION_TYPE.
      	(dump_nested_types): Make 2 passes on the fields and move bulk to...
      	(dump_nested_type): ...here.  New function extracted from above.
      	Generate a full declaration for anonymous element type of arrays.
      	(print_ada_declaration): Really skip anonymous declarations.  Remove
      	references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
      	Clean up processing of declarations of array types and objects.
      	(print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
      	Remove obsolete code and tidy up.
      
      From-SVN: r231069
      Eric Botcazou committed
    • * gcc-interface/trans.c (gigi): Fix initialization order. · c8a23c29
      From-SVN: r231068
      Eric Botcazou committed
    • osint.adb: Add use type clause for CRTL.size_t. · 4f852a1a
      	* osint.adb: Add use type clause for CRTL.size_t.
      	(C_String_Length): Return CRTL.size_t instead of Integer.
      	(To_Path_String_Access): Take CRTL.size_t instead of Integer.
      	(Get_Libraries_From_Registry): Use CRTL throughout.
      	(To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
      	(To_Canonical_File_List): Likewise.
      	(To_Canonical_File_Spec): Likewise.
      	(To_Canonical_Path_Spec): Likewise.
      	(To_Host_Dir_Spec): Likewise.
      	(To_Host_File_Spec): Likewise.
      	(Update_Path): Use CRTL throughout.
      	* s-shasto.adb: Add with clause for System.CRTL.
      	(Initialize): Rename CRTL.strncpy instead of importing it manually.
      
      From-SVN: r231066
      Eric Botcazou committed
    • gigi.h (create_var_decl): Adjust prototype. · 2056c5ed
      	* gcc-interface/gigi.h (create_var_decl): Adjust prototype.
      	(create_subprog_decl): Likewise.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
      	static_p into static_flag and add volatile_flag local variable.
      	Do not locally change the type of a volatile object, except for the
      	pointed-to type if the object is handled by reference.  Adjust calls
      	to create_var_decl.
      	<E_Subprogram_Type>: Likewise for const and noreturn subprograms.
      	(get_minimal_subprog_decl): Adjust call to create_subprog_decl.
      	(elaborate_expression_1): Adjust call to create_var_decl.
      	(gnat_to_gnu_field): Minor tweak.
      	* gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
      	create_subprog_decl.
      	(build_raise_check): Likewise.
      	(Subprogram_Body_to_gnu): Likewise.
      	(create_temporary): Likewise.
      	(Handled_Sequence_Of_Statements_to_gnu): Likewise.
      	(Exception_Handler_to_gnu_gcc): Likewise.
      	(Compilation_Unit_to_gnu): Likewise.
      	(gnat_to_gnu): Likewise.
      	* gcc-interface/utils.c (maybe_pad_type): Likewise.
      	(create_var_decl): Add VOLATILE_FLAG parameter and handle it.
      	(create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
      	handle them.
      
      From-SVN: r231065
      Eric Botcazou committed
    • gigi.h (is_simple_additive_expression): Declare. · 933a7325
      	* gcc-interface/gigi.h (is_simple_additive_expression): Declare.
      	* gcc-interface/trans.c (struct range_check_info_d): Add DISP and
      	NEG_P fields.
      	(find_loop_for): Add DISP and NEG_P parameters with default value.
      	Call is_simple_additive_expression to handle additive expressions.
      	(Loop_Statement_to_gnu): Deal with displacement in range checks.
      	(Raise_Error_to_gnu): Likewise.
      	(gnat_to_gnu): Add call to find_loop_for.
      	(is_simple_additive_expression): New function extracted from...
      	(gnat_invariant_expr): ...here.  Call it on the expression.
      
      From-SVN: r231064
      Eric Botcazou committed