summaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-23 08:26:34 +0000
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-23 08:26:34 +0000
commit0d0f5dc54f1d0bb984361a48d4a525621b8052c5 (patch)
treead08b7b024a9e656193960bf75e4cc6a1408a0e4 /gcc/cfgcleanup.c
parent027c023ad0a4f0a43634da8ed7e933eb36471764 (diff)
downloadgcc-0d0f5dc54f1d0bb984361a48d4a525621b8052c5.tar.gz
gcc/
* cfgcleanup.c (try_optimize_cfg): Do not remove label with LABEL_PRESERVE_P flag set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index a0081688753..9325ea07708 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -2701,6 +2701,7 @@ try_optimize_cfg (int mode)
&& (single_pred_edge (b)->flags & EDGE_FALLTHRU)
&& !(single_pred_edge (b)->flags & EDGE_COMPLEX)
&& LABEL_P (BB_HEAD (b))
+ && !LABEL_PRESERVE_P (BB_HEAD (b))
/* If the previous block ends with a branch to this
block, we can't delete the label. Normally this
is a condjump that is yet to be simplified, but