diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-22 17:54:45 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-22 17:54:45 +0000 |
commit | ea06d49f173cafde4039f1d3d42a3d05b09954da (patch) | |
tree | e2a239d938daea1acc289a43961031d9d0933e6b /gcc/cfgexpand.c | |
parent | 243570028d54e06a5c817db9a685f5154af2adf5 (diff) | |
download | gcc-ea06d49f173cafde4039f1d3d42a3d05b09954da.tar.gz |
PR rtl-optimization/28121
* cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
the entry edge.
* gcc.dg/pr28121.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114898 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 941cdad8681..1f43a32d77e 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1580,6 +1580,8 @@ tree_expand_cfg (void) { basic_block bb, init_block; sbitmap blocks; + edge_iterator ei; + edge e; /* Some backends want to know that we are expanding to RTL. */ currently_expanding_to_rtl = 1; @@ -1623,6 +1625,11 @@ tree_expand_cfg (void) init_block = construct_init_block (); + /* Clear EDGE_EXECUTABLE on the entry edge(s). It is cleaned from the + remainining edges in expand_gimple_basic_block. */ + FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs) + e->flags &= ~EDGE_EXECUTABLE; + FOR_BB_BETWEEN (bb, init_block->next_bb, EXIT_BLOCK_PTR, next_bb) bb = expand_gimple_basic_block (bb); |