aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-07-29[AArch64 Testsuite] vld1_lane.c: Remove unused test dataAlan Lawrence2-15/+19
(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins) * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data. (CHECK): Pass address of scalar, rather than array. From-SVN: r226353
2015-07-29[AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t caseAlan Lawrence2-0/+5
(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins) * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case. From-SVN: r226352
2015-07-29gimple-fold.c (fold_gimple_cond): Remove.Richard Biener2-31/+5
2015-07-29 Richard Biener <rguenther@suse.de> * gimple-fold.c (fold_gimple_cond): Remove. (fold_stmt_1): Do not call it. From-SVN: r226351
2015-07-29[ARM/AArch64 Testsuite] Add basic fp16 testsAlan Lawrence4-0/+116
* gcc.target/aarch64/fp16/fp16.exp: New. * gcc.target/aarch64/fp16/f16_convs_1.c: New. * gcc.target/aarch64/fp16/f16_convs_2.c: New. From-SVN: r226350
2015-07-29[AArch64] Add basic FP16 supportAlan Lawrence9-4/+172
gcc/: * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New. (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16. * config/aarch64/aarch64-modes.def: Add HFmode. * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP. * config/aarch64/aarch64.c (aarch64_init_libfuncs, aarch64_promoted_type): New. (aarch64_float_const_representable_p): Disable HFmode. (aarch64_mangle_type): Mangle half-precision floats to "Dh". (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type. (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs. * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16. (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New. * config/aarch64/iterators.md (GPF_F16): New. gcc/testsuite/: * gcc.target/aarch64/f16_movs_1.c: New test. From-SVN: r226346
2015-07-29match.pd: Merge address comparison patterns and make them handle some more ↵Richard Biener2-38/+48
cases. 2015-07-29 Richard Biener <rguenther@suse.de> * match.pd: Merge address comparison patterns and make them handle some more cases. From-SVN: r226345
2015-07-29genmatch.c (c_expr::gen_transform): Error on unknown captures.Richard Biener2-7/+23
2015-07-29 Richard Biener <rguenther@suse.de> * genmatch.c (c_expr::gen_transform): Error on unknown captures. (parser::parse_capture): Add bool argument on whether to reject unknown captures. (parser::parse_expr): Adjust. (parser::parse_op): Likewise. (parser::parse_pattern): Likewise. From-SVN: r226344
2015-07-29gimple-fold.c (has_use_on_stmt): New function.Richard Biener2-5/+67
2015-07-29 Richard Biener <rguenther@suse.de> * gimple-fold.c (has_use_on_stmt): New function. (replace_stmt_with_simplification): Use it to allow abnormals originally referenced in the stmt. (fold_stmt_1): Canonicalize operand order. From-SVN: r226339
2015-07-29Daily bump.GCC Administrator1-1/+1
From-SVN: r226334
2015-07-28arm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally.David Sherwood12-65/+49
gcc/ 2015-07-28 David Sherwood <david.sherwood@arm.com> * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call GET_MODE_INNER unconditionally. * config/spu/spu.c (arith_immediate_p): Likewise. * config/i386/i386.c (ix86_build_signbit_mask): Likewise. * expmed.c (synth_mult): Remove check for VOIDmode result from GET_MODE_INNER. (expand_mult_const): Likewise. * fold-const.c (fold_binary_loc): Replace call to element_precision with call to GET_MODE_PRECISION. * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with m->name. (emit_mode_inner): Likewise. * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER result check. * machmode.h (GET_MODE_UNIT_SIZE): Simplify. (GET_MODE_UNIT_PRECISION): Likewise. * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally. * simplify-rtx.c (simplify_immed_subreg): Likewise. * stor-layout.c (bitwise_type_for_mode): Update assert. (element_precision): Remove. From-SVN: r226328
2015-07-28target-insns.def (reload_load_address): New targetm instruction pattern.Richard Sandiford3-4/+9
gcc/ * target-insns.def (reload_load_address): New targetm instruction pattern. * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface. From-SVN: r226326
2015-07-28target-insns.def (atomic_test_and_set): New targetm instruction pattern.Richard Sandiford3-10/+13
gcc/ * target-insns.def (atomic_test_and_set): New targetm instruction pattern. * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of HAVE_*/gen_* interface. From-SVN: r226325
2015-07-28target-insns.def (can_extend, ptr_extend): New targetm instruction patterns.Richard Sandiford6-15/+30
gcc/ * target-insns.def (can_extend, ptr_extend): New targetm instruction patterns. * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface. * simplify-rtx.c (simplify_unary_operation_1): Likewise. * emit-rtl.c (set_reg_attrs_from_value): Likewise. * rtlanal.c (nonzero_bits1): Likewise. (num_sign_bit_copies1): Likewise. From-SVN: r226324
2015-07-28target-insns.def (eh_return): New targetm instruction pattern.Richard Sandiford4-6/+11
gcc/ * target-insns.def (eh_return): New targetm instruction pattern. * except.c (expand_eh_return): Use it instead of HAVE_*/gen_* interface. * function.c (thread_prologue_and_epilogue_insns): Remove preprocessor condition. From-SVN: r226322
2015-07-28target-insns.def (indirect_jump): New targetm instruction pattern.Richard Sandiford3-6/+12
gcc/ * target-insns.def (indirect_jump): New targetm instruction pattern. * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_* interface. From-SVN: r226321
2015-07-28fr30.md (indirect_jump): Use pmode_register_operand instead of ↵Richard Sandiford2-2/+7
nonimmediate_operand. gcc/ * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand instead of nonimmediate_operand. Remove C condiition. From-SVN: r226320
2015-07-28match.pd: Add more simplification of address comparisons.Richard Biener2-0/+44
2015-07-28 Richard Biener <rguenther@suse.de> * match.pd: Add more simplification of address comparisons. From-SVN: r226312
2015-07-28match.pd: Re-order two cases in comparison with max/min value simplification ↵Richard Biener2-6/+11
to make it... 2015-07-28 Richard Biener <rguenther@suse.de> * match.pd: Re-order two cases in comparison with max/min value simplification to make it apply for bools. From-SVN: r226311
2015-07-28[AArch64] Properly handle simple arith+extend ops in rtx costsKyrylo Tkachov2-2/+16
* config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): Handle simple SIGN_EXTEND or ZERO_EXTEND. (aarch64_rtx_costs): Properly strip extend or extract before passing down to rtx costs again. From-SVN: r226309
2015-07-28call.c (build_op_delete_call, [...]): Use Use DECL_SOURCE_LOCATION and "%qD" ↵Paolo Carlini12-47/+88
in inform and pedwarn instead of "%q+D". 2015-07-28 Paolo Carlini <paolo.carlini@oracle.com> * call.c (build_op_delete_call, convert_like_real, build_over_call): Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead of "%q+D". * constexpr.c (explain_invalid_constexpr_fn): Likewise. * decl.c (duplicate_decls): Likewise for warning/warning_at. * except.c (maybe_noexcept_warning): Likewise. * friend.c (make_friend_class): Likewise for inform. * mangle.c (mangle_decl): Likewise for warning/warning_at. * method.c (process_subob_fn, walk_field_subobs, maybe_explain_implicit_delete): Likewise for inform. * parser.c (cp_parser_lambda_introducer): Likewise. * pt.c (check_specialization_namespace, maybe_process_partial_specialization): Likewise for permerror. (redeclare_class_template): Likewise for inform_n. (coerce_template_parms, tsubst_copy_and_build): Likewise for inform. * search.c (check_final_overrider): Likewise. * semantics.c (process_outer_var_ref): Likewise. From-SVN: r226308
2015-07-28rl78.c (rl78_addsi3_internal): New function.Nick Clifton4-4/+40
* config/rl78/rl78.c (rl78_addsi3_internal): New function. Optimizes the case where -mes0 is active and a constant symbolic address is used. * config/rl78/rl78-protos.h: Prototype the new function. * config/rl78/rl78.md (addsi3_internal_real): Call new function. From-SVN: r226306
2015-07-28Handle double reduction in parloopsTom de Vries4-13/+80
2015-07-28 Tom de Vries <tom@codesourcery.com> * tree-parloops.c (reduc_stmt_res): New function. (initialize_reductions, add_field_for_reduction) (create_phi_for_local_result, create_loads_for_reductions) (create_stores_for_reduction, build_new_reduction): Handle case that reduc_stmt is a phi. (gather_scalar_reductions): Allow double_reduc reductions. * gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing outer loop. * testsuite/libgomp.c/uns-outer-4.c: New test. From-SVN: r226300
2015-07-28fold-const.c (fold_comparison): Remove equality folding of decl addresses ...Richard Biener3-32/+19
2015-07-28 Richard Biener <rguenther@suse.de> * fold-const.c (fold_comparison): Remove equality folding of decl addresses ... * match.pd: ... here and merge with existing pattern. From-SVN: r226299
2015-07-28re PR tree-optimization/66828 (gcc/tree-ssa-math-opts.c:2182:38: runtime ↵Thomas Preud'homme2-1/+7
error: left shift of 72057594037927936 by 8 places cannot be represented in type 'long int') 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com> PR tree-optimization/66828 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc from int64_t to uint64_t. From-SVN: r226298
2015-07-28Honour DriverOnly for enum values in error messagesDominik Vogt2-0/+8
/gcc/ChangeLog * opts-common.c (read_cmdline_option): List DriverOnly enum values as valid only in the error message of the driver, not in the messages of the language compilers. From-SVN: r226297
2015-07-28Daily bump.GCC Administrator1-1/+1
From-SVN: r226294
2015-07-27c-decl.c (get_parm_info): Remove static var.Luis Felipe Strano Moraes7-16/+22
gcc/c/ChangeLog 2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> * c-decl.c (get_parm_info): Remove static var. Update warning message. gcc/testsuite/ChangeLog 2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com> Manuel López-Ibáñez <manu@gcc.gnu.org> * gcc.dg/parm-incomplete-1.c: Update. * gcc.dg/pr18809-1.c: Update. * gcc.dg/pr27953.c: Update. * gcc.dg/vla-11.c: Update. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r226274
2015-07-27* c-c++-common/Wtautological-compare-2.c: Remove unused line.Marek Polacek2-2/+4
From-SVN: r226271
2015-07-27Simplify gather_scalar_reductionsTom de Vries2-9/+17
2015-07-27 Tom de Vries <tom@codesourcery.com> * tree-parloops.c (gather_scalar_reductions): Simplify function structure. From-SVN: r226270
2015-07-27Update outer-4.c and uns-outer-4.cTom de Vries3-22/+18
2015-07-27 Tom de Vries <tom@codesourcery.com> * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline attribute. Update comment. (main): Remove. Add scan for not parallelizing inner loop. * gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline attribute. (main): Remove. From-SVN: r226269
2015-07-27* ipa-devirt.c (types_same_for_odr): Fix typo.Marek Polacek2-1/+5
From-SVN: r226266
2015-07-27re PR bootstrap/67030 (ARM bootstrap failure due to ↵Marek Polacek4-0/+31
[-Werror=tautological-compare]) PR bootstrap/67030 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. * c-c++-common/Wtautological-compare-2.c: New test. From-SVN: r226264
2015-07-27constexpr.c (cxx_eval_call_expression): Don't add this call to the hash ↵Jason Merrill2-1/+6
table if !depth_ok. * constexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if !depth_ok. From-SVN: r226256
2015-07-27re PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)Jason Merrill2-0/+10
PR debug/66468 * dwarf2out.c (gen_inlined_subroutine_die): Check cgraph_function_possibly_inlined_p. From-SVN: r226255
2015-07-27Add more tests for PR target/66232H.J. Lu5-0/+61
PR target/66232 * gcc.target/i386/pr66232-6.c: New tests. * gcc.target/i386/pr66232-7.c: Likewise. * gcc.target/i386/pr66232-8.c: Likewise. * gcc.target/i386/pr66232-9.c: Likewise. From-SVN: r226254
2015-07-27[PATCH][AArch64] Improve spill code - swap order in shr patternsWilco Dijkstra2-13/+20
gcc/ * gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3): Place integer variant first. (aarch64_ashr_sisd_or_int_<mode>3): Likewise. From-SVN: r226253
2015-07-27[ARM] PR/63870 Add a __builtin_lane_checkAlan Lawrence2-4/+44
* config/arm/arm-builtins.c (enum arm_builtins): Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK. (ARM_BUILTIN_NEON_BASE): Rename macro to.... (ARM_BUILTIN_NEON_PATTERN_START): ...this. (arm_init_neon_builtins): Register __builtin_arm_lane_check. (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK. From-SVN: r226252
2015-07-27[ARM] PR/63870 Add qualifier to check lane bounds in expandAlan Lawrence6-91/+145
* config/arm/arm-builtins.c (enum arm_type_qualifiers): Add qualifier_lane_index. (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New. (arm_getlane_qualifiers): Use qualifier_lane_index. (arm_lanemac_qualifiers): Rename to... (arm_mac_n_qualifiers): ...this. (LANEMAC_QUALIFIERS): Rename to... (MAC_N_QUALIFIERS): ...this. (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New. (arm_setlane_qualifiers): Use qualifier_lane_index. (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New. (enum builtin_arg): Add NEON_ARG_LANE_INDEX. (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX. (arm_expand_neon_builtin): Handle qualifier_lane_index. * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter. * config/arm/arm.c (bounds_check): Likewise, improve error message. (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check. * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n, vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n, vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n, vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM. (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change qualifiers to TERNOP_IMM. (vdup_lane): Change qualifiers to GETLANE. (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane, vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE. (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n, vqdmlsl_n): Change qualifiers to MAC_N. * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>, neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>, neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi, neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>, neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>, neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>, neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>, neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>, neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>): Remove call to neon_lane_bounds. From-SVN: r226251
2015-07-27[PATCH][AArch64] Improve spill code - swap order in shl patternWilco Dijkstra2-7/+12
gcc/ * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3): Place integer variant first. From-SVN: r226247
2015-07-27Fix logic error in Fortran OpenACC parsingThomas Schwinge2-2/+9
gcc/fortran/ * parse.c (parse_oacc_structured_block): Fix logic error. Reported by Mikael Morin <mikael.morin@sfr.fr>. From-SVN: r226246
2015-07-27arm-arches.def: Add "armv6kz".Matthew Wahab10-20/+58
2015-07-27 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ. * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__" for armv6kz targets. * config/arm/arm-cores.def: Replace 6ZK with 6KZ. * config/arm/arm-protos.h (FL_ARCH6KZ): New. (FL_FOR_ARCH6ZK): Remove. (FL_FOR_ARCH6KZ): New. (arm_arch6zk): New declaration. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm.c (arm_arch6kz): New. (arm_option_override): Set arm_arch6kz. * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ. * config/arm/driver-arm.c: Add comment to "armv6zk" entry. * doc/invoke.texi: Replace "armv6zk" with "armv6kz". From-SVN: r226243
2015-07-27re PR c++/66555 (Fails to warn for if (j == 0 && i == i))Marek Polacek15-3/+198
PR c++/66555 PR c/54979 * c-common.c (find_array_ref_with_const_idx_r): New function. (warn_tautological_cmp): New function. * c-common.h (warn_tautological_cmp): Declare. * c.opt (Wtautological-compare): New option. * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp. * call.c (build_new_op_1): Call warn_tautological_cmp. * pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological compare warnings. * doc/invoke.texi: Document -Wtautological-compare. * c-c++-common/Wtautological-compare-1.c: New test. From-SVN: r226242
2015-07-27genmatch.c (decision_tree::gen_gimple): Split out large subtrees into ↵Richard Biener2-8/+70
separate functions. 2015-07-27 Richard Biener <rguenther@suse.de> * genmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions. (decision_tree::gen_generic): Likewise. From-SVN: r226241
2015-07-27Daily bump.GCC Administrator1-1/+1
From-SVN: r226240
2015-07-26Fix PR c++/18969 (invalid return statement diagnosed too late)Patrick Palka6-7/+57
gcc/cp/ChangeLog: PR c++/18969 * typeck.c (check_return_expr): Also do the basic return-value validity checking if processing_template_decl and yet types are not dependent. Remove obsolete code. gcc/testsuite/ChangeLog: PR c++/18969 * g++.dg/template/pr18969.C: New test. * g++.dg/template/pr18969-2.C: New test. * g++.old-deja/g++.jason/overload.C: Remove return value in template function returning void. From-SVN: r226236
2015-07-26decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at ↵Paolo Carlini6-53/+96
instead of "%q+D" in warning. 2015-07-26 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning. (warn_extern_redeclared_static): Likewise for inform. (check_redeclaration_no_default_args): Likewise for permerror. (duplicate_decls): Likewise. (check_previous_goto_1): Likewise for inform. (check_goto, start_decl, check_for_uninitialized_const_var, start_preparsed_function, finish_function§): Likewise. * decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise. * init.c (sort_mem_initializers): Likewise. * typeck.c (convert_for_initialization): Likewise for inform. (maybe_warn_about_returning_address_of_local): Likewise. * typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform. (cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic. From-SVN: r226234
2015-07-26pr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid ↵Uros Bizjak2-1/+6
shift-overflow warnings. * gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings. From-SVN: r226233
2015-07-26alpha.c: Use SUBREG_P predicate.Uros Bizjak3-8/+13
* config/alpha/alpha.c: Use SUBREG_P predicate. * config/alpha/predicates.md: Ditto. From-SVN: r226232
2015-07-26Daily bump.GCC Administrator1-1/+1
From-SVN: r226231
2015-07-25re PR c++/66857 (Reference not bound to lvalue)Patrick Palka4-1/+32
Fix PR c++/66857 gcc/cp/ChangeLog: PR c++/66857 * cvt.c (ocp_convert): Don't call scalar_constant_value when converting to a class type. gcc/testsuite/ChangeLog: PR c++/66857 * g++.dg/init/pr66857.C: New test. From-SVN: r226228