r245882 - in /trunk/gcc: ChangeLog gimple-fold....

jakub@gcc.gnu.org jakub@gcc.gnu.org
Fri Mar 3 19:32:00 GMT 2017


Author: jakub
Date: Fri Mar  3 19:32:01 2017
New Revision: 245882

URL: https://gcc.gnu.org/viewcvs?rev=245882&root=gcc&view=rev
Log:
	PR middle-end/79805
	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
	ECF_NOTHROW.
	* gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
	gimple_call_nothrow_p flag based on whether original builtin can throw.
	If it can, emit following stmts on the fallthrough edge.
	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
	don't create new bb if inserting just debug stmts on the edge, try to
	insert them on the fallthru bb or just reset debug stmts.

	* g++.dg/opt/pr79805.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/opt/pr79805.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-fold.c
    trunk/gcc/internal-fn.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-ccp.c



More information about the Gcc-cvs mailing list