diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2014-09-23 08:26:34 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2014-09-23 08:26:34 +0000 |
commit | 6c979aa1bf4cb88c7934cea3453802d5281f7dff (patch) | |
tree | ad08b7b024a9e656193960bf75e4cc6a1408a0e4 | |
parent | a547602430a7cdd78bfad557711532a795810b00 (diff) | |
download | gcc-6c979aa1bf4cb88c7934cea3453802d5281f7dff.zip gcc-6c979aa1bf4cb88c7934cea3453802d5281f7dff.tar.gz gcc-6c979aa1bf4cb88c7934cea3453802d5281f7dff.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgcleanup.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca76b17..61de16a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index a008168..9325ea0 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 |