* config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
	if it would clobber the stack pointer, even temporarily.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208895 138bc75d-0d04-0410-961f-82ee72b054a4
Fix A12 multilib rule.


This affects only arm-none-eabi targets and those using t-aprofile in
their multilib lists. The problem here is that when the A12 support
was added, we mistakenly added this to the MULTILIB_MATCHES rule for
the A15 rather than putting out a separate line for this.

Fixed thusly and verified that the correct multilibs are now chosen.


     * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208896 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Remove s390 special
          option.
	* lib/target-supports.exp: Return true for s390
          in check_effective_logical_op_short_circuit.



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

	libiberty/
	* simple-object.c (simple_object_internal_read): Handle
	EINTR and short reads.

	lto-plugin/
	* lto-plugin.c (process_symtab): Handle EINTR and short reads.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208898 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60675
	* lra-assigns.c (find_hard_regno_for): Remove unavailable hard
	regs from checking multi-reg pseudos.

2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60675
	* gcc.target/aarch64/pr60675.C: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208900 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.c: Include expr.h and tree-dfa.h.
	(cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; remove LHS.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208901 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58678
	* g++.dg/abi/thunk6.C: Scan assembler for _ZTv0_n32_N1CD1Ev
	only for lp64 targets and scan for _ZTv0_n16_N1CD1Ev for ilp32
	targets.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208907 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM/AArch64][1/2] Crypto intrinsics tuning for Cortex-A53 - "type" Attribute restructuring

     * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
     Use crypto_aese type.
     (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
     * config/arm/arm.md (is_neon_type): Replace crypto_aes with
     crypto_aese, crypto_aesmc.  Move to types.md.
     * config/arm/types.md (crypto_aes): Split into crypto_aese,
     crypto_aesmc.
     * config/arm/iterators.md (crypto_type): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208908 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM/AArch64][2/2] Crypto intrinsics tuning for Cortex-A53 - pipeline description

	* config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
	* config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
	Declare extern.
	* config/arm/cortex-a53.md: Add reservations and bypass for crypto
	instructions as well as AdvancedSIMD loads.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208910 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/60689
	* c-tree.h (c_build_function_call_vec): New prototype.
	* c-typeck.c (build_function_call_vec): Don't call
	resolve_overloaded_builtin here.
	(c_build_function_call_vec): New wrapper function around
	build_function_call_vec.  Call resolve_overloaded_builtin here.
	(convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
	Call c_build_function_call_vec instead of build_function_call_vec.
	* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
	* c-decl.c (finish_decl): Likewise.

	* c-common.c (add_atomic_size_parameter): When creating new
	params vector, push the size argument first.

	* c-c++-common/pr60689.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208912 138bc75d-0d04-0410-961f-82ee72b054a4
fortran/
        PR fortran/60677
        * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
        list buffer.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208913 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-28  Vishnu K S  <Vishnu.k_s@atmel.com>

	* gcc.dg/pr59940.c (si): Use 32-bit SI mode instead of int.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208914 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/60693
	* config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
	also if addr has VOIDmode.

	* gcc.target/i386/pr60693.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208915 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/60243
	* ipa-inline.c (want_inline_small_function_p): Short circuit large
	functions; reorganize to make cheap checks first.
	(inline_small_functions): Do not estimate growth when dumping;
	it is expensive.
	* ipa-inline.h (inline_summary): Add min_size.
	(growth_likely_positive): New function.
	* ipa-inline-analysis.c (dump_inline_summary): Add min_size.
	(set_cond_stmt_execution_predicate): Cleanup.
	(estimate_edge_size_and_time): Compute min_size.
	(estimate_calls_size_and_time): Likewise.
	(estimate_node_size_and_time): Likewise.
	(inline_update_overall_summary): Update min_size.
	(do_estimate_edge_time): Likewise.
	(do_estimate_edge_size): Update.
	(do_estimate_edge_hints): Update.
	(growth_likely_positive): New function.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208916 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/
        * trans-expr.c (gfc_conv_derived_to_class): Avoid
        generation of out-of-bounds range expr.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208918 138bc75d-0d04-0410-961f-82ee72b054a4
Add PR60576 to the ChangeLog entry.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208920 138bc75d-0d04-0410-961f-82ee72b054a4
Fix PR c++/60573

	PR c++/60573
	* name-lookup.h (cp_binding_level): New transient field defining_class_p
	to indicate whether a scope is in the process of defining a class.
	* semantics.c (begin_class_definition): Set defining_class_p.
	* name-lookup.c (leave_scope): Reset defining_class_p.
	* parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
	defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
	unwinding to class-defining scope to handle the erroneous definition of
	a generic function of an arbitrarily nested class within an enclosing
	class.

	PR c++/60573
	* g++.dg/cpp1y/pr60573.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208921 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/60648
       * expr.c (do_tablejump): Use simplify_gen_binary rather than
       gen_rtx_{PLUS,MULT} to build up the address expression.

       * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
       creating non-canonical RTL.

       PR target/60648
       * g++.dg/pr60648.C: New test.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208925 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60697
	* lra-constraints.c (index_part_to_reg): New.
	(process_address): Use it.

2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60697
	* gcc.target/aarch64/pr60697.c: New.



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