diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-11-03 00:30:07 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-11-03 00:30:07 +0000 |
commit | 4883b25095606e230d3d2a2b328f9609020369b9 (patch) | |
tree | 97886b9d02ac0ccd0177983b325624a1c00e5f03 /ChangeLog | |
parent | 3e5c6b624e87520e1758bfc731f6e4ebd2c77844 (diff) | |
download | gcc-4883b25095606e230d3d2a2b328f9609020369b9.tar.gz |
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229690 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 9ff868fcb58..a82a792435b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-11-02 Alexandre Oliva <aoliva@redhat.com> + + 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. + 2015-10-23 Steve Ellcey <sellcey@imgtec.com> * MAINTAINERS: Update email address. |