diff options
author | zlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-15 20:16:22 +0000 |
---|---|---|
committer | zlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-15 20:16:22 +0000 |
commit | 746f9f26f08b0b4839cfe5ac131c404852a185b0 (patch) | |
tree | 1f93777c7ecda37cf370265d01192c7e1d438a05 /gcc/cfganal.c | |
parent | 6d3cf184d7ad1cb92a5fbb84d8dcd0b88f7170e4 (diff) | |
download | gcc-746f9f26f08b0b4839cfe5ac131c404852a185b0.tar.gz |
* cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
flag before setting it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61345 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfganal.c')
-rw-r--r-- | gcc/cfganal.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cfganal.c b/gcc/cfganal.c index a7878178fbd..325a64df1f8 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. */ |