Commit 2bc63114 by Jeffrey A Law Committed by Jeff Law

ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn in the block…

ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn in the block is more than just a simple conditional...

        * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
        in the block is more than just a simple conditional branch.
        (noce_process_if_block): Similarly.

From-SVN: r34287
parent 71a19881
Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com)
* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
in the block is more than just a simple conditional branch.
(noce_process_if_block): Similarly.
Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com> Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com>
* optabs.c (prepare_float_lib_cmp): Protect *px and *py from * optabs.c (prepare_float_lib_cmp): Protect *px and *py from
......
...@@ -313,6 +313,11 @@ cond_exec_process_if_block (test_bb, then_bb, else_bb, join_bb) ...@@ -313,6 +313,11 @@ cond_exec_process_if_block (test_bb, then_bb, else_bb, join_bb)
if (! test_expr) if (! test_expr)
return FALSE; return FALSE;
/* If the conditional jump is more than just a conditional jump,
then we can not do conditional execution conversion on this block. */
if (!onlyjump_p (test_bb->end))
return FALSE;
/* Collect the bounds of where we're to search. */ /* Collect the bounds of where we're to search. */
then_start = then_bb->head; then_start = then_bb->head;
...@@ -1106,6 +1111,11 @@ noce_process_if_block (test_bb, then_bb, else_bb, join_bb) ...@@ -1106,6 +1111,11 @@ noce_process_if_block (test_bb, then_bb, else_bb, join_bb)
if (! cond) if (! cond)
return FALSE; return FALSE;
/* If the conditional jump is more than just a conditional jump,
then we can not do if-conversion on this block. */
if (! onlyjump_p (jump))
return FALSE;
/* We must be comparing objects whose modes imply the size. */ /* We must be comparing objects whose modes imply the size. */
if (GET_MODE (XEXP (cond, 0)) == BLKmode) if (GET_MODE (XEXP (cond, 0)) == BLKmode)
return FALSE; return FALSE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment