diff options
author | Josef Zlomek <zlomekj@suse.cz> | 2003-01-15 21:16:22 +0100 |
---|---|---|
committer | Josef Zlomek <zlomek@gcc.gnu.org> | 2003-01-15 20:16:22 +0000 |
commit | 6982ae1549bb0e1b0d98d9ee26ea6506c6c024ff (patch) | |
tree | 1f93777c7ecda37cf370265d01192c7e1d438a05 | |
parent | 8c12fc6345f63891dd543ef7b11d459f861b9b96 (diff) | |
download | gcc-6982ae1549bb0e1b0d98d9ee26ea6506c6c024ff.zip gcc-6982ae1549bb0e1b0d98d9ee26ea6506c6c024ff.tar.gz gcc-6982ae1549bb0e1b0d98d9ee26ea6506c6c024ff.tar.bz2 |
cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU flag before setting it.
* cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
flag before setting it.
From-SVN: r61345
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfganal.c | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06387e8..4063e78 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-15 Josef Zlomek <zlomekj@suse.cz> + + * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU + flag before setting it. + 2003-01-15 Roger Sayle <roger@eyesopen.com> * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation diff --git a/gcc/cfganal.c b/gcc/cfganal.c index a787817..325a64d 100644 --- a/gcc/cfganal.c +++ b/gcc/cfganal.c @@ -225,10 +225,14 @@ set_edge_can_fallthru_flag () { edge e; - /* The FALLTHRU edge is also CAN_FALLTHRU edge. */ for (e = bb->succ; e; e = e->succ_next) - if (e->flags & EDGE_FALLTHRU) - e->flags |= EDGE_CAN_FALLTHRU; + { + e->flags &= ~EDGE_CAN_FALLTHRU; + + /* The FALLTHRU edge is also CAN_FALLTHRU edge. */ + if (e->flags & EDGE_FALLTHRU) + e->flags |= EDGE_CAN_FALLTHRU; + } /* If the BB ends with an invertable condjump all (2) edges are CAN_FALLTHRU edges. */ |