Commit Graph

139884 Commits

Author SHA1 Message Date
Alan Lawrence 110d61da1d [AArch64] Removed unused VRL2/3/4 iterator values
* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Remove values for
	128-bit vector modes.

From-SVN: r226408
2015-07-30 16:04:08 +00:00
Richard Sandiford f7ba7f18e5 builtins.c (HAVE_atomic_clear, [...]): Delete.
gcc/
	* builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
	(expand_builtin_atomic_clear): Remove support for atomic_clear
	pattern.

From-SVN: r226405
2015-07-30 13:22:56 +00:00
Richard Biener 819ec64c36 gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.
2015-07-30  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
	binaries.  Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
	(fold_stmt_1): ... here and work on GIMPLE directly.  Remove
	redundant operand canonicalization.

From-SVN: r226404
2015-07-30 13:11:41 +00:00
David Sherwood cb5ca3151b aarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
gcc/
2015-07-30  David Sherwood  <david.sherwood@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
	GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
	* config/arm/arm.c (neon_valid_immediate): Likewise.
	* config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
	(expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
	(expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
	(expand_vec_perm_vpshufb2_vpermq): Likewise.
	(expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
	(expand_vec_perm_vpshufb4_vpermq2): Likewise.
	* config/i386/sse.md
	(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
	(*ssse3_palignr<mode>_perm): Likewise.
	* config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
	* config/spu/spu.c (arith_immediate_p): Likewise.
	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
	(simplify_binary_operation_1, simplify_ternary_operation): Likewise.

From-SVN: r226403
2015-07-30 13:06:25 +00:00
Jonathan Wakely 155bfacbbe current_path.cc: Use canonical paths for comparisons.
* testsuite/experimental/filesystem/operations/current_path.cc: Use
	canonical paths for comparisons.

From-SVN: r226402
2015-07-30 13:41:33 +01:00
Richard Biener b21ce9ce3b genmatch.c (decision_tree::gen_gimple): Merge with ...
2015-07-30  Richard Biener  <rguenther@suse.de>

	* genmatch.c (decision_tree::gen_gimple): Merge with ...
	(decision_tree::gen_generic): ... this into ...
	(decision_tree::gen): ... this.
	(main): Adjust callers.

From-SVN: r226396
2015-07-30 11:20:21 +00:00
Tim Shen 81b7ff079a regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...
* include/bits/regex_automaton.h (_State_base, _State<>):
	Remove _TraitsT dependency from _State<>; Make matcher member
	into the union to reduce struct size.
	* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
	_State_base<>::_M_dot, _StateSeq<>::_M_clone):
	Adjust to fit the interface. Factor out common parts in
	_M_clone as _State<>::_M_has_alt.
	* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
	Only pass state id instead of the whole state.
	* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
	_Executer<>::_M_lookahead): Adjust to fit the interface.
	* include/std/regex: Include <ext/aligned_buffer.h>

From-SVN: r226395
2015-07-30 10:35:45 +00:00
Paolo Carlini 15827d124a class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.
2015-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
	in warning_at instead of "%q+D" in warning.
	(warn_hidden): Likewise but use location_of.
	(finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
	(check_bitfield_decl, check_field_decls): Likewise in warning_at.
	(check_field_decls): Likewise for permerror.
	(explain_non_literal_class): Likewise for inform.
	(check_bases_and_members, layout_class_type): Likewise for warning_at.
	(note_name_declared_in_class): Use location_of in permerror.
	* name-lookup.c (diagnose_name_conflict): Use location_of in inform.
	(pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
	inform, and warning_at.
	(check_for_out_of_scope_variable): Likewise for warning_at and
	permerror.

From-SVN: r226394
2015-07-30 10:24:46 +00:00
Jonathan Wakely 2e3f48dc43 any (any::operator=(const any&)): Check for self-assignment.
* include/experimental/any (any::operator=(const any&)): Check for
	self-assignment.
	* testsuite/experimental/any/assign/self.cc: New.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r226393
2015-07-30 11:00:39 +01:00
Marek Polacek 173864e8f1 c-common.c (warn_tautological_cmp): Bail for float types.
* c-common.c (warn_tautological_cmp): Bail for float types.

	* c-c++-common/Wtautological-compare-3.c: New test.

From-SVN: r226388
2015-07-30 08:31:59 +00:00
Richard Biener 53a19317f4 genmatch.c (verbose): New global.
2015-07-30  Richard Biener  <rguenther@suse.de>

	* genmatch.c (verbose): New global.
	(warning_at): Add overload with source_location.
	(capture_info::capture_info): Add bool whether generating gimple
	or generic.  Add gimple member.
	(capture_info::cinfo): Add capture member.
	(capture_info::walk_match): Record capture.  Warn on
	non-captured leafs.
	(capture_info::walk_c_expr): Add more fragments captures cannot
	escape through.  Warn on escaped captures.
	(dt_simplify::gen_1): Warn on operands we force to have no
	side-effects.
	(main): Initialize verbose.
	* match.pd: Add integer_nonzerop and HONOR_NANS predicates.

From-SVN: r226386
2015-07-30 07:56:23 +00:00
Richard Biener f501d5cd99 re PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)
2015-07-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/67053
	* match.pd: Allow both operands to independently have conversion
	when simplifying compares of addresses.

From-SVN: r226384
2015-07-30 07:09:20 +00:00
Jason Merrill 4fdfdd4f1b DR 1558 PR c++/67021
DR 1558
	PR c++/67021
	* pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.

From-SVN: r226381
2015-07-30 01:27:34 -04:00
Segher Boessenkool 2d590ab09c re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
PR target/66217
	PR target/67045
	* config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
	around those cases that need one.

From-SVN: r226378
2015-07-30 04:34:09 +02:00
GCC Administrator dfe8fbc22c Daily bump.
From-SVN: r226377
2015-07-30 00:16:12 +00:00
Ian Lance Taylor d266c7e943 syscall: Fix to libgo/mksysinfo.sh
In a recent change to mksysinfo.sh, a space was missing on
    some lines which caused the libgo build to hang on some
    systems.  This corrects that problem.
    
    Fixes golang/go#11924
    
    Reviewed-on: https://go-review.googlesource.com/12835

From-SVN: r226366
2015-07-29 21:42:30 +00:00
Aditya Kumar ac73bb4c82 [graphite] reduce the number of params in a scop to 3
* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.

From-SVN: r226365
2015-07-29 21:28:27 +00:00
H.J. Lu fd18098845 Define DBX_REGISTER_NUMBER for IA MCU
Since IA MCU uses the same debug register map as Linux/x86, we copy
DBX_REGISTER_NUMBER together with TARGET_ASM_FILE_START_FILE_DIRECTIVE
and ASM_COMMENT_START from i386/gnu-user.h to i386/iamcu.h.

	* config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
	New.  Copied from config/i386/gnu-user.h.
	(ASM_COMMENT_START): Likewise.
	(DBX_REGISTER_NUMBER): Likewise.

From-SVN: r226363
2015-07-29 14:06:23 -07:00
Ville Voutilainen 18e1ed3412 Fix whitespace in my MAINTAINERS change commit.
* MAINTAINERS (Write After Approval): Add a blank line.

From-SVN: r226361
2015-07-29 22:17:47 +03:00
Ville Voutilainen c9da75480c * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r226358
2015-07-29 20:20:23 +03:00
Uros Bizjak c276d6055e re PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift-negative-value])
PR libgfortran/66650
	* libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
	"left shift of negative value" warning.

From-SVN: r226355
2015-07-29 17:42:03 +02:00
Jonathan Wakely 626b8d8a48 re PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc)
PR libstdc++/66829
	* testsuite/lib/libstdc++.exp (v3-build_support): Compile
	testsuite_shared.cc with -std=gnu++98.

