re PR lto/52178 (Ada bootstrap failure in LTO mode)
PR lto/52178 * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P. (iterative_hash_canonical_type): Likewise. * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all the dead edges. From-SVN: r184246
This commit is contained in:
parent
e73bea1ceb
commit
aa47290b04
@ -1,4 +1,12 @@
|
||||
2012-02-15 Bernd Schmidt <bernds@codesourcery.com>
|
||||
2012-02-14 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR lto/52178
|
||||
* gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
|
||||
(iterative_hash_canonical_type): Likewise.
|
||||
* tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
|
||||
the dead edges.
|
||||
|
||||
2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
|
||||
|
||||
* haifa-sched.c (prune_ready_list): Ensure that if there is a
|
||||
sched-group insn, it either remains alone or the entire list is
|
||||
|
@ -4140,9 +4140,7 @@ iterative_hash_gimple_type (tree type, hashval_t val,
|
||||
v = iterative_hash_hashval_t (na, v);
|
||||
}
|
||||
|
||||
if (TREE_CODE (type) == RECORD_TYPE
|
||||
|| TREE_CODE (type) == UNION_TYPE
|
||||
|| TREE_CODE (type) == QUAL_UNION_TYPE)
|
||||
if (RECORD_OR_UNION_TYPE_P (type))
|
||||
{
|
||||
unsigned nf;
|
||||
tree f;
|
||||
@ -4373,9 +4371,7 @@ iterative_hash_canonical_type (tree type, hashval_t val)
|
||||
v = iterative_hash_hashval_t (na, v);
|
||||
}
|
||||
|
||||
if (TREE_CODE (type) == RECORD_TYPE
|
||||
|| TREE_CODE (type) == UNION_TYPE
|
||||
|| TREE_CODE (type) == QUAL_UNION_TYPE)
|
||||
if (RECORD_OR_UNION_TYPE_P (type))
|
||||
{
|
||||
unsigned nf;
|
||||
tree f;
|
||||
|
@ -4836,6 +4836,9 @@ init_pre (bool do_fre)
|
||||
static void
|
||||
fini_pre (bool do_fre)
|
||||
{
|
||||
bool do_eh_cleanup = !bitmap_empty_p (need_eh_cleanup);
|
||||
bool do_ab_cleanup = !bitmap_empty_p (need_ab_cleanup);
|
||||
|
||||
free (postorder);
|
||||
VEC_free (bitmap_set_t, heap, value_expressions);
|
||||
BITMAP_FREE (inserted_exprs);
|
||||
@ -4851,22 +4854,18 @@ fini_pre (bool do_fre)
|
||||
|
||||
free_dominance_info (CDI_POST_DOMINATORS);
|
||||
|
||||
if (!bitmap_empty_p (need_eh_cleanup))
|
||||
{
|
||||
gimple_purge_all_dead_eh_edges (need_eh_cleanup);
|
||||
cleanup_tree_cfg ();
|
||||
}
|
||||
if (do_eh_cleanup)
|
||||
gimple_purge_all_dead_eh_edges (need_eh_cleanup);
|
||||
|
||||
if (do_ab_cleanup)
|
||||
gimple_purge_all_dead_abnormal_call_edges (need_ab_cleanup);
|
||||
|
||||
BITMAP_FREE (need_eh_cleanup);
|
||||
|
||||
if (!bitmap_empty_p (need_ab_cleanup))
|
||||
{
|
||||
gimple_purge_all_dead_abnormal_call_edges (need_ab_cleanup);
|
||||
cleanup_tree_cfg ();
|
||||
}
|
||||
|
||||
BITMAP_FREE (need_ab_cleanup);
|
||||
|
||||
if (do_eh_cleanup || do_ab_cleanup)
|
||||
cleanup_tree_cfg ();
|
||||
|
||||
if (!do_fre)
|
||||
loop_optimizer_finalize ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user