PR ipa/59831
	* g++.dg/ipa/devirt-24.C: New testcase.

	* ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
	Try to devirtualize by the knowledge of virtual table pointer given by
	aggregate propagation.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
	ipa_print_node_jump_functions): Dump also offset that
	is relevant for polymorphic calls.
	(determine_known_aggregate_parts): Add arg_type parameter; use it
	instead of determining the type from pointer type.
	(ipa_compute_jump_functions_for_edge): Update call of
	determine_known_aggregate_parts.
	* gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
	(gimple_get_virt_method_for_binfo): ... here; simplify using
	vtable_pointer_value_to_vtable.
	* gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
	* ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
	to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
	(vtable_pointer_value_to_vtable): Break out from ...; handle also
	POINTER_PLUS_EXPR.
	(vtable_pointer_value_to_binfo): ... here.
	* ipa-utils.h (vtable_pointer_value_to_vtable): Declare.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207439 138bc75d-0d04-0410-961f-82ee72b054a4
	PR gcov-profile/58602
        * gcc/gcov-io.c (gcov_open): Open with truncation when mode<0

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207441 138bc75d-0d04-0410-961f-82ee72b054a4
PR tree-opt/59924

        * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
        already processed this node.
        (normalize_one_pred_1): Pass along mark_set.
        (normalize_one_pred): Create and destroy a pointer_set_t.
        (normalize_one_pred_chain): Likewise.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207445 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59924
	* gcc.dg/pr59924.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207446 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
	lookup via vtable pointer; check for type consistency
	and turn inconsitent facts into UNREACHABLE.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
	* gimple-fold.c (gimple_get_virt_method_for_vtable): 
	Do not ICE on type inconsistent querries; return UNREACHABLE
	instead.

	* g++.dg/ipa/devirt-25.C: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207447 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
	lookup via vtable pointer; check for type consistency
	and turn inconsitent facts into UNREACHABLE.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
	* gimple-fold.c (gimple_get_virt_method_for_vtable): 
	Do not ICE on type inconsistent querries; return UNREACHABLE
	instead.

	* testsuite/g++.dg/ipa/devirt-25.C: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207448 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/59469
	* lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
	merge force_output and forced_by_abi flags.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207449 138bc75d-0d04-0410-961f-82ee72b054a4
	* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
	* gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207450 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ipa/59882
	* tree.c (get_binfo_at_offset): Do not get confused by empty classes;
	* g++.dg/torture/pr59882.C: New testcase


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207451 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/60038
	* sanitizer_common/sanitizer_linux_libcdep.cc: Include
	sanitizer_atomic.h and unistd.h.
	(kThreadDescriptorSize): Made static, remove initializer and const,
	change type to atomic_uintptr_t.
	(ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to
	query glibc version, compute kThreadDescriptorSize depending on
	glibc version minor number.
	(GetThreadStackAndTls): Use ThreadDescriptorSize() instead of
	kThreadDescriptorSize directly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207452 138bc75d-0d04-0410-961f-82ee72b054a4
	* lib/tsan-dg.exp (tsan_init): Set trivial testcase
	timeout value to 20s.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207453 138bc75d-0d04-0410-961f-82ee72b054a4
Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)

	gcc:
	PR target/59788
	* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
	(LINK_SPEC): Use it for -shared, -shared-libgcc.

	libgcc:
	PR target/59788
	* config/t-slibgcc-sld (libgcc-unwind.map): New target.
	(install-libgcc-unwind-map-forbuild): New target.
	(all): Depend on install-libgcc-unwind-map-forbuild.
	(install-libgcc-unwind-map): New target.
	(install): Depend on install-libgcc-unwind-map.

	gcc/testsuite:
	PR target/59788
	* g++.dg/eh/unwind-direct.C: New test.

	toplevel:
	PR target/59788
	* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
	*solaris2*.

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

	PR tree-optimization/60012
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
	TBAA disambiguation to all DDRs.

	* gcc.dg/vect/pr60012.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207455 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59261
	* expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
	if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.

	* gcc.dg/pr59261.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207456 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/arm/ftest-armv7a-thumb.c: Change aramv7-a to armv7-a.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207457 138bc75d-0d04-0410-961f-82ee72b054a4
Fix g++.dg/init/dso_handle2.C on Solaris

	* g++.dg/init/dso_handle2.C: Compile with -fuse-cxa-atexit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207458 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/60055
	* tsan/tsan_flags.cc (__tsan_default_options): Add
	SANITIZER_INTERFACE_ATTRIBUTE.  Backport from upstream r200747.
	* tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207459 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/57915
	* recog.c (simplify_while_replacing): If all unary/binary/relational
	operation arguments are constant, attempt to simplify those.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207460 138bc75d-0d04-0410-961f-82ee72b054a4
	PR other/58712
	* omp-low.c (simd_clone_struct_copy): If from->inbranch
	is set, copy one less argument.


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