re PR tree-optimization/46590 (long compile time with -O2 and many loops)
PR tree-optimization/46590 * tree-cfg.c (gimple_duplicate_sese_region): Don't update SSA web here ... * tree-ssa-loop-ch.c (copy_loop_headers): ... but here. From-SVN: r190897
This commit is contained in:
parent
1d85ac834e
commit
197ce79334
|
@ -1,3 +1,10 @@
|
|||
2012-09-03 Michael Matz <matz@suse.de>
|
||||
|
||||
PR tree-optimization/46590
|
||||
* tree-cfg.c (gimple_duplicate_sese_region): Don't update
|
||||
SSA web here ...
|
||||
* tree-ssa-loop-ch.c (copy_loop_headers): ... but here.
|
||||
|
||||
2012-09-03 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* doc/invoke.texi: Fix numerous typos and punctuation/grammatical
|
||||
|
|
|
@ -5530,9 +5530,10 @@ add_phi_args_after_copy (basic_block *region_copy, unsigned n_region,
|
|||
important exit edge EXIT. By important we mean that no SSA name defined
|
||||
inside region is live over the other exit edges of the region. All entry
|
||||
edges to the region must go to ENTRY->dest. The edge ENTRY is redirected
|
||||
to the duplicate of the region. SSA form, dominance and loop information
|
||||
is updated. The new basic blocks are stored to REGION_COPY in the same
|
||||
order as they had in REGION, provided that REGION_COPY is not NULL.
|
||||
to the duplicate of the region. Dominance and loop information is
|
||||
updated, but not the SSA web. The new basic blocks are stored to
|
||||
REGION_COPY in the same order as they had in REGION, provided that
|
||||
REGION_COPY is not NULL.
|
||||
The function returns false if it is unable to copy the region,
|
||||
true otherwise. */
|
||||
|
||||
|
@ -5593,8 +5594,6 @@ gimple_duplicate_sese_region (edge entry, edge exit,
|
|||
free_region_copy = true;
|
||||
}
|
||||
|
||||
gcc_assert (!need_ssa_update_p (cfun));
|
||||
|
||||
/* Record blocks outside the region that are dominated by something
|
||||
inside. */
|
||||
doms = NULL;
|
||||
|
@ -5663,9 +5662,6 @@ gimple_duplicate_sese_region (edge entry, edge exit,
|
|||
/* Add the other PHI node arguments. */
|
||||
add_phi_args_after_copy (region_copy, n_region, NULL);
|
||||
|
||||
/* Update the SSA web. */
|
||||
update_ssa (TODO_update_ssa);
|
||||
|
||||
if (free_region_copy)
|
||||
free (region_copy);
|
||||
|
||||
|
|
|
@ -241,6 +241,7 @@ copy_loop_headers (void)
|
|||
split_edge (loop_latch_edge (loop));
|
||||
}
|
||||
|
||||
update_ssa (TODO_update_ssa);
|
||||
free (bbs);
|
||||
free (copied_bbs);
|
||||
|
||||
|
|
Loading…
Reference in New Issue