r229690 - in /trunk: ChangeLog gcc/ChangeLog gc...
aoliva@gcc.gnu.org
aoliva@gcc.gnu.org
Tue Nov 3 00:30:00 GMT 2015
Author: aoliva
Date: Tue Nov 3 00:30:07 2015
New Revision: 229690
URL: https://gcc.gnu.org/viewcvs?rev=229690&root=gcc&view=rev
Log:
[PR68083] don't introduce undefined behavior in ifcombine
The ifcombine pass may move a conditional access to an uninitialized
value before the condition that ensures it is always well-defined,
thus introducing undefined behavior. Stop it from doing so.
for gcc/ChangeLog
PR tree-optimization/68083
* tree-ssa-ifcombine.c: Include tree-ssa.h.
(bb_no_side_effects_p): Test for undefined uses too.
* tree-ssa.c (gimple_uses_undefined_value_p): New.
* tree-ssa.h (gimple_uses_undefined_value_p): Declare.
for gcc/testsuite/ChangeLog
PR tree-optimization/68083
* gcc.dg/torture/pr68083.c: New. From Zhendong Su.
Added:
trunk/gcc/testsuite/gcc.dg/torture/pr68083.c
Modified:
trunk/ChangeLog
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-ifcombine.c
trunk/gcc/tree-ssa.c
trunk/gcc/tree-ssa.h
More information about the Gcc-cvs
mailing list