2014-11-24  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_fatal_error_1): Remove.
        * gfortran.h (gfc_fatal_error_1): Remove.
        * check.c (check_co_collective): Change gfc_fatal_error_1 to
        gfc_fatal_error.
        * match.c (gfc_match_name): Ditto.
        * trans-array.c (gfc_conv_array_initializer): Ditto.
        * trans-stmt.c (gfc_trans_sync): Ditto.

2014-11-24  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/dollar_sym_3.f: Update dg-error.
        * gfortran.dg/dollar_sym_3.f: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217997 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/trans.c (push_range_check_info): Replace early test
	with assertion.
	(Raise_Error_to_gnu): Do not call push_range_check_info if the loop
	stack is empty.
	* gcc-interface/utils.c (convert_to_fat_pointer): Fix formatting.
	* gcc-interface/utils2.c (gnat_invariant_expr): Deal with padded types
	and revert latest change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217998 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/trans.c (build_return_expr): Use INIT_EXPR instead of
	MODIFY_EXPR to assign to the return object.
	(finalize_nrv_r): Adjust to above change.
	(finalize_nrv_unc_r): Likewise.


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

	PR c++/63905
	* cp-tree.h (lang_decl_fn): Remove constructor_attr, destructor_attr.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218002 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/Makefile.in (Cygwin/Mingw): Fix previous change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218003 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55334
	* function.h (struct function): Add last_clique member.
	* tree-inline.c (remap_dependence_clique): New function.
	(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
	(copy_tree_body_r): Likewise.
	(copy_cfg_body): Free dependence map.
	(copy_gimple_seq_and_replace_locals): Likewise.
	* tree-pretty-print.c (dump_generic_node): Dump
	dependence info.
	* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
	to answer alias query.
	* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
	tree-pretty-print.h and gimple-walk.h.
	(struct variable_info): Add is_restrict_var flag and ruid
	member.
	(new_var_info): Initialize is_restrict_var.
	(make_constraint_from_restrict): Likewise.
	(create_variable_info_for): Exclude restricts from global vars
	from new handling.
	(intra_create_variable_infos): But not those from parameters.
	(visit_loadstore): New function.
	(maybe_set_dependence_info): Likewise.
	(compute_dependence_clique): Likewise.
	(compute_may_aliases): Call compute_dependence_clique.
	* tree-data-ref.c (dr_analyze_indices): Copy dependence info
	to fake MEM_REF.
	(dr_may_alias_p): Use recorded dependence info to answer
	alias query.
	* tree-core.h (struct tree_base): Add clique, base struct in
	union.
	* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
	(MR_DEPENDENCE_BASE): Likewise.
	* tree-inline.h (dependence_hasher): New hash-map kind.
	(struct copy_body_data): Add dependence_map pointer.
	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
	throwing away dependence info.
	* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
	* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.

	* gcc.dg/tree-ssa/restrict-5.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218004 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55334
	* function.h (struct function): Add last_clique member.
	* tree-inline.c (remap_dependence_clique): New function.
	(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
	(copy_tree_body_r): Likewise.
	(copy_cfg_body): Free dependence map.
	(copy_gimple_seq_and_replace_locals): Likewise.
	* tree-pretty-print.c (dump_generic_node): Dump
	dependence info.
	* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
	to answer alias query.
	* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
	tree-pretty-print.h and gimple-walk.h.
	(struct variable_info): Add is_restrict_var flag and ruid
	member.
	(new_var_info): Initialize is_restrict_var.
	(make_constraint_from_restrict): Likewise.
	(create_variable_info_for): Exclude restricts from global vars
	from new handling.
	(intra_create_variable_infos): But not those from parameters.
	(visit_loadstore): New function.
	(maybe_set_dependence_info): Likewise.
	(compute_dependence_clique): Likewise.
	(compute_may_aliases): Call compute_dependence_clique.
	* tree-data-ref.c (dr_analyze_indices): Copy dependence info
	to fake MEM_REF.
	(dr_may_alias_p): Use recorded dependence info to answer
	alias query.
	* tree-core.h (struct tree_base): Add clique, base struct in
	union.
	* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
	(MR_DEPENDENCE_BASE): Likewise.
	* tree-inline.h (dependence_hasher): New hash-map kind.
	(struct copy_body_data): Add dependence_map pointer.
	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
	throwing away dependence info.
	* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
	* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.

	* gcc.dg/tree-ssa/restrict-5.c: New testcase.


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

        * bb-reorder.c (find_traces_1_round): decreate_key is replaced
	with replace_key method.
	* fibonacci_heap.h (fibonacci_heap::insert): New argument.
	(fibonacci_heap::replace_key_data): Likewise.
	(fibonacci_heap::replace_key): New method that can even increment key,
	this operation costs O(log N).
	(fibonacci_heap::extract_min): New argument.
	(fibonacci_heap::delete_node): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218006 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64][1/5] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P

	* config/aarch64/aarch64-protos.h (struct tune_params): Add
	fuseable_ops field.
	* config/aarch64/aarch64.c (generic_tunings): Specify fuseable_ops.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(thunderx_tunings): Likewise.
	(aarch64_macro_fusion_p): New function.
	(aarch_macro_fusion_pair_p): Likewise.
	(TARGET_SCHED_MACRO_FUSION_P): Define.
	(TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
	(AARCH64_FUSE_MOV_MOVK): Likewise.
	(AARCH64_FUSE_NOTHING): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218007 138bc75d-0d04-0410-961f-82ee72b054a4
[PATCH 1/2] Negative numbers added for sreal class.

	* predict.c (propagate_freq): More elegant sreal API is used.
	(estimate_bb_frequencies): Precomputed constants replaced by integer
	constants.
	* sreal.c (sreal::normalize): New function.
	(sreal::to_int): Likewise.
	(sreal::operator+): Likewise.
	(sreal::operator-): Likewise.
	(sreal::signedless_plus): Likewise.
	(sreal::signedless_minus): Likewise.
	(sreal::operator/): Negative number support is added.
	* sreal.h: Definition of new functions added.
	(inline sreal operator<<): New function.
	(inline sreal operator>>): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218008 138bc75d-0d04-0410-961f-82ee72b054a4
[PATCH 2/2] ipa-inline uses sreal for as fibonacci_heap template

	* ipa-inline.c (edge_badness): long is replaced by sreal
	as fibonacci_heap template type.
	(update_edge_key): Likewise.
	(inline_small_functions): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218009 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64][2/5] Implement adrp+add fusion

	* config/aarch64/aarch64.c: Include tm-constrs.h
	(AARCH64_FUSE_ADRP_ADD): Define.
	(cortexa57_tunings): Add AARCH64_FUSE_ADRP_ADD to fuseable_ops.
	(cortexa53_tunings): Likewise.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_ADD.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218010 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR testsuite/64039
	* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL for hppa*-*-*.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218011 138bc75d-0d04-0410-961f-82ee72b054a4
[sched-deps] Remove needless check for modified_in_p when trying to fuse two non-conditional jump insns

	* sched-deps.c (sched_macro_fuse_insns): Do not check modified_in_p
	in the not conditional jump case.
	* doc/tm.texi (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.
	* target.def (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.

	* gcc.target/aarch64/fuse_adrp_add_1.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218012 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64][3/5] Implement fusion of MOVK+MOVK

	* config/aarch64/aarch64.c (AARCH64_FUSE_MOVK_MOVK): Define.
	(cortexa53_tunings): Specify AARCH64_FUSE_MOVK_MOVK in fuseable_ops.
	(cortexa57_tunings): Likewise.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_MOVK_MOVK.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218013 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64][4/5] Implement fusion of ARDP+LDR

	* config/aarch64/aarch64.c (AARCH64_FUSE_ADRP_LDR): Define.
	(cortexa53_tunings): Specify AARCH64_FUSE_ADRP_LDR in fuseable_ops.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_LDR.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218014 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-24  Petr Murzin  <petr.murzin@intel.com>

gcc/
	* simplify-rtx.c (simplify_ternary_operation): Simplify
	vec_merge (vec_duplicate (vec_select)).

gcc/testsuite/
	* gcc.target/i386/extract-insert-combining.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218015 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63942
	* mangle.c (mangle_decl): If we aren't going to create a symbol
	alias, don't build the alias DECL either.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218016 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-11-24  Jonathan Wakely  <jwakely@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63203
	* decl.c (initialize_local_var): Add -Winit-self warning for
	references initialized with themselves.

/testsuite
2014-11-24  Jonathan Wakely  <jwakely@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63203
	* g++.dg/warn/Winit-self-2.C: New.


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