From-SVN: r226354
2015-07-29 15:56:11 +01:00
Alan Lawrence c5ce61b0a5 [AArch64 Testsuite] vld1_lane.c: Remove unused test data
(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 14:27:21 +00:00
Alan Lawrence a7c5a3cc00 [AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t case
(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-29 14:21:19 +00:00
Richard Biener 9e9eadd1e2 gimple-fold.c (fold_gimple_cond): Remove.
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 14:17:49 +00:00
Alan Lawrence 4347617fdf [ARM/AArch64 Testsuite] Add basic fp16 tests
* 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 13:28:54 +00:00
Jonathan Wakely ef20ab5e01 * testsuite/24_iterators/container_access.cc: New.
From-SVN: r226349
2015-07-29 13:55:58 +01:00
Ville Voutilainen a460d06d16 range_access.h: Change class to typename in every template.
2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

	* include/bits/range_access.h: Change class to typename in every
	template.
	(size, empty, data): New functions from N4280.
	* testsuite/24_iterators/container_access.cc: New.

From-SVN: r226348
2015-07-29 13:41:32 +01:00
Ville Voutilainen 1fa9ba224e re PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))
2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/60970
	* include/bits/functional_hash.h (__hash_enum): New.
	(hash): Derive from __hash_enum.
	* testsuite/20_util/hash/60970.cc: New.

From-SVN: r226347
2015-07-29 13:41:23 +01:00
Alan Lawrence c2ec330c9a [AArch64] Add basic FP16 support
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-29 12:27:05 +00:00
Richard Biener da571fdab9 match.pd: Merge address comparison patterns and make them handle some more 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-29 12:14:08 +00:00
Richard Biener c56f494f74 genmatch.c (c_expr::gen_transform): Error on unknown captures.
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-29 12:06:14 +00:00
Richard Biener 89a79e9629 gimple-fold.c (has_use_on_stmt): New function.
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-29 07:48:10 +00:00
Markus Trippelsdorf 97d8f80175 Use fast unwinder for PowerPC
2015-07-29  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR sanitizer/63927
	* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
	for PowerPC.

From-SVN: r226338
2015-07-29 06:32:09 +00:00
Tim Shen f9ce3c1639 re PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)
PR libstdc++/67015
	* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
	_BracketMatcher<>::_M_add_collating_element): Change signature
	to make checking the and of bracket expression easier.
	* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
	Treat '-' as a valid literal if it's at the end of bracket expression.
	* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
	New testcases.

