/* The duplicate of the header is the new preheader of the loop. Ensure
that it is placed correctly in the loop hierarchy. */
- loop->copy = loop_outer (loop);
+ set_loop_copy (loop, loop_outer (loop));
thread_block (header, false);
- loop->copy = NULL;
+ set_loop_copy (loop, NULL);
new_preheader = e->dest;
/* Create the new latch block. This is always necessary, as the latch
mark_threaded_blocks (threaded_blocks);
- if (current_loops)
- FOR_EACH_LOOP (li, loop, LI_FROM_INNERMOST)
- loop->copy = NULL;
+ initialize_original_copy_tables ();
/* First perform the threading requests that do not affect
loop structure. */
fprintf (dump_file, "\nJumps threaded: %lu\n",
thread_stats.num_threaded_edges);
+ free_original_copy_tables ();
+
BITMAP_FREE (threaded_blocks);
threaded_blocks = NULL;
VEC_free (edge, heap, threaded_edges);