cfgcleanup.c (try_optimize_cfg): Do not remove label with LABEL_PRESERVE_P flag set.

gcc/
	* cfgcleanup.c (try_optimize_cfg): Do not remove label
	with LABEL_PRESERVE_P flag set.

From-SVN: r215498
This commit is contained in:
Ilya Enkovich 2014-09-23 08:26:34 +00:00 committed by Kirill Yukhin
parent a547602430
commit 6c979aa1bf
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-09-23 Ilya Enkovich <ilya.enkovich@intel.com>
* cfgcleanup.c (try_optimize_cfg): Do not remove label
with LABEL_PRESERVE_P flag set.
2014-09-23 Alexander Ivchenko <alexander.ivchenko@intel.com>
Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Anna Tikhonova <anna.tikhonova@intel.com>

View File

@ -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