2014-04-29  Richard Biener  <rguenther@suse.de>

	* dominance.c (free_dominance_info): Add overload with
	function parameter.
	(dom_info_state): Likewise.
	(dom_info_available_p): Likewise.
	* basic-block.h (free_dominance_info, dom_info_state,
	dom_info_available_p): Declare overloads.
	* passes.c (execute_function_todo): Verify that verifiers
	don't change dominator info state.  Drop dominator info
	for IPA pass invocations.
	* cgraph.c (release_function_body): Restore asserts that
	dominator information is released.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209892 138bc75d-0d04-0410-961f-82ee72b054a4
Add execution + assembler tests of the AArch64 ZIP Intrinsics.

	* gcc.target/aarch64/simd/simd.exp: New file.
	* gcc.target/aarch64/simd/vzipf32_1.c: New file.
	* gcc.target/aarch64/simd/vzipf32.x: New file.
	* gcc.target/aarch64/simd/vzipp16_1.c: New file.
	* gcc.target/aarch64/simd/vzipp16.x: New file.
	* gcc.target/aarch64/simd/vzipp8_1.c: New file.
	* gcc.target/aarch64/simd/vzipp8.x: New file.
	* gcc.target/aarch64/simd/vzipqf32_1.c: New file.
	* gcc.target/aarch64/simd/vzipqf32.x: New file.
	* gcc.target/aarch64/simd/vzipqp16_1.c: New file.
	* gcc.target/aarch64/simd/vzipqp16.x: New file.
	* gcc.target/aarch64/simd/vzipqp8_1.c: New file.
	* gcc.target/aarch64/simd/vzipqp8.x: New file.
	* gcc.target/aarch64/simd/vzipqs16_1.c: New file.
	* gcc.target/aarch64/simd/vzipqs16.x: New file.
	* gcc.target/aarch64/simd/vzipqs32_1.c: New file.
	* gcc.target/aarch64/simd/vzipqs32.x: New file.
	* gcc.target/aarch64/simd/vzipqs8_1.c: New file.
	* gcc.target/aarch64/simd/vzipqs8.x: New file.
	* gcc.target/aarch64/simd/vzipqu16_1.c: New file.
	* gcc.target/aarch64/simd/vzipqu16.x: New file.
	* gcc.target/aarch64/simd/vzipqu32_1.c: New file.
	* gcc.target/aarch64/simd/vzipqu32.x: New file.
	* gcc.target/aarch64/simd/vzipqu8_1.c: New file.
	* gcc.target/aarch64/simd/vzipqu8.x: New file.
	* gcc.target/aarch64/simd/vzips16_1.c: New file.
	* gcc.target/aarch64/simd/vzips16.x: New file.
	* gcc.target/aarch64/simd/vzips32_1.c: New file.
	* gcc.target/aarch64/simd/vzips32.x: New file.
	* gcc.target/aarch64/simd/vzips8_1.c: New file.
	* gcc.target/aarch64/simd/vzips8.x: New file.
	* gcc.target/aarch64/simd/vzipu16_1.c: New file.
	* gcc.target/aarch64/simd/vzipu16.x: New file.
	* gcc.target/aarch64/simd/vzipu32_1.c: New file.
	* gcc.target/aarch64/simd/vzipu32.x: New file.
	* gcc.target/aarch64/simd/vzipu8_1.c: New file.
	* gcc.target/aarch64/simd/vzipu8.x: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209893 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
	(arc_init_reg_tables): Use a machine_mode enum to iterate over
	available modes.
	* config/m32r/m32r.c (init_reg_tables): Likewise.
	* config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
	enum to hold the modes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209894 138bc75d-0d04-0410-961f-82ee72b054a4
	* MAINTAINERS (Write After Approval): Add myself.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209895 138bc75d-0d04-0410-961f-82ee72b054a4
	* MAINTAINERS (Write After Approval): Put myself in correct order.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209896 138bc75d-0d04-0410-961f-82ee72b054a4
Remove PUSH_ARGS_REVERSED from the RTL expander.

