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