diff options
author | Ben Elliston <bje@au.ibm.com> | 2004-09-30 23:40:15 +0000 |
---|---|---|
committer | Ben Elliston <bje@gcc.gnu.org> | 2004-10-01 09:40:15 +1000 |
commit | dc4f06d9728b0df11ea4f4d8b3a6cb07466e5545 (patch) | |
tree | f764cf31cd0c1686457efea2c52d1a7ca3fe7755 /gcc | |
parent | 9ec819d49ca815551b3fd8cd4e1202e898bac8d5 (diff) | |
download | gcc-dc4f06d9728b0df11ea4f4d8b3a6cb07466e5545.zip gcc-dc4f06d9728b0df11ea4f4d8b3a6cb07466e5545.tar.gz gcc-dc4f06d9728b0df11ea4f4d8b3a6cb07466e5545.tar.bz2 |
re PR bootstrap/17761 (sh-elf doesn't build after merge from edge-vector-branch)
PR bootstrap/17761
* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
FOR_EACH_EDGE macros.
From-SVN: r88368
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lcm.c | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bac245f..b91dbef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-09-30 Ben Elliston <bje@au.ibm.com> + + PR bootstrap/17761 + * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and + FOR_EACH_EDGE macros. + 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk> * c-tree.h (readonly_error): Remove. @@ -1025,17 +1025,18 @@ optimize_mode_switching (FILE *file) exit block, so that we can note that there NORMAL_MODE is supplied / required. */ edge eg; - post_entry = split_edge (ENTRY_BLOCK_PTR->succ); + edge_iterator ei; + post_entry = split_edge (EDGE_SUCC (ENTRY_BLOCK_PTR, 0)); /* The only non-call predecessor at this stage is a block with a fallthrough edge; there can be at most one, but there could be none at all, e.g. when exit is called. */ - for (pre_exit = 0, eg = EXIT_BLOCK_PTR->pred; eg; eg = eg->pred_next) + pre_exit = 0; + FOR_EACH_EDGE (eg, ei, EXIT_BLOCK_PTR->preds) if (eg->flags & EDGE_FALLTHRU) { regset live_at_end = eg->src->global_live_at_end; - if (pre_exit) - abort (); + gcc_assert (!pre_exit); pre_exit = split_edge (eg); COPY_REG_SET (pre_exit->global_live_at_start, live_at_end); COPY_REG_SET (pre_exit->global_live_at_end, live_at_end); |