2014-04-03  Cong Hou  <congh@google.com>

PR tree-optimization/60505
    * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
    threshold of number of iterations below which no vectorization will be
    done.
    * tree-vect-loop.c (new_loop_vec_info):
    Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
    * tree-vect-loop.c (vect_analyze_loop_operations):
    Set LOOP_VINFO_COST_MODEL_THRESHOLD.
    * tree-vect-loop.c (vect_transform_loop):
    Use LOOP_VINFO_COST_MODEL_THRESHOLD.
    * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
    of iterations of the loop and see if we should build the epilogue.

2014-04-03  Cong Hou  <congh@google.com>

    PR tree-optimization/60505
    * gcc.dg/vect/pr60505.c: New test.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209068 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

	* decl.c (duplicate_decls): Check for the return of permerror
	before emitting a note.


2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

	* g++.old-deja/g++.robertl/eb121.C: Adjust.
	* g++.old-deja/g++.jason/overload21.C: Likewise.
	* g++.old-deja/g++.law/init5.C: Likewise.


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

	PR bootstrap/60719
	* Makefile.in (install-driver): Fix shell scripting.

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

	PR ipa/60746
	* tree-ssanames.c (make_ssa_name_fn): Fix assert.
	* gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
	non-GIMPLE_LABELs.
	* gimplify.h (gimple_add_tmp_var_fn): Declare.
	* gimplify.c (gimple_add_tmp_var_fn): New function.
	* gimple-expr.h (create_tmp_reg_fn): Declare.
	* gimple-expr.c (create_tmp_reg_fn): New function.
	* gimple-low.c (record_vars_into): Don't change cfun.
	* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
	code generation without cfun.

	* g++.dg/torture/pr60746.C: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209079 138bc75d-0d04-0410-961f-82ee72b054a4
        PR target/60657
	* config/arm/predicates.md (const_int_I_operand): New predicate.
	(const_int_M_operand): Similarly.
	* config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
	const_int_operand.
	(insv_t2, extv_reg, extzv_t2): Likewise.
	(load_multiple_with_writeback): Similarly for const_int_I_operand.
	(pop_multiple_with_writeback_and_return): Likewise.
	(vfp_pop_multiple_with_writeback): Likewise

	PR target/60657
	* gcc.target/arm/pr60657.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209085 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR fortran/60191
        * fortran/trans-types.c (gfc_get_function_type): In case of recursion
        build a variadic function type with empty argument list instead of a
        stdarg-like function type with incomplete argument list.


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

	PR ipa/60640
        * cgraph.h (cgraph_clone_node): New parameter added to declaration.
        Adjust all callers.
	* cgraph.c (clone_of_p): Also return true if thunks match.
	(verify_edge_corresponds_to_fndecl): Removed extraneous call to
	cgraph_function_or_thunk_node and an obsolete comment.
        * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
        file.
        (build_function_decl_skip_args): Likewise.
	(set_new_clone_decl_and_node_flags): New function.
        (duplicate_thunk_for_node): Likewise.
        (redirect_edge_duplicating_thunks): Likewise.
        (cgraph_clone_node): New parameter args_to_skip, pass it to
        redirect_edge_duplicating_thunks which is called instead of
        cgraph_redirect_edge_callee.
        (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
	moved setting of a lot of flags to set_new_clone_decl_and_node_flags.

testsuite/
        * g++.dg/ipa/pr60640-1.C: New test.
        * g++.dg/ipa/pr60640-2.C: Likewise.
        * g++.dg/ipa/pr60640-3.C: Likewise.
        * g++.dg/ipa/pr60640-4.C: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209097 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

	* class.c (find_abi_tags_r): Check for the return of warning
	before emitting a note.
	(one_inherited_ctor): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209118 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM/AArch64] Reduce divider reservation duration in Cortex-A53 pipeline decription

	PR bootstrap/60743
	* config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
	duration.
	(cortex_a53_fdivd): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209119 138bc75d-0d04-0410-961f-82ee72b054a4
Fix PR debug/60655 - part 1



This is a partial fix for PR60655 where dwarf2out.c rejects NOT of a
value in const_ok_for_output_1. There is still a problem with the
testcase on armhf where we get operations of the form, const (minus
(const_int) (symref)) without the -fdata-sections option which is just
weird. I'm not yet sure where this is produced from and will not have
the time to dig further today.


As Jakub said on IRC, const_ok_for_output_1 is called only with
partial rtx's and therefore disabling minus (const_int) (symref) might
not be the best thing to do especially if this were part of plus
(symref) (minus (const int) (symref)) and both symrefs were in the
same section.


Bootstrapped and regtested on armhf

Bootstrap and regression test running on x86_64.

Ok to commit ?

regards
Ramana

gcc/

<DATE>   Jakub Jelinek <jakub@redhat.com>
         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* dwarf2out.c (const_ok_for_output_1): Reject expressions
	containing a NOT.

gcc/testsuite

<DATE>  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* gcc.c-torture/compile/pr60655-1.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209121 138bc75d-0d04-0410-961f-82ee72b054a4
Merge branch 'master' of https://github.com/mirrors/gcc
Initial work s/get_init_tree/get_init.
	PR ipa/59626
	* lto-cgraph.c (input_overwrite_node): Check that partitioning
	flags are set only during streaming.
	* ipa.c (process_references, walk_polymorphic_call_targets,
	symtab_remove_unreachable_nodes): Drop bodies of always inline
	after early inlining.
	(symtab_remove_unreachable_nodes): Remove always_inline attribute.
	* gcc.dg/lto/pr59626_0.c: New testcase.
	* gcc.dg/lto/pr59626_1.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209123 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/21113
	* decl.c (decl_jump_unsafe): Consider variably-modified decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209124 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/44613
	* semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL.
	* decl.c (cp_finish_decl): Create a new BIND_EXPR before
	instantiating a variable-sized type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209125 138bc75d-0d04-0410-961f-82ee72b054a4
Fix typo in recent patch.


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

	PR c++/58207
	* semantics.c (sort_constexpr_mem_initializers): Robustify loop.

/testsuite
2014-04-04  Paolo Carlini  <paolo.carlini@oracle.com>

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209128 138bc75d-0d04-0410-961f-82ee72b054a4
	PR bootstrap/60620
	* Makefile.def (dependencies): Make gnattools depend on libstdc++-v3. 
	* Makefile.in: Regenerate.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209129 138bc75d-0d04-0410-961f-82ee72b054a4
	* explow.c (probe_stack_range): Emit a final optimization blockage.


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