From-SVN: r226336
2015-07-29 03:45:35 +00:00
Bill Schmidt 3d61d87585 re PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)
2015-07-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR sanitizer/63927
	* sanitizer_common/sanitizer_stacktrace.cc
	(BufferedStackTrace::FastUnwindStack): Fix code for PowerPC to
	find the link register at an offset of 16 from the base of the
	caller's stack frame.

From-SVN: r226335
2015-07-29 03:33:10 +00:00
GCC Administrator c73858e982 Daily bump.
From-SVN: r226334
2015-07-29 00:16:12 +00:00
David Sherwood 1c0e448f4b arm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally.
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-28 20:31:17 +00:00
Richard Sandiford 726858e309 target-insns.def (reload_load_address): New targetm instruction pattern.
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-28 20:06:57 +00:00
Richard Sandiford 3d00045080 target-insns.def (atomic_test_and_set): New targetm instruction pattern.
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-28 20:03:22 +00:00
Richard Sandiford 2a870875df target-insns.def (can_extend, ptr_extend): New targetm instruction patterns.
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-28 19:59:40 +00:00
Richard Sandiford 3b0b0013f6 target-insns.def (eh_return): New targetm instruction pattern.
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-28 19:54:06 +00:00
Richard Sandiford 902628047c target-insns.def (indirect_jump): New targetm instruction pattern.
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-28 19:50:22 +00:00
Richard Sandiford c1ddc8e9d8 fr30.md (indirect_jump): Use pmode_register_operand instead of 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-28 19:34:12 +00:00
Eric Gallager cfce04880a check.tpl: Ignore .DS_Store directories.
2015-07-28  Eric Gallager  <egall@gwmail.gwu.edu>

	* check.tpl: Ignore .DS_Store directories.

From-SVN: r226317
2015-07-28 18:11:22 +00:00
Richard Biener 68aba1f6a8 match.pd: Add more simplification of address comparisons.
2015-07-28  Richard Biener  <rguenther@suse.de>

	* match.pd: Add more simplification of address comparisons.

From-SVN: r226312
2015-07-28 11:53:37 +00:00
Richard Biener 9bc22d19f1 match.pd: Re-order two cases in comparison with max/min value simplification 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 11:52:55 +00:00
Kyrylo Tkachov e47c403137 [AArch64] Properly handle simple arith+extend ops in rtx costs
* 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-28 11:00:07 +00:00
Paolo Carlini 4b1cbcee3e call.c (build_op_delete_call, [...]): Use Use DECL_SOURCE_LOCATION and "%qD" 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-28 08:53:57 +00:00
Nick Clifton f87a37c689 rl78.c (rl78_addsi3_internal): New function.
* 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-28 08:09:09 +00:00