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

	PR tree-optimization/61964
	* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
        by structural equality.

	* gcc.dg/torture/pr61964.c: New testcase.
	* gcc.dg/pr51879-18.c: XFAIL.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213404 138bc75d-0d04-0410-961f-82ee72b054a4
	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
	(struct gomp_taskwait): New type.
	(struct gomp_task): Add taskwait and parent_depends_on, remove
	in_taskwait and taskwait_sem fields.
	(gomp_finish_task): Don't destroy taskwait_sem.
	* task.c (gomp_init_task): Don't init in_taskwait, instead init
	taskwait and parent_depends_on.
	(GOMP_task): For if (0) tasks with depend clause that depend on
	earlier tasks don't defer them, instead call
	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
	Initialize redundant_out field, for redundant out entries just
	move them at the end of linked list instead of removing them
	completely, and set redundant_out flag instead of redundant.
	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
	that task.
	(gomp_task_run_post_handle_dependers): If parent is in
	gomp_task_maybe_wait_for_dependencies and newly runnable task
	is not parent_depends_on, queue it in parent->children linked
	list after all runnable tasks with parent_depends_on set.
	Adjust for addition of taskwait indirection.
	(gomp_task_run_post_remove_parent): If parent is in
	gomp_task_maybe_wait_for_dependencies and task to be removed
	is parent_depends_on, decrement n_depend and if needed awake
	parent.  Adjust for addition of taskwait indirection.
	(GOMP_taskwait): Adjust for addition of taskwait indirection.
	(gomp_task_maybe_wait_for_dependencies): New function.
	* testsuite/libgomp.c/depend-5.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213409 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    Backport from mainline
    2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61375
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if
      symbolic number cannot be represented in an unsigned HOST_WIDE_INT.
    (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8.

    gcc/testsuite/
    PR tree-optimization/61375
    * gcc.c-torture/execute/pr61375-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213436 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/61455

gcc/c-family/
	* array-notation-common.c (extract_array_notation_exprs): Handling
	of DECL_EXPR added.

gcc/c/
	* c-array-notation.c (expand_array_notations): Handling
	of DECL_EXPR added.

gcc/cp/
	* cp-array-notation.c (expand_array_notation_exprs): Handling of
	DECL_EXPR improved. Changed handling for INIT_EXPR.

gcc/testsuite/
	* c-c++-common/cilk-plus/AN/pr61455.c: New test.
	* c-c++-common/cilk-plus/AN/pr61455-2.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213492 138bc75d-0d04-0410-961f-82ee72b054a4
	PR other/61963

gcc/cp/
	* parser.c (cp_parser_array_notation): Added check for array_type.

gcc/testsuite/
	* c-c++-common/cilk-plus/AN/pr61963.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213493 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/
	* cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint
	in error output.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213496 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-01  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (remove_inheritance_pseudos): Process
	destination pseudo too.



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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213509 138bc75d-0d04-0410-961f-82ee72b054a4
	PR other/61895

runtime: Ignore small argv[0] file for backtrace.

Reportedly in some cases Docker starts processes with argv[0]
pointing to an empty file.  That would cause libgo to pass
that empty file to libbacktrace, which would then fail to do
any backtraces.  Everything should work fine if libbacktrace
falls back to /proc/self/exe.

This patch to libgo works around the problem by ignoring
argv[0] if it is a small file, or if stat fails.  This is not
a perfect fix but it's an unusual problem.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@213512 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote-tracking branch 'gnu/gcc-4_9-branch' into 4.9.2