gcc/

	* calls.c (initialize_argument_information): Always treat
	PUSH_ARGS_REVERSED as 1, simplify code accordingly.
	(expand_call): Likewise.
	(emit_library_call_calue_1): Likewise.
	* expr.c (PUSH_ARGS_REVERSED): Do not define.
	(emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
	code accordingly.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209897 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/msp430/msp430.md (umulsidi): Fix typo.
	(mulhisi3): Enable even inside interrupt handlers.
	* config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
	bigger return address pushed in large mode.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209898 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/60971
	* tree-tailcall.c (process_assignment): Reject conversions which
	reduce precision.

	* c-c++-common/turtore/pr60971.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209900 138bc75d-0d04-0410-961f-82ee72b054a4
Dump the return type of functions in gimple dumps

gcc/
	* tree-cfg.c (dump_function_to_file): Dump the return type of
	functions, in a line to itself before the function body, mimicking
	the layout of a C function.

gcc/testsuite/
	* gcc.dg/tree-ssa/pr23401.c: Update the expected number of
	occurrences of "int" in the gimple dump to reflect that the return
	types of functions now show up in such dumps.
	* gcc.dg/tree-ssa/pr27810.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209902 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51707
	* g++.dg/cpp0x/constexpr-51707.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209905 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
	vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
	vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
	vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
	vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
	vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
	vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
	vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209906 138bc75d-0d04-0410-961f-82ee72b054a4
	DR 1351
	Represent the unevaluated exception specification of an implicitly
	declared or deleted function with a simple placeholder, not a list
	of functions.
	* cp-tree.h (UNEVALUATED_NOEXCEPT_SPEC_P): New.
	* except.c (unevaluated_noexcept_spec): New.
	* class.c (deduce_noexcept_on_destructor): Use it.
	* decl.c (check_redeclaration_exception_specification): Call
	maybe_instantiate_noexcept.
	(duplicate_decls): Call it before merge_types.
	(start_preparsed_function): Call maybe_instantiate_noexcept.
	* decl2.c (mark_used): Call maybe_instantiate_noexcept earlier.
	* init.c (get_nsdmi): Factor out of perform_member_init.
	* method.c (process_subob_fn): Call maybe_instantiate_noexcept.
	(walk_field_subobs): Consider NSDMI for EH spec.
	(get_defaulted_eh_spec): New.
	(implicitly_declare_fn): Use unevaluated_noexcept_spec.
	(defaulted_late_check): Defer EH checking in non-template classes.
	(after_nsdmi_defaulted_late_checks): New.
	* parser.c (cp_parser_class_specifier_1): Use it.
	(unparsed_classes): New macro.
	* parser.h (cp_unparsed_functions_entry_d): Add classes field.
	* pt.c (maybe_instantiate_noexcept): Use get_defaulted_eh_spec.
	Remove list-of-functions handling.
	* typeck2.c (merge_exception_specifiers): Remove list-of-functions
	handling and FN parameter.
	* typeck.c (merge_types): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209907 138bc75d-0d04-0410-961f-82ee72b054a4
Add execution tests of ARM ZIP Intrinsics.

	* gcc.target/arm/simd/simd.exp: New file.
	* gcc.target/arm/simd/vzipqf32_1.c: New file.
	* gcc.target/arm/simd/vzipqp16_1.c: New file.
	* gcc.target/arm/simd/vzipqp8_1.c: New file.
	* gcc.target/arm/simd/vzipqs16_1.c: New file.
	* gcc.target/arm/simd/vzipqs32_1.c: New file.
	* gcc.target/arm/simd/vzipqs8_1.c: New file.
	* gcc.target/arm/simd/vzipqu16_1.c: New file.
	* gcc.target/arm/simd/vzipqu32_1.c: New file.
	* gcc.target/arm/simd/vzipqu8_1.c: New file.
	* gcc.target/arm/simd/vzipf32_1.c: New file.
	* gcc.target/arm/simd/vzipp16_1.c: New file.
	* gcc.target/arm/simd/vzipp8_1.c: New file.
	* gcc.target/arm/simd/vzips16_1.c: New file.
	* gcc.target/arm/simd/vzips32_1.c: New file.
	* gcc.target/arm/simd/vzips8_1.c: New file.
	* gcc.target/arm/simd/vzipu16_1.c: New file.
	* gcc.target/arm/simd/vzipu32_1.c: New file.
	* gcc.target/arm/simd/vzipu8_1.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209908 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209922 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote-tracking branch 'gnu/master' into 4.10.0