summaryrefslogtreecommitdiff
path: root/gcc/cfganal.c
diff options
context:
space:
mode:
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-15 20:16:22 +0000
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-15 20:16:22 +0000
commit746f9f26f08b0b4839cfe5ac131c404852a185b0 (patch)
tree1f93777c7ecda37cf370265d01192c7e1d438a05 /gcc/cfganal.c
parent6d3cf184d7ad1cb92a5fbb84d8dcd0b88f7170e4 (diff)
downloadgcc-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.c10
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. */