2014-05-06  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2013-05-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57417
	* tree-ssa-sccvn.c (set_ssa_val_to): Compare addresses using
	get_addr_base_and_unit_offset.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210110 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210129 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-07  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2013-08-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58246
	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
	handle the dominance check inside a basic-block.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210141 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57864
	* tree-ssa-pre.c (phi_translate_1): Backport NAME case
	simplification from mainline.  Do not lookup the VN
	value-number here.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210144 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-07  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2013-11-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59334
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
	in previous commit.

	2013-11-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59330
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
	and fix delayed marking of free calls not necessary.

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

	2014-01-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59715
	* tree-cfg.h (split_critical_edges): Declare.
	* tree-cfg.c (split_critical_edges): Export.
	* tree-ssa-sink.c (execute_sink_code): Split critical edges.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210146 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-07  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2013-11-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59334
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
	in previous commit.

	2013-11-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59330
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
	and fix delayed marking of free calls not necessary.

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

	2014-01-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59715
	* tree-cfg.h (split_critical_edges): Declare.
	* tree-cfg.c (split_critical_edges): Export.
	* tree-ssa-sink.c (execute_sink_code): Split critical edges.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210147 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-07  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2013-11-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59164
	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust
	check whether we can create an epilogue loop to reflect the
	cases where we create one.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210154 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-06-27  Jakub Jelinek  <jakub@redhat.com>

	PR target/57623
	* config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
	to match RTL canonicalization.  Swap predicates and
	constraints of operand 1 and 2.

	* gcc.target/i386/bmi2-bzhi-1.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210166 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-06-27  Jakub Jelinek  <jakub@redhat.com>

	PR target/57623
	* config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
	constraints of operand 1 and 2.

	* gcc.target/i386/bmi-bextr-3.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210168 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-07-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/57777
	* config/i386/predicates.md (vsib_address_operand): Disallow
	SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210169 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-08-23  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/58209
	* tree-tailcall.c (find_tail_calls): Give up for pointer result types
	if m or a is non-NULL.

	* gcc.c-torture/execute/pr58209.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210170 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-08-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/58277
	* tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
	after seeing too many stmts with vdef in between dombb and current
	bb, invalidate everything.

	* gcc.c-torture/execute/pr58277-1.c: New test.
	* gcc.c-torture/execute/pr58277-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210171 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-09-09  Jakub Jelinek  <jakub@redhat.com>

	PR c++/58325
	* init.c (build_vec_delete): Call mark_rvalue_use on base.

	* g++.dg/warn/Wunused-var-21.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210172 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-09-10  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/58365
	* cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
	resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
	it differs.

	* gcc.c-torture/execute/pr58365.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210173 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-09-30  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/58564
	* fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
	optimization, punt if sign_bit_p looked through any zero extension.

	* gcc.c-torture/execute/pr58564.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210174 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-11-14  Jakub Jelinek  <jakub@redhat.com>
		    Uros Bizjak  <ubizjak@gmail.com>

	PR target/59101
	* config/i386/i386.md (*anddi_2): Only allow CCZmode if
	operands[2] satisfies_constraint_Z that might have bit 31 set.

	* gcc.c-torture/execute/pr59101.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210176 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59014
	* gcc.c-torture/execute/pr59014-2.c: New test.

	2013-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/59014
	* tree-vrp.c (register_edge_assert_for_1): Don't look
	through conversions from non-integral types or through
	narrowing conversions.

	* gcc.c-torture/execute/pr59014.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210177 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-11-28  Jakub Jelinek  <jakub@redhat.com>

	PR c++/59297
	* semantics.c (finish_omp_atomic): Call finish_expr_stmt
	rather than add_stmt.

	* g++.dg/gomp/pr59297.C: New test.

	2013-05-31  Jason Merrill  <jason@redhat.com>

	PR c++/56930
	* semantics.c (potential_constant_expression_1): Handle OMP_ATOMIC*.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210178 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-12-03  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/59011
	* gimplify.c (nonlocal_vla_vars): New variable.
	(gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
	nonlocal_vla_vars chain.
	(gimplify_body): Call declare_vars on nonlocal_vla_vars chain
	if outer_bind has DECL_INITIAL (current_function_decl) block.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210179 138bc75d-0d04-0410-961f-82ee72b054a4
	Backported from mainline
	2013-10-21  Marek Polacek  <polacek@redhat.com>

	PR middle-end/58809
	* fold-const.c (fold_range_test): Return 0 if the type is not
	an integral type.

	* gcc.dg/gomp/pr58809.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210180 138bc75d-0d04-0410-961f-82ee72b054a4