2013-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokfndecl): Remove old bison hack.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202017 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/57860
	PR rtl-optimization/57861
	PR rtl-optimization/57875
	PR rtl-optimization/57876
	PR rtl-optimization/57877
	* gcc.c-torture/execute/pr57860.c: New test.
	* gcc.c-torture/execute/pr57861.c: New test.
	* gcc.c-torture/execute/pr57875.c: New test.
	* gcc.c-torture/execute/pr57876.c: New test.
	* gcc.c-torture/execute/pr57877.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202018 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57521
	* tree-if-conv.c (if_convertible_bb_p): Verify that at least
	one edge is non-critical.
	(find_phi_replacement_condition): Make sure to use a non-critical
	edge.  Cleanup and remove old bug workarounds.
	(bb_postdominates_preds): Remove.
	(if_convertible_loop_p_1): Do not compute post-dominators.
	(combine_blocks): Do not free post-dominators.
	(main_tree_if_conversion): Likewise.
	(pass_data_if_conversion): Add TODO_verify_ssa.

	* gcc.dg/torture/pr57521.c: New testcase.


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

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

	* config/aarch64/aarch64.md (unspec): Add UNSPEC_SISD_SSHL, 
	UNSPEC_SISD_USHL, UNSPEC_USHL_2S, UNSPEC_SSHL_2S, UNSPEC_SISD_NEG.
	(<optab><mode>3_insn): Remove.
	(aarch64_ashl_sisd_or_int_<mode>3): New Pattern.
	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
	(define_split for aarch64_lshr_sisd_or_int_di3): Likewise.
	(define_split for aarch64_lshr_sisd_or_int_si3): Likewise.
	(define_split for aarch64_ashr_sisd_or_int_di3): Likewise.
	(define_split for aarch64_ashr_sisd_or_int_si3): Likewise.
	(aarch64_sisd_ushl, aarch64_sisd_sshl): Likewise.
	(aarch64_ushl_2s, aarch64_sshl_2s, aarch64_sisd_neg_qi): Likewise.
	(ror<mode>3_insn): Likewise.
	* config/aarch64/predicates.md (aarch64_simd_register): New.

gcc/testsuite/

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

	* gcc.target/aarch64/scalar_shift_1.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202020 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-27  Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/57219
	* doc/extend.texi (__builtin_isinf_sign): Restrict the return
	values to -1, 0 and 1.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202021 138bc75d-0d04-0410-961f-82ee72b054a4
Remove experimental LRA test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202022 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-27  Tejas Belagod  <tejas.belagod@arm.com>

        * config/aarch64/arm_neon.h: Replace all inline asm implementations
        of vget_low_* with implementations in terms of other intrinsics.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202023 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/57927
	* config/i386/driver-i386.c (host_detect_local_cpu): Add detection
	of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
	AVX2 capable processors.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202026 138bc75d-0d04-0410-961f-82ee72b054a4
