diff options
author | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-07 08:10:34 +0000 |
---|---|---|
committer | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-07 08:10:34 +0000 |
commit | 764aef1131596133a7ad3c166a207845b94aa2b9 (patch) | |
tree | 16eccafa75bb37f7b9b96e7f23c0feeb6c8d439b /gcc/ifcvt.c | |
parent | 3dacfcad47a1e6dba0f2e4618f71f7d5310b0ede (diff) | |
download | gcc-764aef1131596133a7ad3c166a207845b94aa2b9.tar.gz |
2011-04-07 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
function.
(old_insns_match_p): Change return type. Replace return false/true with
return dir_none/dir_both. Use can_replace_by.
(flow_find_cross_jump): Add dir_p parameter. Init replacement direction
from dir_p. Register replacement direction in dir, last_dir and
afterlast_dir. Handle new return type of old_insns_match_p using
merge_dir. Return replacement direction in dir_p.
(flow_find_head_matching_sequence, outgoing_edges_match): Handle new
return type of old_insns_match_p.
(try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
* ifcvt.c ( cond_exec_process_if_block): Add argument to call to
flow_find_cross_jump.
* basic-block.h (enum replace_direction): New type.
(flow_find_cross_jump): Add parameter to declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172090 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r-- | gcc/ifcvt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 3e2679923d4..b34aee27379 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -481,7 +481,8 @@ cond_exec_process_if_block (ce_if_block_t * ce_info, /* Look for matching sequences at the head and tail of the two blocks, and limit the range of insns to be converted if possible. */ n_matching = flow_find_cross_jump (then_bb, else_bb, - &then_first_tail, &else_first_tail); + &then_first_tail, &else_first_tail, + NULL); if (then_first_tail == BB_HEAD (then_bb)) then_start = then_end = NULL_RTX; if (else_first_tail == BB_HEAD (else_bb)) |