* ipa-utils.h (compare_virtual_tables): Declare.
	* ipa-devirt.c (odr_subtypes_equivalent_p): New function

	* lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213990 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/62091
	* g++.dg/ipa/devirt-38.C: New testcase.
	* tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
	function_entry_reached.
	(walk_aliased_vdefs): Clear it here.
	* ipa-devirt.c (check_stmt_for_type_change): Handle static storage.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213994 138bc75d-0d04-0410-961f-82ee72b054a4
* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213995 138bc75d-0d04-0410-961f-82ee72b054a4
* config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
* config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213996 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree-ssa-loop-ivopts.c (ivopts_data): New field
	name_expansion_cache.
	(tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
	(tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
	(strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
	(difference_cannot_overflow_p): New parameter.  Use affine
	expansion for equality check.
	(iv_elimination_compare_lt): Pass new argument.

	testsuite/ChangeLog
	* gcc.dg/tree-ssa/ivopts-lt-2.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213997 138bc75d-0d04-0410-961f-82ee72b054a4
* config/rl78/predicates.md (rl78_near_mem_operand): New.
* config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
(movhi_virt_mm): Split out near mem-mem moves to avoid problems
with far-far moves.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213998 138bc75d-0d04-0410-961f-82ee72b054a4
* config/rl78/rl78-real.md (addqi3_real): Allow adding global
variables to the accumulator.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213999 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/62092
	* gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
	OMP_CLAUSE_SHARED for global vars if the global var is mentioned
	in OMP_CLAUSE_MAP in some outer target region.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214001 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/62107
	* trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
	or allocatable passed by reference.
	(gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.


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

	PR tree-optimization/62031
	* tree-data-ref.c (dr_analyze_indices): Do not set
	DR_UNCONSTRAINED_BASE.
	(dr_may_alias_p): All indirect accesses have to go the
	formerly DR_UNCONSTRAINED_BASE path.
	* tree-data-ref.h (struct indices): Remove
	unconstrained_base member.
	(DR_UNCONSTRAINED_BASE): Remove.

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


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

	* data-streamer.h (streamer_string_index, string_for_index):
	Remove.
	* data-streamer-out.c (streamer_string_index): Make static.
	* data-streamer-in.c (string_for_index): Likewise.
	* lto-streamer-out.c (lto_output_location): Use bp_pack_string.
	* lto-streamer-in.c (lto_input_location): Use bp_unpack_string.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214007 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Move one_match > zero_match case to just before simple_sequence.

	* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
	one_match > zero_match case to just before simple_sequence.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214008 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/62131
	* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
	is allocatable, rather than whenever var->attr.allocatable.

	* gfortran.dg/gomp/pr62131.f90: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214010 138bc75d-0d04-0410-961f-82ee72b054a4
         * MAINTAINERS (Write After Approval): Add myself.



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

	* fold-const.c (tree_swap_operands_p): Put all constants
	last, also strip sign-changing NOPs when considering further
	canonicalization.  Canonicalize also when optimizing for size.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214013 138bc75d-0d04-0410-961f-82ee72b054a4
	* MAINTAINERS (Write After Approval): Add myself.



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

	PR target/61878
	* config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
	(_mm512_mask_cmpge_epu32_mask): Ditto.
	(_mm512_cmpge_epu32_mask): Ditto.
	(_mm512_mask_cmpge_epi64_mask): Ditto.
	(_mm512_cmpge_epi64_mask): Ditto.
	(_mm512_mask_cmpge_epu64_mask): Ditto.
	(_mm512_cmpge_epu64_mask): Ditto.
	(_mm512_mask_cmple_epi32_mask): Ditto.
	(_mm512_cmple_epi32_mask): Ditto.
	(_mm512_mask_cmple_epu32_mask): Ditto.
	(_mm512_cmple_epu32_mask): Ditto.
	(_mm512_mask_cmple_epi64_mask): Ditto.
	(_mm512_cmple_epi64_mask): Ditto.
	(_mm512_mask_cmple_epu64_mask): Ditto.
	(_mm512_cmple_epu64_mask): Ditto.
	(_mm512_mask_cmplt_epi32_mask): Ditto.
	(_mm512_cmplt_epi32_mask): Ditto.
	(_mm512_mask_cmplt_epu32_mask): Ditto.
	(_mm512_cmplt_epu32_mask): Ditto.
	(_mm512_mask_cmplt_epi64_mask): Ditto.
	(_mm512_cmplt_epi64_mask): Ditto.
	(_mm512_mask_cmplt_epu64_mask): Ditto.
	(_mm512_cmplt_epu64_mask): Ditto.
	(_mm512_mask_cmpneq_epi32_mask): Ditto.
	(_mm512_mask_cmpneq_epu32_mask): Ditto.
	(_mm512_cmpneq_epu32_mask): Ditto.
	(_mm512_mask_cmpneq_epi64_mask): Ditto.
	(_mm512_cmpneq_epi64_mask): Ditto.
	(_mm512_mask_cmpneq_epu64_mask): Ditto.
	(_mm512_cmpneq_epu64_mask): Ditto.
	(_mm512_castpd_ps): Ditto.
	(_mm512_castpd_si512): Ditto.
	(_mm512_castps_pd): Ditto.
	(_mm512_castps_si512): Ditto.
	(_mm512_castsi512_ps): Ditto.
	(_mm512_castsi512_pd): Ditto.
	(_mm512_castpd512_pd128): Ditto.
	(_mm512_castps512_ps128): Ditto.
	(_mm512_castsi512_si128): Ditto.
	(_mm512_castpd512_pd256): Ditto.
	(_mm512_castps512_ps256): Ditto.
	(_mm512_castsi512_si256): Ditto.
	(_mm512_castpd128_pd512): Ditto.
	(_mm512_castps128_ps512): Ditto.
	(_mm512_castsi128_si512): Ditto.
	(_mm512_castpd256_pd512): Ditto.
	(_mm512_castps256_ps512): Ditto.
	(_mm512_castsi256_si512): Ditto.
	(_mm512_cmpeq_epu32_mask): Ditto.
	(_mm512_mask_cmpeq_epu32_mask): Ditto.
	(_mm512_mask_cmpeq_epu64_mask): Ditto.
	(_mm512_cmpeq_epu64_mask): Ditto.
	(_mm512_cmpgt_epu32_mask): Ditto.
	(_mm512_mask_cmpgt_epu32_mask): Ditto.
	(_mm512_mask_cmpgt_epu64_mask): Ditto.
	(_mm512_cmpgt_epu64_mask): Ditto.
	* config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
	V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
	IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
	IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
	(bdesc_args): Add __builtin_ia32_si512_256si,
	__builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
	__builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
	__builtin_ia32_pd512_pd.
	(ix86_expand_args_builtin): Handle new FTYPEs.
	* config/i386/sse.md (castmode): Add 512-bit modes.
	(AVX512MODE2P): New.
	(avx512f_<castmode><avxsizesuffix>_<castmode): New.
	(avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.


	gcc/testsuite/

	PR target/61878
	* gcc.target/i386/avx512f-typecast-1.c: New test.
	* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpequd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpequq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpged-1.c: Add new intrinsic.
	* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtud-1.c: New test.
	* gcc.target/i386/avx512f-vpcmpgtud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpgtuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
	* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.


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

	* tree-ssa-structalias.c (readonly_id): Rename to string_id.
	(get_constraint_for_ssa_var): Remove dead code.
	(get_constraint_for_1): Adjust.
	(find_what_var_points_to): Likewise.
	(init_base_vars): Likewise.  STRING_CSTs do not contain pointers.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214020 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* input.c (diagnostic_file_cache_fini): Fix typo in comment.


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