mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 22:01:20 +08:00
tree-ssa-dom.c (dom_opt_finalize_block): Do not call thread_across_edge for any abnormal edges.
* tree-ssa-dom.c (dom_opt_finalize_block): Do not call thread_across_edge for any abnormal edges. * gcc.c-torture/compile/20050510-1.c: New test. From-SVN: r99536
This commit is contained in:
parent
0cb757cc06
commit
5fefbc7977
@ -1,3 +1,8 @@
|
||||
2005-05-10 Jeff Law <law@redhat.com>
|
||||
|
||||
* tree-ssa-dom.c (dom_opt_finalize_block): Do not call
|
||||
thread_across_edge for any abnormal edges.
|
||||
|
||||
2005-05-10 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/ia64/ia64.c (ia64_expand_atomic_op): New.
|
||||
|
@ -1,3 +1,7 @@
|
||||
2005-05-10 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
* gcc.c-torture/compile/20050510-1.c: New test.
|
||||
|
||||
2005-05-10 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* gcc.dg/arm-vfp1.c: Remove test for fnegs.
|
||||
|
12
gcc/testsuite/gcc.c-torture/compile/20050510-1.c
Normal file
12
gcc/testsuite/gcc.c-torture/compile/20050510-1.c
Normal file
@ -0,0 +1,12 @@
|
||||
void bar (int k)
|
||||
{
|
||||
void *label = (k) ? &&x : &&y;
|
||||
if (k)
|
||||
goto *label;
|
||||
|
||||
x:
|
||||
if (k)
|
||||
dont_remove ();
|
||||
y:
|
||||
return;
|
||||
}
|
@ -985,18 +985,6 @@ dom_opt_finalize_block (struct dom_walk_data *walk_data, basic_block bb)
|
||||
{
|
||||
thread_across_edge (walk_data, single_succ_edge (bb));
|
||||
}
|
||||
else if ((last = last_stmt (bb))
|
||||
&& TREE_CODE (last) == GOTO_EXPR
|
||||
&& TREE_CODE (TREE_OPERAND (last, 0)) == SSA_NAME)
|
||||
{
|
||||
edge_iterator ei;
|
||||
edge e;
|
||||
|
||||
FOR_EACH_EDGE (e, ei, bb->succs)
|
||||
{
|
||||
thread_across_edge (walk_data, e);
|
||||
}
|
||||
}
|
||||
else if ((last = last_stmt (bb))
|
||||
&& TREE_CODE (last) == COND_EXPR
|
||||
&& (COMPARISON_CLASS_P (COND_EXPR_COND (last))
|
||||
|
Loading…
x
Reference in New Issue
Block a user