2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60735
	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
	software floating point or no floating point registers, do not
	allow any type in the FPRs.  Eliminate a test for SPE SIMD types
	in GPRs that occurs after we tested for GPRs that would never be
	true.

	* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
	Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
	since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
	specifically allow DDmode, since that does not use the SPE SIMD
	instructions.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209025 138bc75d-0d04-0410-961f-82ee72b054a4
libitm: Remove unused PAGE_SIZE macros

        * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
        * config/arm/target.h, config/sh/target.h: Likewise.
        * config/sparc/target.h, config/x86/target.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209027 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
	lies outside the target mode.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209028 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/spu/spu.c (pad_bb): Do not crash when the last
	insn is CODE_FOR_blockage.


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

	* config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209032 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/i386/funcspec-2.c, gcc.target/i386/funcspec-3.c,
	gcc.target/i386/funcspec-9.c, gcc.target/i386/isa-1.c,
	gcc.target/i386/memcpy-strategy-1.c,
	gcc.target/i386/memcpy-strategy-2.c,
	gcc.target/i386/memcpy-vector_loop-1.c,
	gcc.target/i386/memcpy-vector_loop-2.c,
	gcc.target/i386/memset-vector_loop-1.c,
	gcc.target/i386/memset-vector_loop-2.c,
	gcc.target/i386/sse2-init-v2di-2.c, gcc.target/i386/ssetype-1.c,
	gcc.target/i386/ssetype-2.c, gcc.target/i386/ssetype-5.c: Skip for
	-march= options different from those in dg-options.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209033 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/i386/avx2-vpand-3.c,
	gcc.target/i386/avx256-unaligned-load-2.c: Use -mno-prefer-avx128.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209034 138bc75d-0d04-0410-961f-82ee72b054a4
libgomp: Fix default futex vs errno

	* config/linux/futex.h (futex_wait): Get error value from errno.
	(futex_wake): Likewise.

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

	PR rtl-optimization/60650
	* lra-constraints.c (process_alt_operands): Decrease reject for
	earlyclobber matching.

2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60650
	* gcc.target/arm/pr60650-2.c: New.



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

2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/60733
	* gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
	insertion point for PHI candidates to be the end of the feeding
	block for the PHI argument.

[gcc/testsuite]

2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/60733
	* gcc.dg/torture/pr60733.c:  New test.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209045 138bc75d-0d04-0410-961f-82ee72b054a4
This patch does three related things for the moxie port...

1. Changes char to be unsigned by default
2. Changes WCHAR_TYPE from long int to unsigned int
3. Zero- and sign-extends values properly, sometimes using the new
    sign-extension instructions.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209047 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/60659
	* ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type inconsistent
	code and instead mark the context inconsistent.
	(possible_polymorphic_call_targets): For inconsistent contexts
	return empty complete list.
	* testsuite/g++.dg/torture/pr60659.C: New testcase.


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

	* ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
	mention gcc_unreachable before failing.
	* ipa.c (symtab_remove_unreachable_nodes): Also print order of
	removed symbols.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209052 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
	properly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209055 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
	(Weffc++): Remove Scott's numbering, merge lists and reference
	Wnon-virtual-dtor.

	c-family/
	* c.opt (Wnon-virtual-dtor): Auto set when Weffc++.

	cp/
	* class.c (accessible_nvdtor_p): New.
	(check_bases): Don't check base destructor here ...
	(check_bases_and_members): ... check them here.  Trigger on
	Wnon-virtual-dtor flag.
	(finish_struct_1): Use accessible_nvdtor_p.

	testsuite/
	* g++.dg/warn/Wnvdtor.C: Add non-polymorphic case.
	* g++.dg/warn/Wnvdtor-2.C: New.
	* g++.dg/warn/Wnvdtor-3.C: New.
	* g++.dg/warn/Wnvdtor-4.C: New.
	* g++.dg/warn/Weff1.C: Delete.
	* g++.old-deja/g++.benjamin/15309-1.C: Delete.
	* g++.old-deja/g++.benjamin/15309-2.C: Delete.


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

	PR tree-optimization/60740
	* graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
	over all GIMPLE_COND operands.

	* gcc.dg/graphite/pr60740.c: New testcase.


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

	* tree-streamer-out.c (streamer_write_chain): Do not temporarily
	set TREE_CHAIN to NULL_TREE.


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

	* tree-streamer.h (struct streamer_tree_cache_d): Add next_idx
	member.
	(streamer_tree_cache_create): Adjust.
	* tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
	to allow optional nodes array.
	(streamer_tree_cache_insert_1): Use next_idx to assign idx.
	(streamer_tree_cache_append): Likewise.
	(streamer_tree_cache_create): Create nodes array optionally
	as specified by parameter.
	* lto-streamer-out.c (create_output_block): Avoid maintaining
	the node array in the writer cache.
	(DFS_write_tree): Remove assertion.
	(produce_asm_for_decls): Free the out decl state hash table
	early.
	* lto-streamer-in.c (lto_data_in_create): Adjust for
	streamer_tree_cache_create prototype change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209059 138bc75d-0d04-0410-961f-82ee72b054a4
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