2013-05-06  Graham Stott  <grahams@btinternet.com>

        * expmed.c (init_expmed_rtl): Remove unused fields reg_fld, plus_fld,
        mult_fld, sdiv_fld1, udiv_fld1, sdiv_32_fld1, smod_32_fld1,
        wide_mult_fld1, wide_lshr_fld1, shift_fld1, shift_mult_fld1,
        shift_add_fld1, shift_sub0_fld1, shift_sub1_fld1.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198661 138bc75d-0d04-0410-961f-82ee72b054a4
	* configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation
	for powerpc64 little endian.
	* configure: Regenerate.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198662 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ada/56474
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
	int_const_binop to shift bounds by 1 when they are integer constants.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198663 138bc75d-0d04-0410-961f-82ee72b054a4
	PR debug/57184
	* expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
	for modifier == EXPAND_INITIALIZER.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198666 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/57149
	* tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
	(can_skip_redundant_opnd, compute_uninit_opnds_pos,
	collect_phi_def_edges, execute_late_warn_uninitialized): Use
	uninit_undefined_value_p instead of ssa_undefined_value_p.

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


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

	PR middle-end/57190
	* tree-eh.c (sink_clobbers): Properly propagate
	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

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


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

	* double-int.h (rshift): New overload.
	* double-int.c (rshift): New function.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Optimize.
	(create_reference_ops_from_ref): Remove.
	(vn_reference_insert): Use shared ops for constructing the
	reference and copy it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198676 138bc75d-0d04-0410-961f-82ee72b054a4
AArch64: Restrict the shift value in compare extended shift operation

2013-05-07  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* config/aarch64/aarch64.md
	(cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
	shift value between 0-4.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198677 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
	phi def as possibly hiding a basis for a CAND_ADD whose operands
	have been commuted in the analysis.
	(alloc_cand_and_find_basis): Add parms to call to find_phi_def.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198678 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
	(replace_mult_candidate): Remove unnecessary argument; remove
	unnecessary parameter from call to introduce_cast_before_cand.
	(replace_unconditional_candidate): Remove unnecessary parameter
	from call to replace_mult_candidate.
	(replace_conditional_candidate): Likewise.
	(insert_initializers): Use make_temp_ssa_name.
	(introduce_cast_before_cand): Remove unnecessary argument; use
	make_temp_ssa_name.
	(replace_one_candidate): Remove unnecessary argument; remove
	unnecessary parameter from calls to introduce_cast_before_cand.
	(replace_profitable_candidates): Remove unnecessary parameters
	from calls to replace_one_candidate.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198679 138bc75d-0d04-0410-961f-82ee72b054a4
	gcc/
	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
	(aarch64_simd_mov<mode>): New expander.
	(aarch64_simd_mov_to_<mode>low): New instruction pattern.
	(aarch64_simd_mov_to_<mode>high): Likewise.
	(aarch64_simd_mov_from_<mode>low): Likewise.
	(aarch64_simd_mov_from_<mode>high): Likewise.
	(aarch64_dup_lane<mode>): Update.
	(aarch64_dup_lanedi): New instruction pattern.
	* config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
	* config/aarch64/aarch64.c (aarch64_split_simd_move): New function.

	testsuites/
	* gcc.target/aarch64/scalar_intrinsics.c: Update.


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

	* calls.c (special_function_p): setjmp-like functions are leaf.
	* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
	* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198681 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
	(incr_vec_index): Return -1 if increment not found.
	(create_add_on_incoming_edge): Assert if increment not found.
	(record_increment): Limit number of increments recorded.
	(all_phi_incrs_profitable): Return false if an increment not found.
	(replace_profitable_candidates): Don't process increments that were
	not recorded.
	(analyze_candidates_and_replace): Limit size of incr_vec.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198682 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-06  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	* config/arm/arm.c (arm_asan_shadow_offset): New function.
	(TARGET_ASAN_SHADOW_OFFSET): Define.
	* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
	(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.

	libsanitizer/
	* configure.tgt: Add ARM pattern.

	testsuite/
	* lib/target-supports.exp (check_effective_target_hw): New
	function.
	* c-c++-common/asan/clone-test-1.c: Call
	check_effective_target_hw.
	* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
	* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
	possible decorations.
	* c-c++-common/asan/null-deref-1.c: Likewise.
	* c-c++-common/asan/stack-overflow-1.c: Likewise.
	* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
	* c-c++-common/asan/use-after-free-1.c: Likewise.
	* g++.dg/asan/deep-thread-stack-1.C: Likewise.
	* g++.dg/asan/large-func-test-1.C: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198683 138bc75d-0d04-0410-961f-82ee72b054a4
AArch64 testcases for ANDS instruction

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198684 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/sse.md (ssescalarnummask): New mode attribute.
	(PEXTR_MODE, PEXTR_MODEx): New mode iterators.
	(*vec_extract<mode>): Merge from *sse4_1_pextrb_memory and
	*sse4_1_pextrw_memory. Handle register target operands.
	(*vec_extractv8hi_sse2): New pattern.
	(*vec_extractv16qi_zext): Rename from *sse4_1_pextrb_<mode>.
	(*vec_extractv8hi_zext): Rename from *sse2_pextrw_<mode>.
	(*vec_extract<mode>_mem): New insn and split pattern.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198691 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-07  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.c (update_equiv_regs): Add insn having equiv memory even if
	it is not lhs of the insn.
	(setup_reg_equiv): Remove insn having equiv memory which it is not
	lhs of the insn.
	* lra-constraints.c (process_address): Try to improve generation
	code for address base + disp.
	(lra_constraints): Make correct the code for checking insn setting
	up backward equivalence.  Remove insn only if it is in the init
	insn list.
	* lra-eliminations.c (update_reg_eliminate): Change return value.
	(lra_eliminate): Use the result.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198695 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/mips/mips.c (mips_machine_reorg2): Return 0.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198696 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/unordered_base.h: New.
	* include/Makefile.am: Add new profile header.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(__profcxx_inefficient_hash_is_on): New macro.
	* include/profile/unordered_map (std::profile::unordered_map<>):
	Use new _Unordered_profile base class. Use default implementations
	for special functions.
	(std::profile::unordered_multimap<>): Likewise.
	* include/profile/unordered_set (std::profile::unordered_set<>):
	Likewise.
	(std::profile::unordered_multiset<>): Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Fix
	MoveOnly equality operator signature.


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