summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 2c3d1426c18..d03056b9bd3 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see
#include "coretypes.h"
#include "tm.h"
#include "rtl-error.h"
+#include "bitvec.h"
#include "hash-set.h"
#include "machmode.h"
#include "vec.h"
@@ -6109,17 +6110,13 @@ epilogue_done:
if (inserted)
{
- sbitmap blocks;
-
commit_edge_insertions ();
/* Look for basic blocks within the prologue insns. */
- blocks = sbitmap_alloc (last_basic_block_for_fn (cfun));
- bitmap_clear (blocks);
- bitmap_set_bit (blocks, entry_edge->dest->index);
- bitmap_set_bit (blocks, orig_entry_edge->dest->index);
+ stack_bitvec blocks (last_basic_block_for_fn (cfun));
+ blocks[entry_edge->dest->index] = true;
+ blocks[orig_entry_edge->dest->index] = true;
find_many_sub_basic_blocks (blocks);
- sbitmap_free (blocks);
/* The epilogue insns we inserted may cause the exit edge to no longer
be fallthru. */