From e7b7e689eb4caad57d9d0c9de6795c0addbbd1c5 Mon Sep 17 00:00:00 2001 From: bje Date: Tue, 20 Jul 2004 05:31:02 +0000 Subject: [PATCH] * patch up a few backends * config/ia64/ia64.c (ia64_expand_prologue): Iterate over edge vector instead of traversing a linked list. * config/rs6000/rs6000.c (rs6000_emit_prologue): Use EDGE_COUNT to count elements rather than testing the basic_block->pred member. * config/frv/frv.c (frv_ifcvt_modify_tests): Use edge accessor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/edge-vector-branch@84943 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.vec | 8 ++++++++ gcc/config/frv/frv.c | 2 +- gcc/config/ia64/ia64.c | 3 ++- gcc/config/rs6000/rs6000.c | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog.vec b/gcc/ChangeLog.vec index 4217b67e6dd..c63fa44c881 100644 --- a/gcc/ChangeLog.vec +++ b/gcc/ChangeLog.vec @@ -1,4 +1,12 @@ 2004-07-20 Ben Elliston + * config/ia64/ia64.c (ia64_expand_prologue): Iterate over edge + vector instead of traversing a linked list. + * config/rs6000/rs6000.c (rs6000_emit_prologue): Use EDGE_COUNT to + count elements rather than testing the basic_block->pred member. + * config/frv/frv.c (frv_ifcvt_modify_tests): Use edge accessor. + +2004-07-20 Ben Elliston + * Ben to add a large ChangeLog entry soon! diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c index d9355408110..7dc69a946ad 100644 --- a/gcc/config/frv/frv.c +++ b/gcc/config/frv/frv.c @@ -6720,7 +6720,7 @@ frv_ifcvt_modify_tests (ce_if_block_t *ce_info, rtx *p_true, rtx *p_false) while (multiple_test_bb != test_bb) { bb[num_bb++] = multiple_test_bb; - multiple_test_bb = multiple_test_bb->pred->src; + multiple_test_bb = EDGE_0 (multiple_test_bb->pred)->src; } } diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index bee9720d443..f380ff3f855 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -2618,8 +2618,9 @@ ia64_expand_prologue (void) if (optimize) { edge e; + unsigned ix; - for (e = EXIT_BLOCK_PTR->pred; e ; e = e->pred_next) + FOR_EACH_EDGE (e, EXIT_BLOCK_PTR->pred, ix) if ((e->flags & EDGE_FAKE) == 0 && (e->flags & EDGE_FALLTHRU) != 0) break; diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index e81e1b37900..eaa4cc66105 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -12936,7 +12936,7 @@ rs6000_emit_prologue (void) && DEFAULT_ABI != ABI_AIX && flag_pic && ! info->lr_save_p - && EXIT_BLOCK_PTR->pred != NULL); + && EDGE_COUNT (EXIT_BLOCK_PTR->pred) > 0) if (save_LR_around_toc_setup) { rtx lr = gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM); -- 2.11.4.GIT