Update Haswell processor detection

	* config/i386/driver-i386.c (host_detect_local_cpu): Update
	Haswell processor detection.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202028 138bc75d-0d04-0410-961f-82ee72b054a4
	* Makefile.in (omp-low.o): Depend on $(TARGET_H).
	* cfgloop.h (struct loop): Add safelen, force_vect, simduid.
	* function.h (struct function): Add has_force_vect_loops and
	has_simduid_loops.
	* gimple-pretty-print.c (dump_gimple_omp_for): Handle
	GF_OMP_FOR_KIND*.
	* gimple.c (gimple_build_omp_critical): Add KIND argument and
	handle it.
	* gimple.def: Update CLAUSES comments.
	* gimple.h (enum gf_mask): Add GF_OMP_FOR_KIND_{FOR,SIMD}.
	(gimple_build_omp_for): Add argument to prototype.
	(gimple_omp_for_kind): New.
	(gimple_omp_for_set_kind): New.
	* gimplify.c (enum gimplify_omp_var_data): Add GOVD_LINEAR to
	GOVD_DATA_SHARE_CLASS.
	(enum omp_region_type): Add ORT_SIMD.
	(gimple_add_tmp_var): Handle ORT_SIMD.
	(gimplify_var_or_parm_decl): Same.
	(is_gimple_stmt): Same.
	(omp_firstprivatize_variable): Same.
	(omp_add_variable): Only use splay_tree_insert if lookup failed.
	(omp_notice_variable): Handle ORT_SIMD.
	(omp_is_private): Add SIMD argument and handle it as well as
	ORT_SIMD.
	(omp_check_private): Handle ORT_SIMD.
	(gimplify_scan_omp_clauses): Handle OMP_CLAUSE_LINEAR and
	OMP_CLAUSE_SAFELEN.
	(gimplify_adjust_omp_clauses_1): Handle GOVD_LINEAR.
	Handle OMP_CLAUSE_LASTPRIVATE.
	(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_LINEAR and
	OMP_CLAUSE_SAFELEN.
	(gimplify_omp_for): Handle OMP_SIMD and OMP_CLAUSE_LINEAR.
	(gimplify_expr): Handle OMP_SIMD.
	* internal-fn.c (expand_GOMP_SIMD_LANE): New.
	(expand_GOMP_SIMD_VF): New.
	(expand_GOMP_SIMD_LAST_LANE): New.
	* internal-fn.def (GOMP_SIMD_LANE): New.
	(GOMP_SIMD_VF): New.
	(GOMP_SIMD_LAST_LANE): New.
	* omp-low.c: Include target.h.
	(extract_omp_for_data): Handle OMP_SIMD, OMP_CLAUSE_LINEAR,
	OMP_CLAUSE_SAFELEN.
	(check_omp_nesting_restrictions): Same.
	(omp_max_vf): New.
	(lower_rec_simd_input_clauses): New.
	(lower_rec_input_clauses): Handle OMP_SIMD, GF_OMP_FOR_KIND_SIMD,
	OMP_CLAUSE_LINEAR.
	(lower_lastprivate_clauses): Handle OMP_CLAUSE_LINEAR,
	GF_OMP_FOR_KIND_SIMD, OMP_SIMD.
	(expand_omp_build_assign): New.
	(expand_omp_for_init_counts): New.
	(expand_omp_for_init_vars): New.
	(extract_omp_for_update_vars): New.
	(expand_omp_for_generic): Use expand_omp_for_{init,update}_vars
	and rewrite accordingly.
	(expand_omp_simd): New.
	(expand_omp_for): Use expand_omp_simd.
	(lower_omp_for_lastprivate): Unshare vinit when appropriate.
	(lower_omp_for): Do not lower the body.
	* tree-data-ref (get_references_in_stmt): Allow IFN_GOMP_SIMD_LANE
	in their own loops.
	* tree-flow.h (find_omp_clause): Remove prototype.
	* tree-if-conv.c (main_tree_if_conversion): Run if doing if
	conversion, forcing vectorization of the loop, or if
	flag_tree_vectorize.
	(gate_tree_if_conversion): Similarly.
	* tree-inline.c (remap_gimple_stmt): Pass for kind argument to
	gimple_build_omp_for.
	(copy_cfg_body): set has_force_vect_loops and has_simduid_loops.
	* tree-parloops (create_parallel_loop): Pass kind argument to
	gimple_build_omp_for.
	* tree-pretty-print.c (dump_omp_clause): Add cases for
	OMP_CLAUSE_UNIFORM, OMP_CLAUSE_LINEAR, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_.
	(dump_generic_node): Handle OMP_SIMD.
	* tree-ssa-ccp.c (likely_value): Handle IFN_GOMP_SIMD*.
	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Do not
	unroll OMP_SIMD loops here.
	* tree-ssa-loop.c (gate_tree_vectorize): Run if
	has_force_vect_loops.
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Handle
	loop->safelen
	(vect_analyze_data_refs): Handle simd loops.
	* tree-vect-loop.c (vectorizable_live_operation): Handle
	IFN_GOMP_SIMD*.
	* tree-vect-stmts.c (vectorizable_call): Handle
	IFN_GOMP_SIMD_LANE.
	(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P.
	(vectorizable_load): Same.
	* tree-vectorizer.c: Include hash-table.h and
	tree-ssa-propagate.h.
	(struct simduid_to_vf): New.
	(simduid_to_vf::hash): New.
	(simduid_to-vf::equal): New.
	(struct simd_array_to_simduid): New.
	(simd_array_to_simduid::hash): New.
	(simd_array_to_simduid::equal): New.
	(adjust_simduid_builtins): New.
	(struct note_simd_array_uses_struct): New.
	(note_simd_array_uses_cb): New.
	(note_simd_array_uses): New.
	(vectorize_loops): Handle simd hints and adjust simd builtins
	accordingly.
	* tree-vectorizer.h (struct _stmt_vec_info): Add
	simd_lane_access_p field.
	(STMT_VINFO_SIMD_LANE_ACCESS_P): New macro.
	* tree.c (omp_clause_num_ops): Add entries for OMP_CLAUSE_LINEAR,
	OMP_CLAUSE_SAFELEN, OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_UNIFORM.
	(omp_clause_code_name): Same.
	(walk_tree_1): Handle OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_LINEAR.
	* tree.def (OMP_SIMD): New entry.
	* tree.h (enum omp_clause_code): Add entries for
	OMP_CLAUSE_LINEAR, OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE__SIMDUID_.
	(OMP_CLAUSE_DECL): Adjust range for new clauses.
	(OMP_CLAUSE_LINEAR_NO_COPYIN): New.
	(OMP_CLAUSE_LINEAR_NO_COPYOUT): New.
	(OMP_CLAUSE_LINEAR_STEP): New.
	(OMP_CLAUSE_SAFELEN_EXPR): New.
	(OMP_CLAUSE__SIMDUID__DECL): New.
	(find_omp_clause): New prototype.
cp/
	* cp-tree.h (CP_OMP_CLAUSE_INFO): Adjust range for new clauses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202029 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-27  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (ipa_pass_through_data): New field type_preserved.
	(ipa_ancestor_jf_data): Likewise.
	(ipa_get_jf_pass_through_agg_preserved): Fix comment typo.
	(ipa_get_jf_pass_through_type_preserved): New function.
	(ipa_get_jf_ancestor_agg_preserved): Fix comment typo.
	(ipa_get_jf_ancestor_type_preserved): New function.
	* ipa-cp.c (ipa_get_jf_pass_through_result): Honor type_preserved
	flag.
	(ipa_get_jf_ancestor_result): Likewise.
	(propagate_vals_accross_pass_through): Use
	ipa_get_jf_pass_through_result to do all the value mappings.
	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Dump the
	type_preserved flag.
	(ipa_set_jf_cst_copy): New function.
	(ipa_set_jf_simple_pass_through): Set the type_preserved flag.
	(ipa_set_jf_arith_pass_through): Likewise.
	(ipa_set_ancestor_jf): Likewise.
	(compute_complex_assign_jump_func): Set type_preserved instead of
	punting.
	(ipa_compute_jump_functions_for_edge): Likewise.
	(combine_known_type_and_ancestor_jfs): Honor type_preserved.
	(update_jump_functions_after_inlining): Update type_preserved.
	Explicitely create jump functions when combining one with
	pass_through.
	(ipa_write_jump_function): Stream the type_preserved flags.
	(ipa_read_jump_function): Likewise.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202039 138bc75d-0d04-0410-961f-82ee72b054a4
Initial version of gdb hooks
    
    	* MAINTAINERS (gdbhooks.py): Add myself as maintainer
    
    gcc/
    	* gdbhooks.py: New.
    	* configure.ac (gdbinit.in): Add import of gcc/gdbhooks.py.
    	* configure: Regenerate.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202040 138bc75d-0d04-0410-961f-82ee72b054a4
	* lto-partition.c (lto_balanced_map): Always base order on 
	source file order.


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

	* builtins.def (free): Declare leaf.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202043 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56933
	* gcc.dg/vect/pr56933.c: Properly guard runtime with check_vect ().


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202044 138bc75d-0d04-0410-961f-82ee72b054a4
	* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202048 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/58257
	* omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.

	* c-c++-common/gomp/pr58257.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202049 138bc75d-0d04-0410-961f-82ee72b054a4
	PR spam/58261
	PR spam/58262
	Fix up ChangeLog entry whitespace.


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


	* lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
	DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
	(unify_scc): Do checking assert.

	* lto-streamer-out.c (DFS_write_tree_body): Drop
	BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
	(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
	BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
	* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
	Do not read DECL_ERROR_ISSUED.
	(unpack_ts_decl_with_vis_value_fields): Do not read
	DECL_DEFER_OUTPUT.
	(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
	write DECL_ERROR_ISSUED..
	(pack_ts_decl_with_vis_value_fields): Do not write
	DECL_DEFER_OUTPUT.
	(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
	* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
	* tree.h (tree_decl_common): Update comment.
	(DECL_ERROR_ISSUED): Remove.


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