2017-03-21 Richard Biener <rguenther@suse.de>
commitbcae17d7f92c032158e40766737d650e7f44e149
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Mar 2017 11:43:45 +0000 (21 11:43 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Mar 2017 11:43:45 +0000 (21 11:43 +0000)
treeb7ff424f8729b56a0c9c67b0f850a1672a1c2b49
parent7d9dfee06cdabc3559b63b5d5ca345f83a613cef
2017-03-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80032
* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
if set force the cleanup to happen unconditionally.
(gimplify_target_expr): Push inserted clobbers with force_uncond
to avoid them being removed by control-dependent DCE.

* g++.dg/opt/pr80032.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246314 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr80032.C [new file with mode: 0644]